Zabbix 3.4与PostgreSQL和Elasticsearch 6.3的数据协同

以下是将Zabbix内的PostgreSQL数据通过Logstash传送到Elasticsearch并在Kibana中可视化的步骤概述。

请注意,本文章是在已安装Zabbix/PostgreSQL、Elasticsearch环境下的操作步骤。
必要环境的配置信息将按照所需顺序放在文章的最后。

执行环境如下。

・CentOS 7.5 – CentOS 7.5
・Zabbix 3.4 – Zabbix 3.4
・PostgreSQL 9.2.23 – PostgreSQL 9.2.23
・Elasticsearch 6.3.2 – Elasticsearch 6.3.2
・Kibana 6.3.2 – Kibana 6.3.2
・Logstash 6.3.2 – Logstash 6.3.2

・CentOS 7.5 – CentOS 7.5
・Zabbix 3.4 – Zabbix 3.4
・PostgreSQL 9.2.23 – PostgreSQL 9.2.23
・Elasticsearch 6.3.2 – Elasticsearch 6.3.2
・Kibana 6.3.2 – Kibana 6.3.2
・Logstash 6.3.2 – Logstash 6.3.2

・CentOS 7.5 – CentOS 7.5
・Zabbix 3.4 – Zabbix 3.4
・PostgreSQL 9.2.23 – PostgreSQL 9.2.23
・Elasticsearch 6.3.2 – Elasticsearch 6.3.2
・Kibana 6.3.2 – Kibana 6.3.2
・Logstash 6.3.2 – Logstash 6.3.2

・CentOS 7.5 – CentOS 7.5
・Zabbix 3.4 – Zabbix 3.4
・PostgreSQL 9.2.23 – PostgreSQL 9.2.23
・Elasticsearch 6.3.2 – Elasticsearch 6.3.2
・Kibana 6.3.2 – Kibana 6.3.2
・Logstash 6.3.2 – Logstash 6.3.2

(Note: The provided translation may vary based on the context and specific usage of the terms)

Logstash的安装

安装Logstash,这是一个从各种数据源收集数据的引擎。请参考此处,导入PGP密钥并注册Elasticsearch的yum仓库。

# rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch
# vi /etc/yum.repos.d/logstash.repo
[logstash-6.x]
name=Elastic repository for 6.x packages
baseurl=https://artifacts.elastic.co/packages/6.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md

安装和启动Logstash的服务

# yum -y install logstash
# systemctl start logstash.service
# systemctl enable logstash.service

准备Logstash插件和JDBC连接环境。

安装用于Logstash的JDBC连接插件logstash-input-jdbc输入插件。

# /usr/share/logstash/bin/logstash-plugin install logstash-input-jdbc

在Elasticsearch服务器(访问端)上安装适用于PostgreSQL的JDBC驱动程序。

# yum -y install postgresql-jdbc
# find / -name postgre*.jar

从PostgreSQL收集的数据内容

在Zabbix中的PostgreSQL数据库中,有两种类型的时间序列数据,分别是trends(1年的数据)和history(1周的数据)。本次我们将参考trends表和item表(数据信息)。我们将使用名为logstash.conf的文件进行创建。

# vi /usr/share/logstash/bin/logstash.conf
input {
  jdbc {
    jdbc_driver_library => "/usr/share/java/postgresql-jdbc.jar" (jarファイル格納先)
    jdbc_driver_class => "org.postgresql.Driver"
    jdbc_connection_string => "jdbc:postgresql://Zabbix Server IP:5432/zabbix"
    jdbc_user => "zabbix"  (zabbixユーザ)
    jdbc_password => "zabbix"
    statement => "select itemid, items.name, items.hostid, to_timestamp(trends.clock), trends.num, trends.value_min, trends.value_avg, trends.value_max from trends JOIN items using (itemid)"
  }
}

output {
  elasticsearch {
    hosts => "localhost:9200"
    index => "trends"
  }
}

将数据导入到Elasticsearch

# /usr/share/logstash/bin/logstash -f /usr/share/logstash/bin/logstash.conf --path.settings /etc/logstash

在Kibana中查看索引

[管理] > [创建索引模式],点击并输入[trends]来确认trends索引。

Kibana.JPG
Search.JPG

以下是中文的同義轉述:
相關文章
在CentOS7上安裝Zabbix3.4的PostgreSQL版本
設定Zabbix3.4的監視對象
在CentOS7上安裝Elasticsearch6.3
設定PostgreSQL9.x允許外部主機的連接

bannerAds