Zabbix簡介
- zabbix是一個基於Web界面提供分佈式系統監視以及網絡監視功能的企業級的開源解決方案。它能監視各種網絡參數,保證服務器系統的安全運營,並提供靈活的通知機制以讓系統管理員快速定位/解決存在的各種問題。
- zabbix由zabbix-server與可選組件zabbix-agent兩部門組成。
- zabbix-server可以通過SNMP,zabbix agent,ping,端口監視等方法提供對遠程服務器/網絡狀態的監視。
- zabbix-agent需要安裝在被監視的目標服務器上,它主要完成對硬件信息或與操作系統有關的內存,CPU等信息的收集。
zabbix的主要特點:
- 安裝與配置簡單,學習成本低
- 支持多語言(包括中文)
- 免費開源
- 自動發現服務器與網絡設備
- 分佈式監視以及WEB集中管理功能
- 可以無agent監視
- 用戶安全認證和柔軟的授權方式
- 通過WEB界面設置或查看監視結果
- email等通知功能
等等
Zabbix主要功能:
- CPU負荷
- 內存使用
- 磁盤使用
- 網絡狀況
- 端口監視
- 日誌監視
組件及基礎架構
Zabbix主要由zabbix server和zabbix agent組成
server端負責從agent端收集監控數據,並存儲在數據庫中,同時對數據進行分析展示,並觸發相關報警
agent端負責監控數據的採集,併發送給server端
數據採集方式除了在被監控主機上部署agent程序外,還可通過ICMP/IPMI/SNMP等協議對網絡設備進行監控,同時配置web監控方式可以監控web頁面的下載速率和響應時間等重要參數
Zabbix proxy是在大規模分佈式監控場景中,採用的一種用以分擔server端壓力的分層結構,Proxy只負責一定區域內的數據採集工作,然後定期將數據一次性發送給server,極大的減輕了server的負載壓力,使得可以支持更大規模的監控需求
Zabbix安裝
LAMP環境搭建
[root@Node1 ~]# yum install httpd mysql mariadb-server php php-mysql
- 注:Centos7以後版本,數據庫爲 Mariadb!
Zabbix組件安裝
安裝zabbix服務
#增加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
創建數據庫:
- server和proxy的運行都依賴於數據庫,agent則不需要。
以MySQL數據庫爲例:
[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)
- 請按需要修改用戶名和密碼;
#導入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
配置Zabbix
- server的配置文件爲zabbix_server.conf,至少應該爲其配置數據庫等相關的信息;
- agent的配置文件爲zaabix_agentd.conf,至少應該爲其指定server的IP地址;
- proxy的配置文件爲zabbix_proxy.conf,至少應該爲其指定proxy的主機名和server的IP,以及數據庫等相關的配置信息;
修改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
[root@node1 ~]# vim /etc/zabbix/zabbix_agentd.conf
Server=127.0.0.1 #server端的ip
Hostname=node1.mini.com #主機名
ServerActive=127.0.0.1 #server端的ip
修改PHP相關參數
[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
安裝frontend:
- 啓動lamp或lnmp後,通過瀏覽器訪問http:///zabbix即可進行安裝。
如果不能訪問查看防火牆是否關閉!
- Step1:下一步。
- Step2:如果全部OK的話才能進行下一步的安裝,如果有錯誤請返回到server端檢查相關的軟件包是否安裝。
- Step3:需要輸入mysql數據庫帳號密碼,如果數據庫不在zabbix服務器上面,在Host裏面添加數據庫服務器的地址,並且要用grant命令給數據庫授權。
- Step4:輸入服務器端 host name or host IP addres;
- Step1:下一步。
最後會自動寫入配置文件:zabbix.conf.php,配置完成後出現登陸界面,默認的用戶名爲:admin,密碼爲:zabbix。
至此,zabbix server端的安裝完畢,我們可以通過瀏覽器來訪問。如圖:
- 開啓監控