[code] - zabbix是一個基於Web界面提供分布式系統監視以及網絡監視功能的企業級的開源解決方案。它能監視各種網絡參數,保證服務器系統的安全運營,並提供靈活的通知機制以讓系統管理員快速定位/解決存在的各種問題。 - zabbix由zabbix-server與可選組件zabbix-agent兩部門組成。 - zabbix-server可以通過SNMP,zabbix agent,ping,端口監視等方法提供對遠程服務器/網絡狀態的監視。 - zabbix-agent需要安裝在被監視的目標服務器上,它主要完成對硬件信息或與操作系統有關的內存,CPU等信息的收集。
[code] - 安裝與配置簡單,學習成本低 - 支持多語言(包括中文) - 免費開源 - 自動發現服務器與網絡設備 - 分布式監視以及WEB集中管理功能 - 可以無agent監視 - 用戶安全認證和柔軟的授權方式 - 通過WEB界面設置或查看監視結果 - email等通知功能 等等
[code] - CPU負荷 - 內存使用 - 磁盤使用 - 網絡狀況 - 端口監視 - 日志監視
Zabbix主要由zabbix server和zabbix agent組成
server端負責從agent端收集監控數據,並存儲在數據庫中,同時對數據進行分析展示,並觸發相關報警
agent端負責監控數據的采集,並發送給server端
數據采集方式除了在被監控主機上部署agent程序外,還可通過ICMP/IPMI/SNMP等協議對網絡設備進行監控,同時配置web監控方式可以監控web頁面的下載速率和響應時間等重要參數
Zabbix proxy是在大規模分布式監控場景中,采用的一種用以分擔server端壓力的分層結構,Proxy只負責一定區域內的數據采集工作,然後定期將數據一次性發送給server,極大的減輕了server的負載壓力,使得可以支持更大規模的監控需求
[code][root@Node1 ~]# yum install httpd mysql mariadb-server php php-mysql注:Centos7以後版本,數據庫為 Mariadb!
[code]#增加zabbix用戶和組 [root@node1 ~]# groupadd zabbix [root@node1 ~]# useradd -g zabbix zabbix #安裝zabbix包 [root@node1 ~]# yum install zabbix zabbix-server zabbix-server-mysql zabbix-get zabbix-sender zabbix-web-mysql zabbix-web zabbix-agent
以MySQL數據庫為例:
[code][root@Node1 ~]# systemctl start mariadb.service [root@Node1 ~]# mysql #授權 MariaDB [(none)]> CREATE DATABASE zabbix CHARACTER SET utf8 COLLATE utf8_bin; Query OK, 1 row affected (0.00 sec) MariaDB [(none)]> GRANT ALL ON zabbix.* TO zbxuser@'%' IDENTIFIED BY 'zbxpass'; Query OK, 0 rows affected (0.00 sec) MariaDB [(none)]> GRANT ALL ON zabbix.* TO zbxuser@'localhost' IDENTIFIED BY 'zbxpass'; Query OK, 0 rows affected (0.00 sec) MariaDB [(none)]> flush privileges; Query OK, 0 rows affected (0.01 sec)請按需要修改用戶名和密碼;
[code]#導入zabbix數據 [root@Node1 ~]# cd /usr/share/doc/zabbix-server-mysql-2.4.8/create/ [root@Node1 create]# ls data.sql images.sql schema.sql [root@Node1 create]# mysql zabbix < schema.sql # 如果僅為proxy創建數據庫,只導入schema.sql即可;否則,請繼續下面的步驟; [root@Node1 create]# mysql zabbix < images.sql [root@Node1 create]# mysql zabbix < data.sql
agent的配置文件為zaabix_agentd.conf,至少應該為其指定server的IP地址;
proxy的配置文件為zabbix_proxy.conf,至少應該為其指定proxy的主機名和server的IP,以及數據庫等相關的配置信息;
[code]修改server配置文件,添加zabbix數據庫密碼 [root@node1 ~]# vim /etc/zabbix/zabbix_server.conf #修改以下內容 DBName=zabbix DBUser=zbxuser #指定zabbix數據庫用戶名 DBPassword=zbxpass #指定zabbix數據庫密碼 ListenIP=172.0.0.1 #服務器IP地址修改Agentd配置文件,更改HOSTNAME為本機的hostname
[code][root@node1 ~]# vim /etc/zabbix/zabbix_agentd.conf Server=172.0.0.1 #server端的ip Hostname=node1.mini.com #主機名 ServerActive=127.0.0.1 #server端的ip修改PHP相關參數
[code][root@node1 ~]# vim /etc/php.ini #主要修改項:php時區 date.timezone = Asia/Shanghai #啟動Zabbix [root@node1 ~]systemctl restart htppd.service [root@node1 ~]systemctl start zabbix-server [root@node1 ~]systemctl start zabbix-agent
如果不能訪問查看防火牆是否關閉!
Step1:下一步。
Step2:如果全部OK的話才能進行下一步的安裝,如果有錯誤請返回到server端檢查相關的軟件包是否安裝。
Step3:需要輸入mysql數據庫帳號密碼,如果數據庫不在zabbix服務器上面,在Host裡面添加數據庫服務器的地址,並且要用grant命令給數據庫授權。
Step4:輸入服務器端 host name or host IP addres;
最後會自動寫入配置文件:zabbix.conf.php,配置完成後出現登陸界面,默認的用戶名為:admin,密碼為:zabbix。
至此,zabbix server端的安裝完畢,我們可以通過浏覽器來訪問。如圖:
開啟監控