Zabbix 安裝及微信短信提醒

##Zabbix簡介php

Zabbix 近幾年獲得了各大互聯網公司的承認,固然第一點歸功與它強大的監控功能,第二點免費開源也獲得了廣大用戶的青睞。Zabbix 能將操做系統中的絕大部分指標進行監控,好比(CPU 負荷,內存使用,網絡情況,端口監視,日誌監視等等等等指標!)。監控指標的廣度是一方面,它強大的功能特色也省去了不少的配置操做。mysql

Zabbix 功能特色:web

  • 自動發現服務器和網絡設備sql

  • 分佈式監控網絡,集中式管理(agent 、server 分開)數據庫

  • 監控指標模版豐富api

  • 可靈活地分配用戶權限服務器

  • 系統各個指標的可視化展現和分析等等微信

##如何讓 Zabbix 更加完美?網絡

雖然 Zabbix 在功能上很是強大,可是它在通知層面也並不是十全十美:app

  • 它如今的告警方式比較單一,默認支持郵件。
  • 相信不少運維工做者對短信的告警已經再熟悉不過了,甚至已經存在抵觸的心理,但仍是指望 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 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

下載 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指令

2.建立110monitor用戶

建立用戶110monitor並設置通知媒介,登陸 zabbix,「Administrator」->「Users」->「create user」

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

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

  • 設置全部權限"Zabbix Super Admin"

新建 110monitor 用戶

設置媒介類型

設置權限

3.建立觸發動做發送通知

建立告警通知策略,"Configurationg"->"Actions"->"Create action"

  • 名稱110monitor

  • 主題爲triggerresolve,意味着告警觸發和恢復都會同步到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 官網

相關文章
相關標籤/搜索