gtag

2021年3月22日 星期一

filebeat 啟用 apache error log 後,在 kibana 中時區無法對應( Timezone error )

啟用Apache error logs,把檔名改掉重啟服務即可

pi@raspberrypi:/ $sudo mv /etc/filebeat/modules.d/apache2.yml.disabled apache2.yml
pi@raspberrypi:/ $sudo systemctl restart filebeat

以上步驟會一併啟用Apache的access.log與error.log
不過error的時區會有問題,利用下面修改可以讓時區不被轉換
先做參數啟用,編輯以下檔案

sudo nano /etc/filebeat/modules.d/apache2.yml

加入以下參數設置,原則上Apache模組不支援以下設置
要自己手動修改資料格式判斷

var.convert_timezone: true

再來修改filebeat pipeline讀入資料格式的json設定

sudo nano /usr/share/filebeat/module/apache2/error/ingest/pipeline.json

在date的formate後,加入下方這一行

{< if .convert_timezone >}"timezone": "Asia/Taipei",{< end >}

json的格式會長的像下面這段

    {
      "date": {
        "field": "apache2.error.timestamp",
        "target_field": "@timestamp",
        "formats": ["EEE MMM dd H:m:s yyyy", "EEE MMM dd H:m:s.SSSSSS yyyy"],
        {< if .convert_timezone >}"timezone": "Asia/Taipei",{< end >}
        "ignore_failure": true
      }
    },

依照這樣的改法,其他filebeat的模組有遇到時區問題都可以改
接下來清掉原來的pipeline,重啟服務,步驟說在前一篇提過,不再贅述

sudo systemctl stop filebeat
curl -XDELETE "http://elastic:[password]@localhost:9200/_ingest/pipeline/filebeat*"
sudo rm /var/lib/filebeat/registry
sudo systemctl restart filebeat

沒有留言:

張貼留言