老是在filebeat啟動的這一步驟上出錯,但是由於filebeat是由systemd啟動的,因此原因也經常查不清楚,因此並不能直觀的查出錯誤在哪里,所以今天教給大家兩個尋找錯誤的根源的方法
先看我這次報的什么錯誤:
[root@ELK-chaofeng07 logstash]# systemctl status filebeat ● filebeat.service - Filebeat sends log files to Logstash or directly to Elasticsearch. Loaded: loaded (/usr/lib/systemd/system/filebeat.service; disabled; vendor preset: disabled) Active: failed (Result: start-limit) since Tue 2019-04-02 17:31:20 CST; 3s ago Docs: https://www.elastic.co/products/beats/filebeat Process: 2242 ExecStart=/usr/share/filebeat/bin/filebeat -c /etc/filebeat/filebeat.yml -path.home /usr/share/filebeat -path.config /etc/filebeat -path.data /var/lib/filebeat -path.logs /var/log/filebeat (code=exited, status=1/FAILURE) Main PID: 2242 (code=exited, status=1/FAILURE) Apr 02 17:31:20 ELK-chaofeng07 systemd[1]: filebeat.service: main process exited, code=exited, status=1/FAILURE Apr 02 17:31:20 ELK-chaofeng07 systemd[1]: Unit filebeat.service entered failed state. Apr 02 17:31:20 ELK-chaofeng07 systemd[1]: filebeat.service failed. Apr 02 17:31:20 ELK-chaofeng07 systemd[1]: filebeat.service holdoff time over, scheduling restart. Apr 02 17:31:20 ELK-chaofeng07 systemd[1]: start request repeated too quickly for filebeat.service Apr 02 17:31:20 ELK-chaofeng07 systemd[1]: Failed to start Filebeat sends log files to Logstash or directly to Elasticsearch.. Apr 02 17:31:20 ELK-chaofeng07 systemd[1]: Unit filebeat.service entered failed state. Apr 02 17:31:20 ELK-chaofeng07 systemd[1]: filebeat.service failed.
雖然啟動報錯了,但是報的不明不白,不知道如何下手。看看解決方法
1、查看Linux的rsyslog日志,也就是/var/log/messages這個文件,這個文件日志量比較大,最好使用less命令查看此文件,然后按下大寫字母G可翻閱到文件的最后的內容,最后查看是否有關於filebeat的報錯語句。
2、直接使用filebeat的啟動方法,而不使用systemctl start filebeat來啟動。比如:
/usr/share/filebeat/bin/filebeat -c /etc/filebeat/filebeat.yml -path.home /usr/share/filebeat -path.config /etc/filebeat -path.data /var/lib/filebeat -path.logs /var/log/filebeat
如果你是使用yum安裝的filebeat軟件,上面的這個命令可以直接復制到你的終端來使用即可。我這次就是直接使用這個命令,給我報錯是127行有問題,我就着重修改了一下,最后啟動成功了。完美