Zabbix的數(shù)據(jù)存儲(chǔ)及數(shù)據(jù)后續(xù)處理是個(gè)棘手問(wèn)題,這會(huì)直接影響MY SQL,進(jìn)而影響整個(gè)Zabbix的性能,通常樂(lè)維監(jiān)控的處理是這樣的:1、建立分區(qū)表;2、一周清除歷史數(shù)據(jù);3、保存趨勢(shì)數(shù)據(jù)以滿足數(shù)據(jù)表呈現(xiàn)的需要等。
就在2017年12月28日,Zabbix發(fā)布了的3.4.5支持了Elasticsearch作為歷史數(shù)據(jù)存儲(chǔ),它提供了一個(gè)分布式多用戶能力的全文搜索引擎,能夠?qū)崿F(xiàn)對(duì)歷史數(shù)據(jù)的實(shí)時(shí),穩(wěn)定,可靠,快速搜索,而且不干擾當(dāng)前Zabbix的性能。以下引述好友網(wǎng)易狼總(Geekwolf?)的詳細(xì)測(cè)試報(bào)告(http://www.simlinux.com/2018/01/09/zabbix-es.html):
部署Elasticsearch
安裝Elasticsearch和Kibana:
echo "deb http://http.debian.net/debian jessie-backports main" >>/etc/apt/source.list
echo "deb https://artifacts.elastic.co/packages/6.x/apt stable main" > /etc/apt/sources.list.d/elastic-6.x.list
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
apt-get -y update
apt-get install -t jessie-backports openjdk-8-jdk
update-java-alternatives -s java-1.8.0-openjdk-amd64
apt-get install -y elasticsearch kibana
配置Elasticsearch和Kibana(兩者在同一臺(tái)機(jī)):
vim /etc/elasticsearch/elasticsearch.yml
network.host: 0.0.0.0
vim? /etc/kibana/kibana.yml
server.host: "0.0.0.0"
elasticsearch.url: "http://localhost:9200"
啟動(dòng)Elasticsearch和kibana服務(wù)
/etc/init.d/elasticsearch start
/etc/init.d/kibana start
Zabbix3.4.0升級(jí)至3.4.5
注:?由于Zabbix3.4.5對(duì)libcurl庫(kù)要求在7.20.0或者更高,Debian 8下面默認(rèn)是7.38.0
/etc/init.d/zabbix_server stop
tar xf zabbix-3.4.5.tar.gz
cd zabbix-3.4.5
./configure --enable-server --enable-agent --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl --with-libxml2
make -j8
make install
Zabbix_server配置支持Elasticsearch
vim /usr/local/etc/zabbix_server.conf
HistoryStorageURL=http://192.168.100.100:9200
HistoryStorageTypes=uint,dbl,str,log,text
說(shuō)明:
Elasticsearch支持的監(jiān)控項(xiàng)類型:uint,dbl,str,log,text
監(jiān)控項(xiàng)數(shù)據(jù)類型|數(shù)據(jù)庫(kù)表|對(duì)應(yīng)Elasticsearch類型:

Zabbix Web配置歷史數(shù)據(jù)讀Elasticsearch
修改配置文件vim conf/zabbix.conf.php
1. 如果不同類型使用不同的ES集群,可以按如下進(jìn)行配置
$HISTORY['url']? = [
? ? 'uint' => 'http://localhost1:9200',
? ? 'text' => 'http://localhost2:9200'
];
$HISTORY['types'] = ['uint', 'text'];
2. 所有類型使用相同ES集群
$HISTORY['url']? = 'http://192.168.100.100:9200';
$HISTORY['types'] = ['str', 'text', 'log', 'uint', 'dbl'];
注:?3.4.0升級(jí)到3.4.5后,請(qǐng)勿使用舊的zabbix.conf.php,根據(jù)新的zabbix.conf.php.example重新配置
重啟Zabbix Server
/etc/init.d/zabbix_server start
此時(shí)可以通過(guò)觀察日志,查看是否連接ES成功
測(cè)試
1、Zabbix配置ES成功后,通過(guò)Kibana可以看到:

2、創(chuàng)建索引



3、通過(guò)Zabbix Web訪問(wèn)是否正常顯示數(shù)據(jù)