介绍
ELK是三款开源软件的缩写,即:ElasticSearch + Logstash + Kibana。这三个工具组合形成了一套实用、易用的监控架构,可抓取系统日志、apache日志、nginx日志、mysql日志等多种日志类型,目前很多公司用它来搭建可视化的集中式日志分析平台。
ElasticSearch:是一个分布式的RESTful风格的搜索和数据分析引擎,同时还提供了集中存储功能,它主要负责将logstash抓取来的日志数据进行检索、查询、分析等。
Logstash:日志处理工具,负责日志收集、转换、解析等,并将解析后的日志推送给ElasticSearch进行检索。
Kibana:Web前端,可以将ElasticSearch检索后的日志转化为各种图表,为用户提供数据可视化支持。
流程图:
准备环境
elasticsearch-7.4.2-x86_64.rpm
关闭防火墙与selinux,根据实际情况设置
systemctl stop firewalld
sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/sysconfig/selinux
系统设置
# vim /etc/security/limits.conf
* soft nofile 65536
* hard nofile 65536
* soft nproc 4096
* hard nproc 4096
# vim /etc/sysctl.conf
vm.max_map_count = 655360
# sysctl -p
JAVA安装:
- 解压
# cd /usr/local
# tar -zxvf jdk-8u221-linux-x64.tar.gz
# rm -rf jdk-8u221-linux-x64.tar.gz
- 添加环境变量
# vim /etc/profile
export JAVA_HOME=/usr/local/jdk1.8.0_221
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin
#source /etc/profile
- 测试
java -version
Elasticsearch安装(依赖java环境)
- 介绍
在部署的时候遇到一个大坑,在elk7.0版本上强加了一个安全模式,需要注意,这里我使用了localhost,避免了安全模式。
cat /var/lib/elasticsearch/elasticsearch.log 查看日志
官方文档:https://www.elastic.co/guide/en/elasticsearch/reference/current/index.html
java版本必须在1.8以上
默认端口为9200
- 安装
# rpm -ivh elasticsearch-7.4.2-x86_64.rpm
- 配置
# vim /etc/elasticsearch/elasticsearch.yml
# 只允许本机访问
55 network.host: localhost
# 设置访问端口为9200
59 http.port: 9200
- 启动
# systemctl start elasticsearch
-
开机启动
# systemctl enable elasticsearch
- 查看
curl localhost:9200
Kibana安装
- 介绍
Kibana默认连接elasticsearch数据库,如果es数据库无法使用,则kibana也无法正常使用
cat /var/log/messages 查看日志
- 安装
# rpm -ivh kibana-7.4.2-x86_64.rpm
- 配置
# vim /etc/kibana/kibana.yml
# 设置访问端口
2 server.port: 5601
# 使外网能够访问
7 server.host: "0.0.0.0"
# 指定es的地址
28 elasticsearch.hosts: ["http://localhost:9200"]
- 启动
Systemctl start kibana
- 访问
http://IP:5601
Logstash安装(依赖java环境)
- 安装
# cd /usr/local
# tar -zxvf logstash-7.4.2.tar.gz
# mv logstash-7.4.2 logstash
- 测试
# bin/logstash -e 'input { stdin {} } output { stdout {} }'
- 新增配置文件
# 复制一份模板
# cp config/logstash-sample.conf config/test_project.conf
# 客户端输入到logstash的端口为5044,然后输出到本地es中
# cat test_project.conf
-
后台运行lostash
# nohup bin/logstash -f config/test_project.conf &