OpenResty Edge™ 日誌收集
我們推薦使用 Filebeat 進行 Openresty Edge 的錯誤日誌和訪問日誌收集。
安裝 Filebeat
在所有 OpenResty Edge Node 機器上安裝 Filebeat 軟體,請參考 Filebeat 安裝文件。
配置 Filebeat
以下配置為收集 OpenResty Edge Node 上的日誌併傳送到 Kafka 的簡單示例:
filebeat.inputs:
- type: log
enabled: true
paths:
- /usr/local/oredge-node/logs/access.log*
- /usr/local/oredge-node/logs/error.log*
output.kafka:
enabled: true
# fill in the kafka broker address, this can also be multiple broker addresses
hosts: ["127.0.0.1:9092"]
topic: edge_node_logs
logging.level: error
# fill in the local host name or IP
name: 127.0.0.1
將以上內容儲存到 /etc/filebeat/filebeat.yml
,並啟動 Filebeat 服務,成功啟動後就會將日誌傳送到 Kafka 了。
sudo systemctl start filebeat
驗證日誌
我們可以使用 Kafka 提供的命令列工具 kafka-console-consumer.sh
檢查日誌是否成功傳送。
在安裝了 Kafka 的機器上,執行以下命令 (Kafka 安裝目錄根據實際情況替換),有日誌輸出表示 Filebeat 已經正常工作了。
$ /opt/kafka/bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic edge_node_logs --from-beginning --max-messages 1
{"@timestamp":"2022-12-27T07:06:53.045Z","@metadata":{"beat":"filebeat","type":"_doc","version":"8.5.3"},"message":"127.0.0.1 - - [14/Dec/2022:16:02:36 +0800] test.com \"GET http://test.com/ HTTP/1.1\" 200 22 0.000 \"-\" \"curl/7.61.1\" - - -","input":{"type":"log"},"ecs":{"version":"8.0.0"},"host":{"name":"127.0.0.1"},"agent":{"version":"8.5.3","ephemeral_id":"fd94a28e-91fe-4365-9584-fe6beb258751","id":"e84c2374-3272-430e-bfe6-84ad2b24b845","name":"127.0.0.1","type":"filebeat"},"log":{"offset":0,"file":{"path":"/usr/local/oredge-node/logs/access.log_20221214.160000"}}}