Zabbix的數(shù)據(jù)存儲及數(shù)據(jù)后續(xù)處理是個(gè)棘手問題才睹,這會直接影響MY SQL,進(jìn)而影響整個(gè)Zabbix的性能甘邀,通常樂維監(jiān)控的處理是這樣的:1琅攘、建立分區(qū)表;2松邪、一周清除歷史數(shù)據(jù)坞琴;3、保存趨勢數(shù)據(jù)以滿足數(shù)據(jù)表呈現(xiàn)的需要等逗抑。
就在2017年12月28日剧辐,Zabbix發(fā)布了的3.4.5支持了Elasticsearch作為歷史數(shù)據(jù)存儲寒亥,它提供了一個(gè)分布式多用戶能力的全文搜索引擎,能夠?qū)崿F(xiàn)對歷史數(shù)據(jù)的實(shí)時(shí)荧关,穩(wěn)定溉奕,可靠,快速搜索忍啤,而且不干擾當(dāng)前Zabbix的性能加勤。以下引述好友網(wǎng)易狼總(Geekwolf?)的詳細(xì)測試報(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(兩者在同一臺機(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"
啟動Elasticsearch和kibana服務(wù)
/etc/init.d/elasticsearch start
/etc/init.d/kibana start
Zabbix3.4.0升級至3.4.5
注:?由于Zabbix3.4.5對libcurl庫要求在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
說明:
Elasticsearch支持的監(jiān)控項(xiàng)類型:uint,dbl,str,log,text
監(jiān)控項(xiàng)數(shù)據(jù)類型|數(shù)據(jù)庫表|對應(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升級到3.4.5后鳄梅,請勿使用舊的zabbix.conf.php,根據(jù)新的zabbix.conf.php.example重新配置
重啟Zabbix Server
/etc/init.d/zabbix_server start
此時(shí)可以通過觀察日志未檩,查看是否連接ES成功
測試
1戴尸、Zabbix配置ES成功后,通過Kibana可以看到:
2、創(chuàng)建索引
3讹挎、通過Zabbix Web訪問是否正常顯示數(shù)據(jù)