一、概述
需要使用docker 安裝Logstash,來收集文件/var/log/messages
環境說明
操作系統:centos 7.6
docker版本:19.03.12
ip地址:192.168.31.196
二、安裝
下載鏡像
docker pull logstash:7.5.1
啟動logstash
docker run -d --name=logstash logstash:7.5.1
等待30秒,查看日志
docker logs -f logstash
如果出現以下信息,說明啟動成功。
[2020-08-26T08:12:01,224][INFO ][org.logstash.beats.Server] Starting server on port: 5044 [2020-08-26T08:12:01,722][INFO ][logstash.agent ] Successfully started Logstash API endpoint {:port=>9600}
拷貝數據,授予權限
docker cp logstash:/usr/share/logstash /data/elk7/ mkdir /data/elk7/logstash/config/conf.d chmod 777 -R /data/elk7/logstash
配置文件
請確保elasticsearch運行正常,關於elasticsearch的安裝,請參考連接:
https://www.cnblogs.com/xiao987334176/p/13565468.html
修改配置文件中的elasticsearch地址
vi /data/elk7/logstash/config/logstash.yml
完整內容如下:
http.host: "0.0.0.0" xpack.monitoring.elasticsearch.hosts: [ "http://192.168.31.196:9200" ] path.config: /usr/share/logstash/config/conf.d/*.conf path.logs: /usr/share/logstash/logs
注意:請根據實際情況修改elasticsearch地址
新建文件syslog.conf,用來收集/var/log/messages
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.31.196:9200"] index => "logstash-system-localhost-%{+YYYY.MM.dd}" } }
注意:請根據實際情況修改elasticsearch地址
設置日志文件讀取權限
chmod 644 /var/log/messages
重新啟動logstash
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.5.1
重啟完成之后,訪問elasticsearch-head
確保創建了索引