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索引。


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