CentOS7搭建ELK日志分析系统

原文链接

一、CentOS7在线安装 Elasticsearch 8.17.0 并进行配置

1、安装依赖
1.1 安装 Java

Elasticsearch 需要 Java 运行环境。推荐使用 OpenJDK 11。

复制代码
sudo yum install java-11-openjdk-devel -y
1.2 导入 Elasticsearch GPG 密钥
复制代码
sudo rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch
1.3 添加 Elasticsearch 仓库

创建并编辑仓库配置文件 /etc/yum.repos.d/elasticsearch.repo:

复制代码
sudo vi /etc/yum.repos.d/elasticsearch.repo

添加以下内容:

复制代码
[elasticsearch]
name=Elasticsearch repository for 8.x packages
baseurl=https://artifacts.elastic.co/packages/8.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md
2、安装 Elasticsearch 8.17.0

使用 yum 安装 Elasticsearch:

复制代码
sudo yum install elasticsearch-8.17.0
3、配置 Elasticsearch
3.1 配置 Elasticsearch

编辑 Elasticsearch 配置文件 /etc/elasticsearch/elasticsearch.yml:

复制代码
sudo vi /etc/elasticsearch/elasticsearch.yml

修改或添加以下配置项:

复制代码
# 集群名称
cluster.name: my-application
# 节点名称
node.name: node-1
# 数据目录
path.data: /var/lib/elasticsearch
# 日志目录
path.logs: /var/log/elasticsearch
# 网络绑定地址
network.host: 0.0.0.0
# HTTP 端口
http.port: 9200
# 禁用 HTTPS
xpack.security.http.ssl:
  enabled: false

注意:修改/var/lib/elasticsearch 和/var/log/elasticsearch可能会启动报错。

3.2 配置 JVM 内存大小

编辑 JVM 配置文件 /etc/elasticsearch/jvm.options.d/jvm.options(如果该目录下没有配置文件,则编辑 /etc/elasticsearch/jvm.options):

复制代码
sudo vi /etc/elasticsearch/jvm.options

找到并修改以下内容,以配置内存大小(例如:将其设置为 4GB):

复制代码
-Xms4g
-Xmx4g

-Xms 和 -Xmx 分别设置最小和最大堆内存大小。建议这两个值设置相同。

4、启动并启用 Elasticsearch

启动 Elasticsearch 服务并设置为开机启动:

复制代码
sudo systemctl daemon-reload
sudo systemctl start elasticsearch
sudo systemctl enable elasticsearch
5、设置 Elasticsearch 用户密码

Elasticsearch 8.x 默认启用了安全功能。启动后需要为默认用户(如 elastic 用户)设置密码:

复制代码
/usr/share/elasticsearch/bin/elasticsearch-reset-password -u elastic -i

输入您希望设置的密码(例如:65218701)。

6、验证 Elasticsearch 安装

通过以下命令验证 Elasticsearch 是否已成功安装和配置:

复制代码
curl -u elastic:slsakajka87 -X GET "http://localhost:9200/"

如果配置正确,您将看到 Elasticsearch 的版本信息。

7、配置防火墙

确保防火墙允许 Elasticsearch 的默认端口 9200:

复制代码
sudo firewall-cmd --zone=public --add-port=9200/tcp --permanent
sudo firewall-cmd --reload
8、测试 Elasticsearch

您可以通过浏览器访问 http://<your-server-ip>:9200,使用 elastic 用户和您设置的密码 123456 进行访问。如果一切正常,您将看到 Elasticsearch 的欢迎页面和版本信息。

二、Centos7 搭建logstash

官网:https://www.elastic.co/cn/downloads/logstash

下载并安装公共签名密钥:

复制代码
sudo rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch

创建一个名为 /etc/yum.repos.d/logstash.repo 的文件,并添加以下内容:

复制代码
[logstash-8.x]
name=Elastic repository for 8.x packages
baseurl=https://artifacts.elastic.co/packages/8.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md

安装logstash

复制代码
sudo yum install logstash

启动logstash

复制代码
systemctl start logstash

新增配置

复制代码
cd /etc/logstash/conf.d
vim logstash-elasticsearch.conf

内容:

复制代码
input {
    stdin {}
}
output {
    elasticsearch {
        hosts => '192.168.1.36:9200'
    }
    stdout {
        codec => rubydebug
    }
}

指定配置文件启动

复制代码
/usr/share/logstash/bin/logstash -f /etc/logstash/conf.d/logstash-elasticsearch.conf

三、CentOS 7 上安装 Kibana

官网:https://www.elastic.co/cn/downloads/kibana

1、安装 Java(如果尚未安装)

复制代码
sudo yum install java-1.8.0-openjdk

2、添加 Elasticsearch 仓库(如果安装 Elasticsearch 时已添加可跳过)

创建一个名为 /etc/yum.repos.d/elasticsearch.repo 的文件,并添加以下内容:

复制代码
   [elasticsearch-8.x]
   name=Elasticsearch repository for 8.x packages
   baseurl=https://artifacts.elastic.co/packages/8.x/yum
   gpgcheck=1
   gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
   enabled=1
   autorefresh=1
   type=rpm-md

注意,这里假设你要安装与 Elasticsearch 8.x 版本兼容的 Kibana,你可以根据实际需求修改版本号。

3、安装 Kibana

复制代码
sudo yum install kibana

4、配置 Kibana

主要配置文件是 /etc/kibana/kibana.yml一些重要的配置选项包括:

配置连接到 Elasticsearch:

复制代码
elasticsearch.hosts: ["http://localhost:9200"]
server.port: 5601
server.host: "0.0.0.0"
i18n.locale: "zh-CN"  # 显示中文
# 不配置则不需要密码
elasticsearch.username: "elastic"  #如果ES有配置用户则这里需要配置用户密码,elastic为默认账号,不可修改
elasticsearch.password: "65218701" #自定义密码

5、启动 Kibana

复制代码
sudo systemctl start kibana

设置开机自启动:

复制代码
sudo systemctl enable kibana

6、测试安装

打开浏览器,输入 http://localhost:5601(如果未更改默认端口)。

如果安装成功,你将看到 Kibana 的界面。

注意: kibana启动成功,但浏览器访问被拒绝,阿里云https://developer.aliyun.com/article/1158125解释说是不能使用ES默认用户"elastic",重置kibana密码并重新设置

复制代码
/usr/share/elasticsearch/bin/elasticsearch-reset-password -u kibana -i
复制代码
elasticsearch.hosts: ["http://localhost:9200"]
server.port: 5601
server.host: "0.0.0.0"
i18n.locale: "zh-CN"  # 显示中文
# 不配置则不需要密码
elasticsearch.username: "kibana"  #如果ES有配置用户则这里需要配置用户密码,elastic为默认账号,不可修改
elasticsearch.password: "XXXXXX" #自定义密码

使用kibana 账号登录kibana 会失败,需要使用elastic 账号登录

相关推荐
阿里云云原生15 小时前
深入内核:拆解 OpenTelemetry eBPF 探针如何优雅地“透视”多语言微服务?
云原生
大树8815 小时前
金刚石散热越强,管路越先见顶
大数据·运维·服务器·人工智能·ai
摇滚侠15 小时前
Linux CentOS7 rpm 安装 MySQL 5.7
linux·运维·mysql
大志哥12315 小时前
ES和Logstash日志链路系统上线后遭遇切片爆炸(解决)
大数据·elasticsearch
霸道流氓气质16 小时前
领域驱动设计(DDD)在 Spring Boot 微服务中的实践指南
运维·spring boot·微服务
Inhand陈工17 小时前
基于台达PLC与映翰通IG502的智慧水产养殖精准投喂与远程运维解决方案
运维·人工智能·物联网·阿里云·信息与通信
酣大智17 小时前
ARP代理--工作原理
运维·网络·arp·arp代理
shushangyun_17 小时前
2026年快消品B2B系统推荐:支持终端门店订货、促销政策自动化的工具?
java·运维·网络·数据库·人工智能·spring·自动化
TableRow18 小时前
参数化搜索的实现原理:从多维索引到查询优化
elasticsearch·全文检索
施努卡机器视觉18 小时前
SNK施努卡侧滑门锁上滑轮总成自动化装配线,从零件到组件,全流程精密制造方案
运维·自动化·制造