您好,登錄后才能下訂單哦!
一、zabbix簡介
zabbix是一款企業級的監控解決方案,它可以通過SNMP、zabbix專用agent、簡單的系統管理及網絡工具來監控對象,收集信息,并將收集到的信息存儲在數據庫中,通過即時繪制來進行數據展示,并根據閾值,超出及報警,并具有聯動處理的功能,即利用腳本進行服務重啟等操作。在眾多監控工具中,zabbix是有專用的agent端監控工具,在windowns,linux等眾多操作系統,都有其專用的agent端。在網絡設備,如路由器,交換機中,zabbix使用SNMP協議或SSH協議來實現監控功能。zabbix支持的數據存儲有mysql和pgsql數據庫。綜上所述,zabbix可謂是功能眾多,在應用領域,zabbix自1.8版本后,廣為流傳。
自動化監控架構圖如下:
(引自馬哥文檔)
zabbix可監控的對象:
設備/軟件
設備:服務器,路由器,交換機,IO系統
軟件:OS,網絡,應用程序
意外狀況:
主機down機,服務不可用,主機不可達
嚴重事件故障:
磁盤滿了,數據節點down掉了
主機性能指標:
CPU,內存使用情況
趨勢:時間序列數據(一般用于數據展示階段)
zabbix包含的組件:
zabbix-server
zabbix-agent
zabbix-web:GUI,用戶實現zabbix設定和展示
zabbix-proxy:分布式監控環境中的專用組件
zabbix-database:MYSQL,PGSQL(postgreSQL),Oracle,DB2,SQLite
zabbix的常用術語:
主機(host):要監控的網絡設備,可由IP或DNS名稱指定
主機組(host group):主機的邏輯容器,可以包含主機和模板,但同一個組內的主機和模板不能互相鏈接,主機組通常在給用戶或用戶組指派監控權限時使用
監控項(item);一個特定監控指標的相關的數據,這些數據來自于被監控對象,item是zabbix進行數據收集的核心,沒有item,將沒有數據,相對某監控對象來說,每個item都由“key”進行標識
觸發器(trigger):一個表達式,用于評估某監控對象的某特定item內所接收到的數據是否在合理范圍內,即閾值;接收到的數據量大于閾值時,觸發器狀態將從“ok”轉變為“problem”,當數據量再次回歸到合理范圍時,其狀態將從“problem”轉換回“ok”;
事件(event):即發生的一個值得關注的事情,例如觸發器的狀態轉變,新的agent或重新上線的agent的自動注冊等
動作(action):指對于特定事件事先定義的處理方法,通過包含操作(如發送通知)和條件(何時執行操作)
報警升級(escclction):發送警報或執行遠程命令的自定義方案,如每隔5分鐘發送一次警報,共發送5次等
媒介(media):發送通知的手段或通道,如Email、Jabber或SMS等
通知(notification):通過選定的媒介向用戶發送的有關某事件的信息
遠程命令(remote command):預定義的命令,可在被監控主機處于某特定條件下時自動執行
模板(template):用于快速定義被監控主機的預設條目集合,通常包含了item、trigger、graph、screen、application以及low-level discovery rule(較低級別的發現規則);模板可以直接鏈接至單個主機
應用(application):一組item的集合
web場景(web scennario):用于檢測web站點可用性的一個或多個HTTP請求
前端(frontend):zabbix的web接口
zabbix工作流程:
定義HostGroups之后定義Host,Host可以直接使用Template,Template中包含Graphs(展示),Triggers(報警),items(監控項);Host還可以先定義items,再在items上定義Triggers,Triggers其實是定義閾值,而當被監控數值超過了閾值,即觸發Events(事件),由Events激活Actions(動作),由Action來執行腳本重啟服務或其他報警操作,報警操作有郵件,電話等。maintenance定義了在業務上線,軟硬件維護等時期,不產生報警;而items通過agent,snmp,internal,ipmi等方式收集信息。HostGroups的分組可以基于主機類型,地理位置,業務等方式。
zabbix服務器端主要進程:
watchdog:監控server端所有進程
poller:收取agent端數據
httppoller:http專用的poller
discoverer:自動發現agent,并加入監控
alerter:報警
housekeeper:內部管理
pinger:通過ping操作探測主機是否在線
escalator:報警升級
timer:計時器
nodewatcher:監控節點
db_data_syncer:數據庫數據同步器
db_config_syncer:數據庫配置同步器
zabbix的介紹完畢,下面咱們來部署zabbix。
二、zabbix部署
在安裝zabbix之前,提前部署好LAMP或者LNMP。
部署LAMP詳見 ---> 編譯部署LAMP
zabbix可以在官網中獲取,地址:http://www.zabbix.com/download
zabbix官網為我們提供了三種安裝方式:
(1)源碼編譯安裝
# tar -zxvf zabbix-3.2.1.tar.gz 同時安裝server和agent,并支持將數據放入mysql數據中,可使用類似如下配置命令: ./configure --enable-server --enable-agent --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl --with-ssh3 如果僅安裝server,并支持將數據放入mysql數據中,可使用類似如下配置命令: ./configure --enable-server --with-mysql --with-net-snmp --with-libcurl 如果僅安裝proxy,并支持將數據放入mysql數據中,可使用類似如下配置命令: ./configure --prefix=/usr --enable-proxy --with-net-snmp --with-mysql --with-ssh3 如果僅安裝agent,可使用類似如下配置命令: ./configure --enable-agent 而后編譯安裝zabbix即可: # make # make install
(2)配置yum源安裝
[root@jymlinux ~]# rpm -ivh http://repo.zabbix.com/zabbix/2.4/rhel/6/x86_64/zabbix-release-2.4-1.el6.noarch.rpm Retrieving http://repo.zabbix.com/zabbix/2.4/rhel/6/x86_64/zabbix-release-2.4-1.el6.noarch.rpm warning: /var/tmp/rpm-tmp.QBkmAF: Header V4 DSA/SHA1 Signature, key ID 79ea5ed4: NOKEY Preparing... ########################################### [100%] 1:zabbix-release ########################################### [100%]
[root@jymlinux ~]# yum clean all 已加載插件:fastestmirror, langpacks 正在清理軟件源: base extras updates zabbix zabbix-non-supported Cleaning up everything Cleaning up list of fastest mirrors [root@jymlinux ~]# yum makecache
(3)rpm包下載安裝
2.配置zabbix-database,以mysql為例,可使用mysql和pgsql
MariaDB [(none)]> create database zabbix character set utf8; MariaDB [(none)]> grant all on zabbix.* to 'zbxuser'@'localhost' identified by 'zbxpass'; MariaDB [(none)]> grant all on zabbix.* to 'zbxuser'@'192.168.%.%' identified by 'zbxpass'; MariaDB [(none)]> flush privileges; #連接測試 [root@jymlinux ~]# mysql -uzbxuser -hlocalhost -p Enter password: Welcome to the MariaDB monitor. Commands end with ; or \g. Your MariaDB connection id is 4 Server version: 5.5.50-MariaDB MariaDB Server Copyright (c) 2000, 2016, Oracle, MariaDB Corporation Ab and others. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. MariaDB [(none)]> \q Bye
3.安裝zabbix
[root@jymlinux ~]# yum install zabbix zabbix-agent zabbix-get zabbix-sender zabbix-server zabbix-server-mysql zabbix-web zabbix-web-mysql 在httpd中生成zabbix-web的配置文件 [root@jymlinux ~]# cd /etc/zabbix/ [root@jymlinux zabbix]# ls web zabbix_agentd.conf zabbix_agentd.d zabbix_server.conf [root@jymlinux zabbix]# service httpd start Starting httpd: [root@jymlinux zabbix]# ls /etc/httpd/conf.d php.conf README welcome.conf zabbix.conf #有了zabbix.conf這個文件 將zabbix導入數據庫 [root@jymlinux zabbix]# cd /usr/share/doc/zabbix-server-mysql-2.4.8/ [root@jymlinux zabbix-server-mysql-2.4.8]# cd create/ [root@jymlinux create]# mysql zabbix < schema.sql #注意導入順序 [root@jymlinux create]# mysql zabbix < p_w_picpaths.sql [root@jymlinux create]# mysql zabbix < data.sql #如果僅為proxy創建數據庫,只導入schema.sql即可
4.配置zabbix-server
[root@jymlinux ~]# vim /etc/zabbix/zabbix_server.conf ### Option: DBHost # Database host name. # If set to localhost, socket is used for MySQL. # If set to empty string, socket is used for PostgreSQL. # # Mandatory: no # Default: # DBHost=localhost DBHost=192.168.3.8 #填寫連接的數據庫服務器,默認是本機 ### Option: DBUser # Database user. Ignored for SQLite. # # Mandatory: no # Default: # DBUser= DBUser=zabbix ### Option: DBPassword # Database password. Ignored for SQLite. # Comment this line if no password is used. # # Mandatory: no # Default: # DBUser= DBUser=zbxuser #填寫數據庫用戶名 ### Option: DBPassword # Database password. Ignored for SQLite. # Comment this line if no password is used. # # Mandatory: no # Default: # DBPassword= DBPassword=zbxpass #填寫數據庫密碼 其余常用修改選項 ListenIP=localhost #數據庫ip地址 AlertScriptsPath=/usr/local/zabbix/share/zabbix/alertscripts #zabbix運行腳本存放目錄
5.修改PHP時區
[root@jymlinux zabbix]# vim /etc/php.ini date.timezone = 'Asia/Chongqing' #修改時區為重慶
到此,zabbix配置完畢,之后可以使用gui界面來定義對象等監控操作了
如有錯誤,敬請指正。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。