Zabbix概述
Zabbix是一個高度集成的企業級開源網絡監控解決方案,與Cacti,Nagios類似,提供分佈式監控以及集中的Web管理界面。被監控對象只要支持SNMP協議或者運行Zabbix_agent代理程序即可。Zabbix的官方網站爲http://www.zabbix.com/,軟件可以自由下載使用。
Zabbix與Cacti,Nagios的比較;
都是基於SNMP協議進行管理
SNMP:簡單網絡管理協議(SNMP),由一組網絡管理的標準組成,包含一個應用層協議(application layer protocol)、數據庫模型(database schema)和一組資料物件
Cacti: 小型監控軟件 十幾臺服務器可以,優點是圖像化處理監控比較突出,
NAGIOS:優點具有報警機制,在系統或服務狀態異常時會發出emai或短信報警第一時間通知網絡運維人員,在狀態恢復後會發出正常的電子郵件或短信通知,但是搭建比較麻煩。
Zabbix: 結合前兩者優點,搭建簡便,既可以有很好的圖像處理界面,也可以進行短信,郵件報警機制。
Zabbix具備常見商業監控軟件所具備的功能特點:
主機性能監控,網絡設備性能監控,數據庫性能監控,ftp等通用協議的監控
能夠利用靈活的可定製警告機制,允許用戶對事件發送基於E-mail的警告,保證相關維護人員對問題作出快速響應;
還可以利用存儲數據提供傑出的報表及實時的圖形化數據處理,實現對linux,windows主機的7*24小時集中監控;
監控的項目可包括CPU,內存,磁盤,網卡流量,服務可用性等各種資源。
Zabbix的工作模式;
Zabbix通過C/S模式採集數據,通過B/S模式在web端展示和配置。其中Zabbix_Server可運行在CentOS,RHEL,SUSE,Ubuntu等linux系統上,還需要使用LAMP平臺來承載數據庫和web界面。
被監控端運行zabbix_agent服務獲得host數據,然後把收集到的數據發送給Server(主動模式)或者是Server主動來拿取數據(被動模式)
環境介紹:
主機 | IP地址 | 操作系統 |
Zabbix監控端 | 192.168.195.147 | CentOS7 |
被監控端 | 192.168.195.169 | CentOS7 |
部署Zabbix監控端
一,首先安裝配置LAMP環境,以滿足zabbix的代碼部署要求
1,關閉防火牆,selinux,yum安裝httpd,mariadb,php等相關軟件包
systemctl stop firewalld.service
setenforce 0
yum install -y httpd mariadb-server mariadb php php-mysql php-gd libjpeg* php-ldap php-odbc php-pear php-xml php-xmlrpc php-mhash
2,修改httpd配置文件
vi /etc/httpd/conf/httpd.conf
ServerName www.yun.com:80
<IfModule dir_module>
DirectoryIndex index.html index.php
</IfModule>
3,修改爲中國時區
vi /etc/php.ini
date.timezone = PRC
4,然後開啓httpd服務,開啓mariadb服務
service httpd start
service mariadb start
netstat -antp | egrep '80|3306' 查看httpd,mariadb服務端口
5,初始化mariadb配置
mysql_secure_installation //初始化mariadb安全配置,進行交互配置,配置帳戶root的登錄密碼,後面的選擇n,最後選擇y
6,進入數據庫給zabbix用戶設置管理權限
create database zabbix character set utf8 collate utf8_bin;
grant all privileges on zabbix.* to 'zabbix'@'%' identified by 'abc123';
7,數據庫中會含有一些空白用戶,會影響zabbix連接數據庫,所以需要將這些空白用戶刪除掉。
8,在web站點編寫php網頁文檔,測試連接數據庫
vim /var/www/html/index.php
<?php
$link=mysql_connect('192.168.195.147','zabbix','abc123');
if($link) echo "<h1>ok!!</h1>";
else echo "<h1>failed!!</h1>";
mysql_close();
?>
9,測試數據庫連接正常
二,安裝Zabbix服務端
1,使用yum安裝zabbix服務端及需要的軟件包
yum install php-bcmath php-mbstring -y
rpm -ivh http://repo.zabbix.com/zabbix/3.5/rhel/7/x86_64/zabbix-release-3.5-1.el7.noarch.rpm //生成含有zabbix包的yum源
yum install zabbix-server-mysql zabbix-web-mysql -y //安裝zabbix服務
2,將zabbix相關數據導入數據庫中
zcat /usr/share/doc/zabbix-server-mysql-4.0.0/create.sql.gz | mysql -uzabbix -p zabbix
3,修改zabbix配置文件,添加密碼設置
vim /etc/zabbix/zabbix_server.conf
grep -n '^'[a-Z] /etc/zabbix/zabbix_server.conf
4,修改時區
vi /etc/httpd/conf.d/zabbix.conf
php_value date.timezone Asia/Shanghai
5,將字體修改爲楷體,防止頁面中文亂碼問題
vi /usr/share/zabbix/include/defines.inc.php
從微軟系統下複製相應的字體文件到 /usr/share/zabbix/fonts 目錄中注意字體名稱要對應文件,且注意大小寫
百度雲盤提供字體文件包免費下載:https://pan.baidu.com/s/1UvJSsLW5_C3M25BEm6HUYg
cp STKAITI.TTF /usr/share/zabbix/fonts/
6,開啓zabbix服務,並設置爲開啓自啓項
systemctl start zabbix-server
systemctl enable zabbix-server
service httpd restart //重啓httpd服務
三,使用瀏覽器安裝zabbix監控軟件
打開瀏覽器輸入:http://192.168.195.147/zabbix/
進行安裝,安裝完成後輸入默認用戶:Admin 密碼:zabbix
點擊用戶,設置中文界面
zabbix的監控界面
四,安裝被監控端:zabbix_agentd
1,關閉防火牆,selinux,並使用yum安裝zabbix-agent
systemctl stop firewalld.service
setenforce 0
rpm -ivh http://repo.zabbix.com/zabbix/3.5/rhel/7/x86_64/zabbix-release-3.5-1.el7.noarch.rpm //安裝zabbix的yum源
yum install -y zabbix-agent //安裝zabbix客戶端
2,安裝完成之後修改配置文件
vim /etc/zabbix/zabbix_agentd.conf
Server=192.168.195.147
ServerActive=192.168.195.147
Hostname=agent
grep -n '^'[a-Z] /etc/zabbix/zabbix_agentd.conf
3,開啓服務
systemctl enable zabbix-agent.service
systemctl restart zabbix-agent.service
netstat -anpt | grep zabbix
五,在web界面配置添加被監控端主機及監控項
給被監控主機添加模板,選擇監控項