1、首先登录docker hub logstash 查看支持的版本号 地址: https://registry.hub.docker.com/_/logstash
2、我使用的是7.14版本,下载执行命令:
docker pull logstash:7.14.0
3、以后台运行方式启动容器:
docker run -d --name=logstash logstash:7.14.0
4、 查看启动日志 , 如果出现
docker logs -f logstash
Successfully started Logstash API endpoint {:port=>9600} 则运行成功 【因为暂未与ES构建关系,Logstash会尝试连接ES服务报错】
5、拷贝数据,修改权限
docker cp logstash:/usr/share/logstash /data/elk7/
mkdir /data/elk7/logstash/config/conf.d
chmod 777 -R /data/elk7/logstash
【** 默认您已经有机器安装了ES工具】
编辑logstash文件,将已有的ES地址配置上
# vim /data/elk7/logstash/config/logstash.yml
http.host: "0.0.0.0"
xpack.monitoring.elasticsearch.hosts: [ "http://192.168.32.16:9210" ]
path.config: /usr/share/logstash/config/conf.d/*.conf
path.logs: /usr/share/logstash/logs
添加一个对外的配置
vi /data/elk7/logstash/config/conf.d/syslog.conf
实际配置内容
input {
file {
#标签
type => "systemlog-localhost"
#采集点
path => "/var/log/messages"
#开始收集点
start_position => "beginning"
#扫描间隔时间,默认是1s,建议5s
stat_interval => "5"
}
}
output {
elasticsearch {
hosts => ["192.168.32.16:9210"]
index => "logstash-system-localhost-%{+YYYY.MM.dd}"
}
}
设置日志文件的读取权限
chmod 644 /var/log/messages
删除初始容器并添加启动参数创建新容器
docker rm -f logstash
docker run -d \
--name=logstash \
--restart=always \
-p 5044:5044 \
-v /data/elk7/logstash:/usr/share/logstash \
-v /var/log/messages:/var/log/messages \
logstash:7.14.0
进入kibana的控制面板查看索引已生成