使用Filebeat将PostgreSQL的日志发送到Elasticsearch

首先

Filebeat包含了预装的用于处理PostgreSQL日志的模块,只需启用该模块即可使用。

环境

我使用的环境如下所示。

    • CentOS 7.5

 

    • Elasticsearch 7.8

 

    • Kibana 7.8

 

    Filebeat 7.8

我正在使用使用ElasticStack 7.8环境构建的环境。

Filebeat的配置

启用用于PostgreSQL日志的模块。

# filebeat modules enable postgresql

PostgreSQL日志模块的配置文件如下。
※ 根据先前的命令,postgresql.yml.disabled已经更名为postgresql.yml。

    /etc/filebeat/modules.d/postgresql.yml

根据环境,修改文件,使其与PostgreSQL日志路径相匹配。

- module: postgresql
  log:
    enabled: true
    var.paths: ["/data/log/postgresql-*.log"]

为了创建一个示例仪表板到Kibana中,您需要将”setup.dashboards.enabled”设置为”true”。同时也需要将其配置为输出到Elasticsearch。

# vi /etc/filebeat/filebeat.yml

setup.dashboards.enabled: true

output.elasticsearch:
  hosts: ["localhost:9200"]

您还可以使用 setup 命令在 Kibana 中创建示例仪表板。

# filebeat setup

Kibana会生成以下样例仪表盘,也会生成其他模块使用的仪表盘。

    [Filebeat PostgreSQL] Overview ECS

除此之外,还有一个名为[Filebeat PostgreSQL] Query Duration Overview ECS的仪表板可以显示与PostgreSQL相关的查询持续时间等信息。

最后执行Filebeat。

# systemctl start filebeat

使用Kibana进行数据可视化

选择用于PostgreSQL日志的Kibana仪表板将显示如下内容。

image.png

请参阅

    • Quick start: modules for common log formats

 

    PostgreSQL module
广告
将在 10 秒后关闭
bannerAds