更新於 2024/09/28閱讀時間約 3 分鐘

[ELK]讓Kibana可以看到Nginx Log系列(2):設定Filebeat監聽

filebeat的作用就像是一隻看門狗(watch dog),當看門狗監測到任何風吹草動(log產生變化)時,就立即事件告訴主人(logstash)。

elk

elk

上一篇已經將log正常產生了,再來要有一個監聽者,來幫我們注意log有沒有產生變化。

首先要準備filebeatF的設定檔(filebeat.yml),並且將設定檔放到指定的位置,我自已是放到 /home/filebeat/filebeat.yml。


filebeat.yml的內容如下:

filebeat.inputs:
- type: filestream
id: my-filestream-id
enabled: true
paths:
- /logs/access/* #要改成監聽的log位置 filebeat.config.modules: path: ${path.config}/modules.d/*.yml reload.enabled: false output.logstash: hosts: ["10.10.10.10:5000"] #要改成logstash的所在ip及port號 processors: - add_host_metadata: when.not.contains.tags: forwarded - add_cloud_metadata: ~ - add_docker_metadata: ~ - add_kubernetes_metadata: ~

filebeat.yml設定要修改兩個地方:

1、paths: #改成監聽的log位置

2、hosts: #要改成logstash的所在ip及port號

設定檔設定完成之後,為了方便,我是使用docker來啟動filebeat的服務,指令如下:指令要注意的地方就是log位置及filebeat.yml位置是否有寫正確,沒問題的話,就可以按enter了

docker run -d --name filebeat_7 \\
-v /home/filebeat/filebeat.yml:/usr/share/filebeat/filebeat.yml \\
-v /var/log/nginx/access:/logs/access \\
docker.elastic.co/beats/filebeat:7.17.6


等docker起來之後,我們用指令docker ps,就可以看到 filebeat的container正確被啟動

CONTAINER ID   IMAGE                                       COMMAND                  CREATED        STATUS        PORTS                                       NAMES
4cde932784a5 docker.elastic.co/beats/filebeat:7.17.6 "/usr/bin/tini -- /u…" 2 weeks ago Up 2 weeks filebeat


到目前為止,log設定好了、filebeat也設定好了,filebeat 監聽到log變化時,就要將log主動傳送給logstatsh,下一篇文章要介紹logstatsh的安裝及設定。


每個步驟的文章會陸續上架,如果還沒看到連結,就代表我還在趕文章中。如果喜歡我寫的內容,希望能夠幫我追蹤按讚分享,讓創作者們能夠有繼續創作內容的動力,感謝你們

分享至
成為作者繼續創作的動力吧!
© 2024 vocus All rights reserved.