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"}}}