Zabbix 安裝及微信短信提醒

jopen 9年前發布 | 62K 次閱讀 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 非常熟悉或者機器中已經安裝,請跳過安裝步驟,直接進入OneAlertZabbix報警設置

安裝 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中的配置正確

配置操作圖如下所示:

Zabbix 安裝及微信短信提醒

Zabbix 安裝及微信短信提醒

User 和 Password 為上面設置的用戶名和密碼
DBUse r=zabbix(上面賦予的登陸權限的用戶名)
DBPassword =123456(上面賦予登陸權限的密碼)

輸入 Hostname 與否都可以。 Zabbix 安裝及微信短信提醒

Zabbix 安裝及微信短信提醒

Zabbix 安裝及微信短信提醒

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 安裝及微信短信提醒

Zabbix 安裝及微信短信提醒

Zabbix 安裝及微信短信提醒

好了,Zabbix Agent 安裝完畢。

Zabbix 集成 OneAlert

下載 OneAlert Agent

\#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指令

Zabbix 安裝及微信短信提醒

2.創建110monitor用戶

創建用戶110monitor并設置通知媒介,登錄 zabbix,“Administrator”->“Users”->“create user”

  • 將110monitor用戶加入到"Zabbix Administrator組"或者是新建組

  • 媒體類型,添加110monitor,并且設置appkey為發送目標

  • 設置所有權限"Zabbix Super Admin"

新建 110monitor 用戶

Zabbix 安裝及微信短信提醒

設置媒介類型

Zabbix 安裝及微信短信提醒

設置權限

Zabbix 安裝及微信短信提醒

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}

Zabbix 安裝及微信短信提醒

Zabbix 安裝及微信短信提醒

注意!自行配制的通知模板是不行的,需要嚴格按照以上配置。

Zabbix 安裝及微信短信提醒

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 控制臺,用微信進行掃碼即可用微信實現報警。

Zabbix 安裝及微信短信提醒

6.電話短信報警

Zabbix 安裝及微信短信提醒

通過設置提醒,可以選擇告警的方式是電話、短信還是微信 APP 告警, OneAlert 提供多種方式和多策略的提醒方式

完成

恭喜你 完成 Zabbix 集成配置,微信即可接收告警提醒,并通過”我的告警“查詢所有未處理告警哦。

注意!注冊完畢后默認僅發送郵件提醒,請關注微信號alert110,或者到用戶 -> 具體用戶下配置短信提醒規則。或參考提醒設置

親,到現在可以拋棄老的 139 郵箱、飛信、短信貓、qq 郵箱等間接短信配置提醒方式。

OneAlert 是北京藍海訊通科技有限公司旗下產品,中國首個 SaaS 模式的云告警平臺,集成國內外主流監控/支撐系統,實現一個平臺上集中處理所有IT事件,提升IT可靠性。想了解更多信息,請訪問 OneAlert 官網

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!