ELK项目
ELK项目
背景
当nginx服务器多的时候,遇到问题排查日志一台一台登录去查是相当耗时耗力的
系统环境
centos7.4
Elasticsearch 6.6.2
Logstash 6.6.2
kibana 6.6.2
Filebeat 6.6.2
Redis 4.0.1
supervisor
系统简单架构
filebeat–读取nginx的access的目录日志–传到redis里面
logstash—读取redis的内容-----传到Elasticsearch
kibana-----读取Elasticsearch界面展示出来
kibana----可以检索日志–可以按访问IP排名排序,可以查看IP访问分布等一系列的内容
supervisor–做一个进程托管守护进程
备注
filebeat nginx服务用filebeat没有用logstash的原因是logstash要java环境 体量比较量 而filebeat则是轻量级的
nginx日志做了json格式 数据量大的时候提升logstash的性能
nginx日志clent的IP 在logstash磁取插入到Elasticsearch的时候利用GeoLite2-City.mmdb获取IP的详细信息,
可以在kibana地图展示IP来源分布
supervisor 用其原因为filebeat logstash kibana 等都是用命令起动 虽可以用脚本做进程守护但是还会有其它问题
所有用supervisor进程托管设置异常重起,开机起动等参数有效的保证ELK稳定性
supervisor
安装supervisor
mkdir -p /var/log/supervisor/logs
yum install -y epel-release
yum install -y supervisor
echo "[inet_http_server]" >> /etc/supervisord.conf
echo "port=0.0.0.0:28999" >> /etc/supervisord.conf
echo "username=username" >> /etc/supervisord.conf
echo "password=password >> /etc/supervisord.conf
systemctl enable supervisord
systemctl restart supervisord
supervisor常用命令
supervisorctl reload
supervisorctl status
supervis