標籤:流行 const 監控工具 l資料庫 運營 選擇 ext rac 節點
前言
在日常營運工作中,難免會遇到這樣或那樣的故障,如何能在第一時間發現故障,並及時定位故障原因,保證業務不受影響,我想這應該是做好一個營運必須要掌握的技能。但人力不可能即時掌控系統的變化,於是監控系統應運而生,監控便是營運的眼睛,把監控和效能管理做好後,營運就是一件很輕鬆的事情。目前比較流行的開源監控工具有Cacti、Nagios(Icinga)、Zabbix等。本文帶來的是Zabbix基於Proxy分布式部署實現Web監控。
Zabbix簡介
Zabbix是一個基於Web介面提供分布式系統監視以及網路監視功能的企業級的開源解決方案。它能監視各種網路參數,保證伺服器系統的安全運營,並提供靈活的通知機制以讓系統管理員快速定位/解決存在的各種問題。
準系統
資料擷取方式:zabbix agent,agent(active),SNMP,SSH等
資料存放區方式:RDBMS,如MySQL,Pgsql等
資料展示方式:php,web,gui
警示功能:支援警示升級
組件及基礎架構
Zabbix主要由zabbix server和zabbix agent組成
server端負責從agent端收集監控資料,並儲存在資料庫中,同時對資料進行分析展示,並觸發相關警示
agent端負責監控資料的採集,並發送給server端
資料擷取方式除了在被監控主機上部署agent程式外,還可通過ICMP/IPMI/SNMP等協議對網路裝置進行監控,同時配置web監控方式可以監控web頁面的下載速率和回應時間等重要參數
Zabbix proxy是在大規模分布式監控情境中,採用的一種用以分擔server端壓力的分層結構,Proxy只負責一定地區內的資料擷取工作,然後定期將資料一次性發送給server,極大的減輕了server的負載壓力,使得可以支援更大規模的監控需求
一些Zabbix相關教程集合:
Ubuntu 14.04下Zabbix2.4.5 源碼編譯安裝 http://www.linuxidc.com/Linux/2015-05/117657.htm
安裝部署分布式監控系統Zabbix 2.06 http://www.linuxidc.com/Linux/2013-07/86942.htm
《安裝部署分布式監控系統Zabbix 2.06》 http://www.linuxidc.com/Linux/2013-07/86942.htm
CentOS 6.3下Zabbix安裝部署 http://www.linuxidc.com/Linux/2013-05/83786.htm
Zabbix分布式監控系統實踐 http://www.linuxidc.com/Linux/2013-06/85758.htm
CentOS 6.3下Zabbix監控apache server-status http://www.linuxidc.com/Linux/2013-05/84740.htm
CentOS 6.3下Zabbix監控MySQL資料庫參數 http://www.linuxidc.com/Linux/2013-05/84800.htm
64位CentOS 6.2下安裝Zabbix 2.0.6 http://www.linuxidc.com/Linux/2014-11/109541.htm
實現過程實驗拓撲
#系統內容:CentOS6.6#Zabbix Server為LAMP環境#Zabbix Proxy需資料庫支援#Zabbix Server與Zabbix Proxy需時間同步,全部節點已做同步
Zabbix Server配置
快速構建LAMP
[root@node4 ~]# yum install httpd mysql mysql-libs php php-mysql mysql-server php-bcmathphp-gd php-mbstring -y
安裝Zabbix Server所需軟體包
[root@node4 ~]# cd zabbix-2.4/[root@scholar zabbix-2.4]# lszabbix-2.4.0-1.el6.x86_64.rpm zabbix-sender-2.4.0-1.el6.x86_64.rpmzabbix-agent-2.4.0-1.el6.x86_64.rpm zabbix-server-2.4.0-1.el6.x86_64.rpmzabbix-get-2.4.0-1.el6.x86_64.rpm zabbix-server-mysql-2.4.0-1.el6.x86_64.rpmzabbix-proxy-2.4.0-1.el6.x86_64.rpm zabbix-web-2.4.0-1.el6.noarch.rpmzabbix-proxy-mysql-2.4.0-1.el6.x86_64.rpm zabbix-web-mysql-2.4.0-1.el6.noarch.rpm[root@node4 zabbix-2.4]# yum install zabbix-2.4.0-1.el6.x86_64.rpm zabbix-agent-2.4.0-1.el6.x86_64.rpm zabbix-get-2.4.0-1.el6.x86_64.rpm zabbix-se* zabbix-web-* -y
資料庫準備
[[email protected] ~]# vim /etc/my.cnf[mysqld]default-character-set = utf8 #此項可確保zabbix中文介面不亂碼[[email protected] ~]# service mysqld startStarting mysqld: [ OK ]#授權mysql> create database zabbix;Query OK, 1 row affected (0.01 sec)mysql> grant all on zabbix.* to ‘zbuser‘@localhost identified by ‘zbpass‘;Query OK, 0 rows affected (0.09 sec)mysql> flush privileges;Query OK, 0 rows affected (0.00 sec)#匯入zabbix資料[[email protected] ~]# cd /usr/share/doc/zabbix-server-mysql-2.4.0/create/[[email protected] create]# mysql --default-character-set=utf8 zabbix < schema.sql [[email protected] create]# mysql --default-character-set=utf8 zabbix < images.sql [[email protected] create]# mysql --default-character-set=utf8 zabbix < data.sql#--default-character-set=utf8 此項為防止中文亂碼,不用中文則可忽略
配置Zabbix Server
[root@node4 ~]# vim /etc/zabbix/zabbix_server.conf DBHost=localhost #指定資料庫DBName=zabbix #資料庫名DBUser=zbuser #資料庫使用者DBPassword=zbpass #資料庫密碼#其他參數根據實際需求修改即可[root@node4 ~]# vim /etc/zabbix/zabbix_agentd.conf #配置本身agent用以監控自己Server=127.0.0.1,172.16.10.126ServerActive=127.0.0.1,172.16.10.126Hostname=node4.scholar.com[root@node4 ~]# vim /etc/php.ini #配置時區date.timezone = Asia/Shanghai[root@node4 ~]# service httpd restartStopping httpd: [ OK ]Starting httpd: [ OK ][root@node4 ~]# service zabbix-server startStarting Zabbix server: [ OK ][root@node4 ~]# service zabbix-agent startStarting Zabbix agent: [ OK ]
開始安裝
訪問http://172.16.10.126/zabbix
安裝檢測,如有錯誤,安裝所需依賴包即可
填寫資料庫資訊
Name可自訂
Next-Next-Finish即可完成安裝
登陸介面如下,預設使用者admin,密碼zabbix
zabbix2.4預設屏蔽了中文顯示,設定顯示中文
[root@node4 ~]# vim /usr/share/zabbix/include/locales.inc.php#將false改為true‘zh_CN‘ => array(‘name‘ => _(‘Chinese (zh_CN)‘), ‘display‘ => true),#為防止亂碼用楷體替換預設字型[root@node4 ~]# mv simkai.ttf /usr/share/zabbix/fonts/[root@node4 ~]# vim /usr/share/zabbix/include/defines.inc.phpdefine(‘ZBX_GRAPH_FONT_NAME‘, ‘simkai‘);define(‘ZBX_FONT_NAME‘, ‘simkai‘);[root@node4 ~]# service httpd restartStopping httpd: [ OK ]Starting httpd: [ OK ]
修改語言
Zabbix Server配置先到這裡,接下來我們去配置Proxy和Agent
Zabbix Proxy配置
安裝Zabbix Proxy所需軟體包
[root@node3 ~]# cd zabbix-2.4/[root@node3 zabbix-2.4]# lszabbix-2.4.0-1.el6.x86_64.rpm zabbix-sender-2.4.0-1.el6.x86_64.rpmzabbix-agent-2.4.0-1.el6.x86_64.rpm zabbix-server-2.4.0-1.el6.x86_64.rpmzabbix-get-2.4.0-1.el6.x86_64.rpm zabbix-server-mysql-2.4.0-1.el6.x86_64.rpmzabbix-proxy-2.4.0-1.el6.x86_64.rpm zabbix-web-2.4.0-1.el6.noarch.rpmzabbix-proxy-mysql-2.4.0-1.el6.x86_64.rpm zabbix-web-mysql-2.4.0-1.el6.noarch.rpm[root@node3 zabbix-2.4]# yum install zabbix-2.4.0-1.el6.x86_64.rpm zabbix-get-2.4.0-1.el6.x86_64.rpm zabbix-proxy-* -y
資料庫準備
#Proxy端已有資料庫mysql> create database zabbix_proxy;Query OK, 1 row affected (0.00 sec)mysql> grant all on zabbix_proxy.* to ‘zbuser‘@localhost identified by ‘zbpass‘;Query OK, 0 rows affected (0.00 sec)mysql> flush privileges;Query OK, 0 rows affected (0.06 sec)#匯入資料[[email protected] ~]# mysql zabbix_proxy < /usr/share/doc/zabbix-proxy-mysql-2.4.0/create/schema.sql
配置Zabbix Proxy
[root@node3 ~]# vim /etc/zabbix/zabbix_proxy.conf Server=172.16.10.126 #指向Zabbix ServerHostname=node3.scholar.com #主機名稱DBHost=localhost #指定資料庫DBName=zabbix_proxy #資料庫名DBUser=zbuser #資料庫使用者DBPassword=zbpass #資料庫密碼ConfigFrequency=60 #設定檔同步間隔DataSenderFrequency=5 #資料同步間隔#其他參數根據自己實際需求修改即可[root@node3 ~]# service zabbix-proxy startStarting Zabbix proxy: [ OK ]
Zabbix Agent配置
安裝Zabbix Agent所需軟體包
[root@node1 ~]# cd zabbix-2.4/[root@node1 zabbix-2.4]# lszabbix-2.4.0-1.el6.x86_64.rpm zabbix-sender-2.4.0-1.el6.x86_64.rpmzabbix-agent-2.4.0-1.el6.x86_64.rpm zabbix-server-2.4.0-1.el6.x86_64.rpmzabbix-get-2.4.0-1.el6.x86_64.rpm zabbix-server-mysql-2.4.0-1.el6.x86_64.rpmzabbix-proxy-2.4.0-1.el6.x86_64.rpm zabbix-web-2.4.0-1.el6.noarch.rpmzabbix-proxy-mysql-2.4.0-1.el6.x86_64.rpm zabbix-web-mysql-2.4.0-1.el6.noarch.rpm[root@node1 zabbix-2.4]# yum install zabbix-2.4.0-1.el6.x86_64.rpm zabbix-agent-2.4.0-1.el6.x86_64.rpm zabbix-sender-2.4.0-1.el6.x86_64.rpm -y#兩個Agent端都執行此安裝操作
配置Zabbix Agent
[root@node1 ~]# vim /etc/zabbix/zabbix_agentd.confServer=172.16.10.125 #指向proxyServerActive=172.16.10.125 Hostname=node1.scholar.com[root@node1 ~]# service zabbix-agent startStarting Zabbix agent: [ OK ]#全部Agent節點都執行以上配置
添加監控
添加代理
添加監控主機,選擇代理監控
添加模板
#兩台監控主機都執行以上添加操作
查看監控圖表,驗證是否被監控
已經可以擷取監控主機的資訊,Proxy分布式監控部署成功
建立web監控
點擊應用集(Applications),建立應用集
點擊web情境,自訂情境
建立相關步驟
#兩台需要監控的web主機都需建立
查看web狀態
以上便是Zabbix基於Proxy分布式部署實現Web監控的簡單過程,時間有限,就不往下繼續具體完善了,有興趣的朋友可以繼續實現警示功能
Zabbix基於Proxy分布式部署實現Web監控