ELK Stack 安装教程,RHEL及衍生系统。
本文最后更新于:2023年5月8日 晚上
介绍
“ELK”是三个开源项目的首字母缩写,这三个项目分别是:Elasticsearch、Logstash 和 Kibana。Elasticsearch 是一个搜索和分析引擎。Logstash 是服务器端数据处理管道,能够同时从多个来源采集数据,转换数据,然后将数据发送到诸如 Elasticsearch 等“存储库”中。Kibana 则可以让用户在 Elasticsearch 中使用图形和图表对数据进行可视化。
目前最新的名字叫 Elastic Stack 是 ELK Stack 的更新换代产品。(增加了各种Beats)
注意:本文章主要用于syslog类型的日志收集,取消ES的加密访问是为了方便接入frostmourne进行日志告警。
安装环境
系统: AlmaLinux 9 (关闭SE Linux)
Java:OpenJDK 19 (从RPM 8.5版本开始使用内置19版本)
浏览器:Firefox、Chrome、Safari、Edge(使用最新版)
软件版本,使用ELK 8.5+
也适用于其他RHEL8-9版本衍生版系统:如Centos Stream、Rocky Linux等。
兼容性查询:https://www.elastic.co/cn/support/matrix
PS: 参考 https://www.skynemo.cn/archives/base-on-centos79-install-elasticsearch81-standalone-and-config#
官网文档:https://www.elastic.co/guide/en/elasticsearch/reference/master/rpm.html
官网下载地址
Download Elasticsearch | Elastic
下载RPM包
使用清华大学镜像源进行安装
1 |
|
#创建elasticsearch.repo 至 /etc/yum.repos.d/中,注意安装前检查SELinux是否关闭。
#注意:关闭了GPG认证
PS: 使用 RPM |安装 Elasticsearch弹性搜索指南 [8.3]
dnf install elasticsearch logstash kibana
使用dnf进行安装
systemctl enable --now elasticsearch.service kibana.service logstash.service
#启动并设定开机启动。
默认初始化配置
使用dnf安装的时候,需要检查输入日志,会有类似以下的输出。
默认开启HTTPS,并生成默认管理员账号elastic账号的密码。可以使用下面命令进行重置密码。
1 |
|
可以使用下面的命令生成 Kibana 访问Elasticsearch的令牌。
1 |
|
1 |
|
访问测试
https://192.168.198.6:9200 使用HTTPS访问测试,用管理员账号密码。
Elasticsearch 配置
切换客户API为不加密,HTTP访问。
1 |
|
打开文件
1 |
|
修改上述配置为 false.
1 |
|
重启服务,以生效配置。
访问 http://192.168.198.6:9200 ,使用http测试。
日志告警
关闭https是为了兼容frostmourne做日志告警。
教程:https://songxwn.com/frostmourne_install/
Kibana 配置
Kibana 数据都存储在ES数据库,且为data角色的。
默认配置
默认为 5601 端口,默认绑定为127.0.0.1 地址。使用HTTP协议。
可以修改kibana.yml 文件修改绑定地址,或者使用Nginx反向代理。
修改语言
1 |
|
vim修改配置文件
1 |
|
修改此行为中文配置,重启服务生效。第二行为配置监听IP.
基本认证配置
1 |
|
修改文件,配置ES访问地址,配置系统默认账号kibana_system的密码,填入配置文件。(必须为此账号)
1 |
|
Logstash 配置
开启syslog,将数据转发给ES.
vim /etc/logstash/conf.d/syslog.conf
创建修改syslog配置文件
1 |
|
配置为syslog输入,端口为默认的514。
将数据输出到ES,配置索引前缀为 system-syslog,按月分割索引。
注意 中括号。
修改systemd服务文件。
1 |
|
1 |
|
需要修改启动用户为ROOT才能使用小于1024的端口号。(linux对于非root权限用户不能使用1024以下的端口,)
Kibana WEB配置
创建数据视图
在主菜单-Stack Management-Kibana-数据视图里面创建
参考文档: https://www.elastic.co/guide/en/kibana/current/data-views.html
使用类似 syslog* 匹配索引和日期。
索引管理
在主菜单-Stack Management-数据-索引管理里面查看所有索引。
数据查看
路径:http://127.0.0.1:5601/app/discover (选择数据视图查看)
PS: 主机名字段问题