Zabbix 安裝及微信短信提醒
Zabbix簡介
Zabbix 近幾年得到了各大互聯網公司的認可,當然第一點歸功與它強大的監控功能,第二點免費開源也得到了廣大用戶的青睞。Zabbix 能將操作系統中的絕大部分指標進行監控,比如(CPU 負荷,內存使用,網絡狀況,端口監視,日志監視等等等等指標!)。監控指標的廣度是一方面,它強大的功能特點也省去了很多的配置操作。
Zabbix 功能特點:
-
自動發現服務器和網絡設備
-
分布式監控網絡,集中式管理(agent 、server 分開)
-
監控指標模版豐富
-
可靈活地分配用戶權限
-
系統各個指標的可視化展示和分析等等
如何讓 Zabbix 更加完美?
雖然 Zabbix 在功能上非常強大,但是它在通知層面也并非十全十美:
- 它現在的告警方式比較單一,默認支持郵件。
- 相信很多運維工作者對短信的告警已經再熟悉不過了,甚至已經存在抵觸的心理,但還是期望 Zabbix 可以支持短信。 Zabbix 支持的短信方式需要進行短信網關對接,復雜度較高。
- 而且短信的告警并非是一個好的方式,雖然發送了告警信息,同樣會存在疏漏的情況,而且這種情況發生的概率并不是很低。
那么有效的告警方式、告警信息的到達率對運維同學具有很大的意義,相信也是小朋友們非常關注的。就算 Zabbix 監控的在全面和準確,但是如果沒有及時的通知并解決,那么就是然并卵。酒再香總要賣出去,如果沒有好的告警平臺,總覺得 Zabbix 少了點什么。如果配上一個好的告警平臺了,那么就 Perfect 了!分享個工具 OneAlert ,該平臺可以通過簡單的方式集成 Zabbix 告警。
-
如果你是 Zabbix 的忠實粉絲,而且一直在使用它來監控服務器,是否想通過一個告警平臺更好的將告警信息及時傳達到您的手中?而且這個平臺還可以進行事件的升級和排班等功能。
-
如果你沒使用過 Zabbix,但是也聽說過它功能的強大之處,為何不一起加入 Zabbix 的大家庭中,來共同感受這個免費開源軟件的魅力,以及帶給我們的價值呢?
那么本文將給您如何快速搭建 Zabbix 監控服務器,如何將 Zabbix 集成到OneAlert 告警平臺上,實現微信和短信通知。
安裝說明
從0開始安裝Zabbix
如果你從來沒有接觸過 Zabbix ,請按照以下步驟安裝 Zabbix ,下面以 Zabbix 2.4.1+OneAlert 實現監控和微信提醒
- Zabbix 服務器: 10.128.17.136 CentOS 6.4 64bit
- 被監控機器: 10.128.17.137 CentOS 6.4 64bit
也可以參考官網安裝
Zabbix 集成在 OneAlert
如果你對 Zabbix 非常熟悉或者機器中已經安裝,請跳過安裝步驟,直接進入OneAlert的Zabbix報警設置。
安裝 Zabbix Server
在服務器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
登陸,創建 Root 管理員
\# mysqladmin -u root password 123456
登陸 MySQL
\# mysql -uroot -p123456
創建 zabbix 數據庫,并設置登陸權限
mysql> create database zabbix character set utf8 collate utf8_bin;
mysql> grant all privileges on zabbix.* to zabbix@localhost identified by '<password>';(我設置的密碼為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
將數據庫文件導入到 zabbix 數據庫中
\# 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(上面賦予的登陸權限的用戶名)
DBPassword=123456(上面賦予登陸權限的密碼)
\# vi /etc/httpd/conf.d/zabbix.conf
將配置文件中替換成以下內容
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)
如果此步驟出現問題,請確認/etc/httpd/conf.d/zabbix.conf中的配置正確
配置操作圖如下所示:
User 和 Password 為上面設置的用戶名和密碼
DBUse r=zabbix(上面賦予的登陸權限的用戶名)
DBPassword =123456(上面賦予登陸權限的密碼)
輸入 Hostname 與否都可以。
Zabbix 安裝完成
安裝 Zabbix Agent
在被監控服務器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設置Server=10.128.17.136
\#service zabbix-agent restart`
Zabbix Agent 安裝完畢后,需要登錄 Zabbix Server加入該機器
好了,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.創建 110monitor 通知方式
創建媒體類型Media types,,“Administrator”->“Media types”->“Create media type”
采用腳本模式script,腳本名為110monitor. 系統會在/usr/lib/zabbix/alertscripts/下查找上面的110monitor指令
2.創建110monitor用戶
創建用戶110monitor并設置通知媒介,登錄 zabbix,“Administrator”->“Users”->“create user”
-
將110monitor用戶加入到"Zabbix Administrator組"或者是新建組
-
媒體類型,添加110monitor,并且設置appkey為發送目標
-
設置所有權限"Zabbix Super Admin"
新建 110monitor 用戶
設置媒介類型
設置權限
3.創建觸發動作發送通知
創建告警通知策略,"Configurationg"->"Actions"->"Create action"
-
名稱110monitor
-
主題為trigger和resolve,意味著告警觸發和恢復都會同步到110monitor
-
設置告警內容,注意冒號「:」前的內容不可變更,冒號「:」后的內容可以自行編輯
alarmName:{TRIGGER.NAME} entityName:{HOSTNAME} entityId:{IPADDRESS} value:{TRIGGER.VALUE} eventId:{EVENT.ID} priority:{TRIGGER.SEVERITY} alarmContent:{IPADDRESS} {ITEM.NAME}:{ITEM.VALUE}
注意!自行配制的通知模板是不行的,需要嚴格按照以上配置。
4.測試驗證
將被監控機器 10.128.17.137 的 Ping 禁用下,驗證一把。請確認該機器加了"Template ICMP Ping"監控模版,禁用 ping 測試是否正常通知
\#echo 1 > /proc/sys/net/ipv4/icmp\_echo\_ignore_all禁 ping (看是否配置成功,成功就恢復 ping )
\#echo 0 > /proc/sys/net/ipv4/icmp\_echo\_ignore_all恢復 ping
查看 Agent 日志,出現 sucess 字樣代表成功,如果發送告警通知,則會同步發送微信、移動 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.微信告警
添加成功之后,進入 OneAlert 控制臺,用微信進行掃碼即可用微信實現報警。
6.電話短信報警
通過設置提醒,可以選擇告警的方式是電話、短信還是微信 APP 告警, OneAlert 提供多種方式和多策略的提醒方式
完成
恭喜你 完成 Zabbix 集成配置,微信即可接收告警提醒,并通過”我的告警“查詢所有未處理告警哦。
注意!注冊完畢后默認僅發送郵件提醒,請關注微信號alert110,或者到用戶 -> 具體用戶下配置短信提醒規則。或參考提醒設置
親,到現在可以拋棄老的 139 郵箱、飛信、短信貓、qq 郵箱等間接短信配置提醒方式。
OneAlert 是北京藍海訊通科技有限公司旗下產品,中國首個 SaaS 模式的云告警平臺,集成國內外主流監控/支撐系統,實現一個平臺上集中處理所有IT事件,提升IT可靠性。想了解更多信息,請訪問 OneAlert 官網 。