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 账号登录

相关推荐
Ribou2 小时前
不同环境(跨集群和同集群)下的Jenkins与Kubernetes集群连接配置
kubernetes·jenkins
神秘面具男033 小时前
NFS 服务器 iSCSI 服务器
运维·服务器
iconball3 小时前
个人用云计算学习笔记 --17(DNS 服务器)
linux·运维·笔记·学习·云计算
iconball3 小时前
个人用云计算学习笔记 --16(DHCP 服务器)
linux·运维·笔记·学习·云计算
cpsvps3 小时前
容器主机名解析在香港服务器内部网络的调试方案
运维·服务器·网络
Lin_Aries_04213 小时前
部署 Jenkins 服务器
运维·服务器·docker·容器·云计算·jenkins
专注VB编程开发20年3 小时前
C#,VB.net有什么类库可以内存解压rar中某个子文件
运维·服务器·zip·rar·解压·sharpcompress·sevenzipsharp‌
迷迷的k3 小时前
云服务器 + Jenkins 实现项目自动化部署与上线
java·运维·自动化·jenkins
杨云龙UP3 小时前
CentOS 7上离线部署MySQL 8.0.X操作指南(二进制压缩包部署+独立目录部署,不在自动默认路径配置下安装)
linux·运维·服务器·mysql·centos