Zabbix簡介
Zabbix 近幾年得到了各大互聯(lián)網(wǎng)公司的認(rèn)可琼牧,當(dāng)然第一點(diǎn)歸功與它強(qiáng)大的監(jiān)控功能,第二點(diǎn)免費(fèi)開源也得到了廣大用戶的青睞蔫仙。Zabbix 能將操作系統(tǒng)中的絕大部分指標(biāo)進(jìn)行監(jiān)控料睛,比如(CPU 負(fù)荷,內(nèi)存使用摇邦,網(wǎng)絡(luò)狀況恤煞,端口監(jiān)視,日志監(jiān)視等等等等指標(biāo)J┘)居扒。監(jiān)控指標(biāo)的廣度是一方面,它強(qiáng)大的功能特點(diǎn)也省去了很多的配置操作丑慎。
Zabbix 功能特點(diǎn):
自動發(fā)現(xiàn)服務(wù)器和網(wǎng)絡(luò)設(shè)備
分布式監(jiān)控網(wǎng)絡(luò)喜喂,集中式管理(agent 瓤摧、server 分開)
監(jiān)控指標(biāo)模版豐富
可靈活地分配用戶權(quán)限
系統(tǒng)各個指標(biāo)的可視化展示和分析等等
如何讓 Zabbix 更加完美?
雖然 Zabbix 在功能上非常強(qiáng)大玉吁,但是它在通知層面也并非十全十美:
- 它現(xiàn)在的告警方式比較單一照弥,默認(rèn)支持郵件。
- 相信很多運(yùn)維工作者對短信的告警已經(jīng)再熟悉不過了进副,甚至已經(jīng)存在抵觸的心理这揣,但還是期望 Zabbix 可以支持短信。 Zabbix 支持的短信方式需要進(jìn)行短信網(wǎng)關(guān)對接影斑,復(fù)雜度較高给赞。
- 而且短信的告警并非是一個好的方式,雖然發(fā)送了告警信息鸥昏,同樣會存在疏漏的情況塞俱,而且這種情況發(fā)生的概率并不是很低。
那么有效的告警方式吏垮、告警信息的到達(dá)率對運(yùn)維同學(xué)具有很大的意義障涯,相信也是小朋友們非常關(guān)注的。就算 Zabbix 監(jiān)控的在全面和準(zhǔn)確膳汪,但是如果沒有及時的通知并解決唯蝶,那么就是然并卵。酒再香總要賣出去遗嗽,如果沒有好的告警平臺粘我,總覺得 Zabbix 少了點(diǎn)什么。如果配上一個好的告警平臺了痹换,那么就 Perfect 了征字!分享個工具 OneAlert ,該平臺可以通過簡單的方式集成 Zabbix 告警娇豫。
如果你是 Zabbix 的忠實(shí)粉絲匙姜,而且一直在使用它來監(jiān)控服務(wù)器,是否想通過一個告警平臺更好的將告警信息及時傳達(dá)到您的手中冯痢?而且這個平臺還可以進(jìn)行事件的升級和排班等功能氮昧。
如果你沒使用過 Zabbix,但是也聽說過它功能的強(qiáng)大之處浦楣,為何不一起加入 Zabbix 的大家庭中袖肥,來共同感受這個免費(fèi)開源軟件的魅力,以及帶給我們的價值呢振劳?
那么本文將給您如何快速搭建 Zabbix 監(jiān)控服務(wù)器椎组,如何將 Zabbix 集成到OneAlert告警平臺上,實(shí)現(xiàn)微信和短信通知历恐。
安裝說明
從0開始安裝Zabbix
如果你從來沒有接觸過 Zabbix 寸癌,請按照以下步驟安裝 Zabbix 选调,下面以 Zabbix 2.4.1+OneAlert 實(shí)現(xiàn)監(jiān)控和微信提醒
- Zabbix 服務(wù)器: 10.128.17.136 CentOS 6.4 64bit
- 被監(jiān)控機(jī)器: 10.128.17.137 CentOS 6.4 64bit
也可以參考官網(wǎng)安裝
Zabbix 集成在 OneAlert
如果你對 Zabbix 非常熟悉或者機(jī)器中已經(jīng)安裝,請?zhí)^安裝步驟灵份,直接進(jìn)入OneAlert的報警設(shè)置。
安裝 Zabbix Server
在服務(wù)器10.128.17.136上安裝
1.安裝mysql
\# yum -y install mysql mysql-server mysql-devel
MySQL 配置文件/etc/my.cnf
中加入default-character-set=utf8
`\# vi /etc/my.cnf ` 加入`default-character-set=utf8 `
\# service mysqld start
登陸哮洽,創(chuàng)建 Root 管理員
\# mysqladmin -u root password 123456
登陸 MySQL
\# mysql -uroot -p123456
創(chuàng)建 zabbix 數(shù)據(jù)庫填渠,并設(shè)置登陸權(quán)限
mysql> create database zabbix character set utf8 collate utf8_bin;
`mysql> grant all privileges on zabbix.* to zabbix@localhost identified by '<password>'; `(我設(shè)置的密碼為123456)
mysql> \q
2.安裝 php、Apache
\ # yum install php php-mysql php-common php-gd php-mbstring php-mcrypt php-devel php-xml httpd
啟動 Apache
\# service httpd start
3. 安裝 Zabbix Server 軟件包
\# rpm -ivh http://repo.zabbix.com/zabbix/2.4/rhel/6/x86_64/zabbix-release-2.4-1.el6.noarch.rpm
\# yum install zabbix-server-mysql zabbix-web-mysql
\# yum install zabbix-agent
將數(shù)據(jù)庫文件導(dǎo)入到 zabbix 數(shù)據(jù)庫中
\# cd /usr/share/doc/zabbix-server-mysql-2.4.0/create
\# mysql -uroot -p123456 zabbix < schema.sql(登陸的用戶名和密碼)
\# mysql -uroot -p123456 zabbix < images.sql
\# mysql -uroot -p123456 zabbix < data.sql
編輯 zabbix-server 配置文件
\# vi /etc/zabbix/zabbix_server.conf
DBHost=localhost
DBName=zabbix
DBUser=zabbix
(上面賦予的登陸權(quán)限的用戶名)
DBPassword=123456
(上面賦予登陸權(quán)限的密碼)
\# vi /etc/httpd/conf.d/zabbix.conf
將配置文件中替換成以下內(nèi)容
php_value max_execution_time 300
php_value memory_limit 128M
php_value post_max_size 16M
php_value upload_max_filesize 2M
php_value max_input_time 300
php_value date.timezone Asia/Shanghai
配置完成鸟辅,重新啟動zabbix_server
\#servcice zabbix-server restart
登陸安裝zabbix http://ip
地址/zabbix(http://10.128.17.136/zabbix)
如果此步驟出現(xiàn)問題氛什,請確認(rèn)/etc/httpd/conf.d/zabbix.conf
中的配置正確
配置操作圖如下所示:
![](http://news.oneapm.com/content/images/2015/09/--1.png)
![](http://news.oneapm.com/content/images/2015/09/--5.png)
User 和 Password 為上面設(shè)置的用戶名和密碼
DBUse r=zabbix(上面賦予的登陸權(quán)限的用戶名)
DBPassword =123456(上面賦予登陸權(quán)限的密碼)
輸入 Hostname 與否都可以。
![](http://news.oneapm.com/content/images/2015/09/--2.png)
![](http://news.oneapm.com/content/images/2015/09/--3.png)
![](http://news.oneapm.com/content/images/2015/09/--4.png)
Zabbix 安裝完成
安裝 Zabbix Agent
在被監(jiān)控服務(wù)器10.128.17.137
上安裝Zabbix Agent
\#rpm -ivh http://repo.zabbix.com/zabbix/2.4/rhel/6/x86_64/zabbix-release-2.4-1.el6.noarch.rpm
\#yum install zabbix-agent
修改配置/etc/zabbix/zabbix_agentd.conf
匪凉,將server
設(shè)置Server=10.128.17.136
\#service zabbix-agent restart`
Zabbix Agent 安裝完畢后枪眉,需要登錄 Zabbix Server加入該機(jī)器
![](http://news.oneapm.com/content/images/2015/09/-----2015-09-16---11-57-31.png)
![](http://news.oneapm.com/content/images/2015/09/-----2015-09-16---12-07-04.png)
![](http://news.oneapm.com/content/images/2015/09/-----2015-09-16---12-25-51.png)
好了,Zabbix Agent 安裝完畢再层。
Zabbix 集成 OneAlert
\#wget http://cdn.110monitor.com/open/download/alert-agent-4.0.1-RC4.tar.gz
\#tar xvf alert-agent-4.0.1-RC2.tar.gz
\#cp -R alert-agent /usr/lib/zabbix/alertscripts
\#cd /usr/lib/zabbix/alertscripts
\#chown -R zabbix:zabbix alert-agent
\#cp alert-agent/plugin/zabbix-plugin/110monitor/ usr/lib/zabbix/alertscripts/
\#chmod +x /usr/lib/zabbix/alertscripts/110monitor
注意贸铜!源碼安裝的盆友需要注意看配置文件/etc/zabbix/zabbix_server.conf
\# AlertScriptsPath=/zabbix/alertscripts
AlertScriptsPath=/usr/lib/zabbix/alertscripts
請將 Agent 更新至 AlertScriptsPath 目錄中
alert-agent
目錄和110monitor
需要放在同一級目錄里面
1.創(chuàng)建 110monitor 通知方式
創(chuàng)建媒體類型 Media types,,“Administrator”->“Media types”->“Create media type”
采用腳本模式script
,腳本名為110monitor
. 系統(tǒng)會在/usr/lib/zabbix/alertscripts/
下查找上面的110monitor
指令
![](http://news.oneapm.com/content/images/2015/09/--1-1.png)
2.創(chuàng)建110monitor用戶
創(chuàng)建用戶110monitor
并設(shè)置通知媒介聂受,登錄 zabbix蒿秦,“Administrator”->“Users”->“create user”
將
110monitor
用戶加入到"Zabbix Administrator
組"或者是新建組媒體類型,添加
110monitor
蛋济,并且設(shè)置appkey
為發(fā)送目標(biāo)設(shè)置所有權(quán)限
"Zabbix Super Admin"
新建 110monitor 用戶
![](http://news.oneapm.com/content/images/2015/09/--2-1.png)
設(shè)置媒介類型
![](http://news.oneapm.com/content/images/2015/09/--3-1.png)
設(shè)置權(quán)限
![](http://news.oneapm.com/content/images/2015/09/-4.png)
3.創(chuàng)建觸發(fā)動作發(fā)送通知
創(chuàng)建告警通知策略棍鳖,"Configurationg"->"Actions"->"Create action"
名稱
110monitor
主題為
trigger
和resolve
,意味著告警觸發(fā)和恢復(fù)都會同步到110monitor
設(shè)置告警內(nèi)容碗旅,注意冒號「:」前的內(nèi)容不可變更渡处,冒號「:」后的內(nèi)容可以自行編輯
alarmName:{TRIGGER.NAME}
entityName:{HOSTNAME}
entityId:{IPADDRESS}
value:{TRIGGER.VALUE}
eventId:{EVENT.ID}
priority:{TRIGGER.SEVERITY}
alarmContent:{IPADDRESS} {ITEM.NAME}:{ITEM.VALUE}
![](http://news.oneapm.com/content/images/2015/09/--5-1.png)
![](http://news.oneapm.com/content/images/2015/09/--6.png)
注意!自行配制的通知模板是不行的祟辟,需要嚴(yán)格按照以上配置医瘫。
![](http://news.oneapm.com/content/images/2015/09/--7.png)
4.測試驗(yàn)證
將被監(jiān)控機(jī)器 10.128.17.137 的 Ping 禁用下,驗(yàn)證一把川尖。請確認(rèn)該機(jī)器加了"Template ICMP Ping"
監(jiān)控模版登下,禁用 ping 測試是否正常通知
\#echo 1 > /proc/sys/net/ipv4/icmp\_echo\_ignore_all
禁 ping (看是否配置成功,成功就恢復(fù) ping )
\#echo 0 > /proc/sys/net/ipv4/icmp\_echo\_ignore_all
恢復(fù) ping
查看 Agent 日志叮喳,出現(xiàn) sucess 字樣代表成功被芳,如果發(fā)送告警通知,則會同步發(fā)送微信馍悟、移動 app 畔濒、短信、郵件
\#tail -f /usr/lib/zabbix/alertscripts/alert-agent/log/agent.log
正常返回success
即表示成功
15-05-2015 18:16:17,698 CST INFO [main] [com.upyoo.agent.ZabbixClient@68] start to call alert ...
15-05-2015 18:16:18,048 CST INFO [main] [com.upyoo.agent.ZabbixClient@68] start to call alert ...
15-05-2015 18:16:18,057 CST INFO [main] [com.upyoo.agent.CommandClient@82] app:04b9832b- 14b4-4c61-343d-5926ff8af672
15-05-2015 18:16:18,057 CST INFO [main] [com.upyoo.agent.CommandClient@82] eventType:trigger
15-05-2015 18:16:18,059 CST INFO [main] [com.upyoo.agent.CommandClient@82] alarmName:10.128.17.137 is unavailable by ICMP
15-05-2015 18:16:18,059 CST INFO [main] [com.upyoo.agent.CommandClient@82] entityName:10.128.17.137
15-05-2015 18:16:18,060 CST INFO [main] [com.upyoo.agent.CommandClient@82] entityId:10.128.17.137
15-05-2015 18:16:18,061 CST INFO [main] [com.upyoo.agent.CommandClient@82] eventId:280
15-05-2015 18:16:18,061 CST INFO [main] [com.upyoo.agent.CommandClient@82] priority:Average
15-05-2015 18:16:18,062 CST INFO [main] [com.upyoo.agent.CommandClient@82] alarmContent:10.128.17.137 ICMP ping:Down (0)
15-05-2015 18:16:18,067 CST INFO [main] [com.upyoo.agent.CommandClient@58] start to post url:http://api.110monitor.com/alert/api/event
15-05-2015 18:16:18,144 CST INFO [main] [com.upyoo.agent.CommandClient@65] body: {"app":"04b9832b-14b4-4c61-343d-5926ff8af672","alarmContent":"10.128.17.137 ICMP ping:Down(0)","eventId":"280","priority":"3","entityId":"10.128.17.137","alarmName":"10.128.17.137 is unavailable by ICMP","eventType":"trigger","entityName":"10.128.17.137"}
15-05-2015 18:16:18,728 CST INFO [main] [com.upyoo.agent.CommandClient@68] result:{"result":"success","message":null,"data":"3690","totalCount":0,"code":"200"}
5.微信告警
添加成功之后锣咒,進(jìn)入 OneAlert 控制臺侵状,用微信進(jìn)行掃碼即可用微信實(shí)現(xiàn)報警赞弥。
![](http://news.oneapm.com/content/images/2015/09/--8.png)
6.電話短信報警
![](http://news.oneapm.com/content/images/2015/09/--9.png)
通過設(shè)置提醒,可以選擇告警的方式是電話趣兄、短信還是微信 APP 告警绽左, OneAlert 提供多種方式和多策略的提醒方式
完成
恭喜你 完成 Zabbix 集成配置,微信即可接收告警提醒,并通過”我的告警“查詢所有未處理告警哦艇潭。
注意拼窥!注冊完畢后默認(rèn)僅發(fā)送郵件提醒,請關(guān)注微信號alert110
蹋凝,或者到用戶 -> 具體用戶
下配置短信提醒規(guī)則鲁纠。或參考提醒設(shè)置
親鳍寂,到現(xiàn)在可以拋棄老的 139 郵箱改含、飛信、短信貓迄汛、qq 郵箱等間接短信配置提醒方式捍壤。
OneAlert 是北京藍(lán)海訊通科技有限公司旗下產(chǎn)品,中國首個 SaaS 模式的云告警平臺隔心,集成國內(nèi)外主流監(jiān)控/支撐系統(tǒng)白群,實(shí)現(xiàn)一個平臺上集中處理所有IT事件,提升IT可靠性硬霍。想了解更多信息帜慢,請訪問 OneAlert 官網(wǎng) 。