Docker 部署 elk + filebeat
kibana 开源的分析与可视化平台
logstash 日志收集工具 logstash-forwarder(原名lubmberjack)
elasticsearch 查询 + filebeat 日志收集
环境:
- docker 版本 :18.09.1
- 主机地址:192.168.1.81
- filebeat:6.5.4
一、部署elk
1、修改系统内存内核参数
# 临时修改
sysctl -w vm.max_map_count=262144
# 永久修改
vim /etc/sysctl.conf
vm.max_map_count=262144
2、下载elk镜像
docker pull sebp/elk
3、运行elk服务
docker run -p 5601:5601 -p 9200:9200 -p 5044:5044 -itd --name elk sebp/elk
4、修改logstash关闭ssl
# 1、进入elk容器
docker exec -it xxxxx /bin/bash # 2、修改配置文件 改为如下
vi /etc/logstash/conf.d/02-beats-input.conf input {
beats {
port => 5044
}
}
5、重启elk
docker restart elk
二、部署filebeat(本地安装)
- filebeat压缩包
- 下载地址:https://pan.baidu.com/s/1fx12E7N_O2a6CHIBmQV6Ig
- 密码:osxk
1、安装filebeat
rpm -ivh filebeat-6.5.4-x86_64.rpm
2、修改配置文件
filebeat.prospectors:
- type: log
enabled: true
paths:
- /docker/service/zs/java/javalog/*.log
tags: ["java"] - type: log
enabled: true
paths:
- /docker/service/zs/nginx/log/*.log
tags: ["nginx"] - type: log
enabled: true
paths:
- /docker/service/zs/redis/log/*.log
tags: ["redis"] filebeat.config.modules:
path: ${path.config}/modules.d/*.yml
reload.enabled: false setup.template.settings:
index.number_of_shards: 3 setup.kibana:
host: "192.168.1.81:5601" output.logstash:
hosts: ["192.168.1.81:5044"]
filebeat.prospectors:
# 指定收集的日志路径
- type: log
enabled: true
paths:
# 指定路径
- /docker/service/zs/java/javalog/*.log
tags: ["java"] # 指定收集的日志路径
- type: log
enabled: true
paths:
# 指定路径
- /docker/service/zs/nginx/log/*.log
# 自定义名称
tags: ["nginx"] # 指定收集的日志路径
- type: log
enabled: true
paths:
# 指定路径
- /docker/service/zs/redis/log/*.log
# 自定义名称
tags: ["redis"] filebeat.config.modules:
path: ${path.config}/modules.d/*.yml
reload.enabled: false setup.template.settings:
index.number_of_shards: 3 # 指定kibana主机地址
setup.kibana:
host: "192.168.1.81:5601" # 指定logstash地址
output.logstash:
hosts: ["192.168.1.81:5044"]
文件注释
三、kibana管理
1、Management --> index patterns -- > create index pattern
2、下一步
3、查看创建索引