1. 簡介
zabbix是一個企業級的開源分佈式監控解決方案,由一個國外的團隊持續維護更新,軟件可以自由下載使用,運作團隊靠提供收費的技術支持贏利。
zabbix是一個基於WEB界面的提供分佈式系統監視以及網絡監視功能的企業級的開源解決方案。具備常見的商業監控軟件所有的功能(主機的性能監控、網絡設備性能監控、數據庫性能監控、FTP等通用協議監控、多種告警方式、詳細的報表圖表繪製)
官方地址:
https://www.zabbix.com/
https://www.zabbix.com/documentation/3.4/manual/installation/install
軟件包地址:
https://mirrors.aliyun.com/zabbix/zabbix/3.4/rhel/7/x86_64/zabbix-server-mysql-3.4.10-1.el7.x86_64.rpm
https://mirrors.aliyun.com/zabbix/zabbix/3.4/rhel/7/x86_64/zabbix-web-3.4.10-1.el7.noarch.rpm
https://mirrors.aliyun.com/zabbix/zabbix/3.4/rhel/7/x86_64/zabbix-get-3.4.10-1.el7.x86_64.rpm
https://mirrors.aliyun.com/zabbix/zabbix/3.4/rhel/7/x86_64/zabbix-agent-3.4.10-1.el7.x86_64.rpm
https://mirrors.aliyun.com/zabbix/zabbix/3.4/rhel/7/x86_64/zabbix-web-mysql-3.4.10-1.el7.noarch.rpm
https://mirrors.aliyun.com/zabbix/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-2.el7.noarch.rpm【yum源】
1.1. Zabbix特點
Cacti:適用於對監控時效性要求較低的SNMP監控環境,自定義監控困難。
Nagios: 適合機器較少的公司。
Zabbix:適合機器較多不同地域的分佈式監控。
l Zabbix的主要特點:
- 安裝與配置簡單,學習成本低
- 支持多語言(包括中文)
- 免費開源
- 自動發現服務器與網絡設備
- 分佈式監視以及WEB集中管理功能
- 可以無agent監視
- 用戶安全認證和柔軟的授權方式
- 通過WEB界面設置或查看監視結果
- email等通知功能
1.2. Zabbix功能
l Zabbix主要功能:
- CPU負荷
- 內存使用
- 磁盤使用
- 網絡狀況
- 端口監視
- 日誌監視
1.3. 硬件要求
l 標準配置:
CPU: 8核心2.0GHz
內存: 16GB
硬盤: 300GB
網卡: 1*1000Mbps
l 最低配置:
CPU: 4核心2.0GHz
內存: 4GB
硬盤: 50GB
網卡: 100Mbps
1.4. 系統要求
Linux
l CentOS 6.9
l CentOS 7.4
1.5. 網絡要求
l 準備一個塊網卡支持千兆
2. Zabbix架構
2.1. 部署拓撲
2.2. 基本數據流
2.3. zabbix監控流程
2.4. Zabbix系統架構
l Zabbix兩種工作模式
server 【服務端】
agent 【代理端】
被監控端:通過安裝agent方式採集數據,網絡設備通過SNMP方式採集數據。
Server端:通過收集SNMP和agent發送的數據再通過web前端展示。
3. Zabbix安裝
3.1. 準備環境
l 下載
zabbix-agent-3.4.10-1.el7.x86_64.rpm 【監控主機客戶端】
zabbix-get-3.4.10-1.el7.x86_64.rpm 【提供zabbix_get測試命令】
zabbix-server-mysql-3.4.10-1.el7.x86_64.rpm 【zabbix 主程序包】
zabbix-web-3.4.10-1.el7.noarch.rpm 【提供一個基於PHP開發的WEB平臺】
zabbix-web-mysql-3.4.10-1.el7.noarch.rpm【zabbix 版本的mysql客戶端】
l 安裝LAMP(Linux+Apache+Mysql+PHP)
# yum -y install httpd mariadb-server php php-mysql
l 安裝Zabbix YUM源
# rpm -ivh https://mirrors.aliyun.com/zabbix/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-2.el7.noarch.rpm
3.2. 安裝Zabbix
方法1:RPM包yum安裝
# yum -y localinstall /u01/pkg/*
zabbix-agent-3.4.10-1.el7.x86_64.rpm
zabbix-get-3.4.10-1.el7.x86_64.rpm
zabbix-server-mysql-3.4.10-1.el7.x86_64.rpm
zabbix-web-3.4.10-1.el7.noarch.rpm
zabbix-web-mysql-3.4.10-1.el7.noarch.rpm
設置zabbix 數據庫,並導入數據庫數據
# mysql -uroot -p
mysql> create database zabbix character set utf8 collate utf8_bin;
mysql> grant all privileges on zabbix.* to zabbix@localhost identified by
'123456';
mysql> quit;
# zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p123456 zabbix
編輯zabbix server 配置文件,對數據庫選項進行設置
# vim /etc/zabbix/zabbix_server.conf
DBPassword=123456
設置apache,發佈zabbix web
# vim /etc/httpd/conf.d/zabbix.conf 【取消註釋並設置時區】
php_value date.timezone Asia/Shanghai
方法2:源碼包安裝 【推薦安裝】
下載最新的Zabbix安裝包(https://www.zabbix.com/download_sources)到本地,解壓
# tar zxvf zabbix-3.4.14.tar.gz
l 安裝編譯依賴包
yum install gcc mysql-devel libxml2-devel net-snmp-devel libevent-devel curl-devel php-bcmath php-gd php-mbstring php-xml php-ldap
創建zabbix用戶和用戶組
# groupadd zabbix
# useradd –g zabbix zabbix
useradd --system -g zabbix -d /usr/lib/zabbix -s /sbin/nologin -c "Zabbix Monitoring System" zabbix
啓動MySQL數據庫
# systemctl start mariadb
修改MySQL root用戶密碼(默認密碼爲空)
# mysqladmin -u root -p password 123456
測試能否正常登陸數據庫
# mysql –uroot –p123456
創建Zabbix數據庫
mysql> create database zabbix character set utf8;
mysql> grant all on zabbix.* TO zabbix@'localhost' identified by '123456';
mysql> flush privileges;
導入數據庫sql 【注:導入請按以下順序導入,否則會出現錯誤情況】
# cd zabbix-3.4.14/database/mysql/
# mysql -h localhost -uroot -p123456 zabbix <schema.sql
# mysql -h localhost -uroot -p123456 zabbix <images.sql
# mysql -h localhost -uroot -p123456 zabbix <data.sql
l 編譯安裝
./configure --enable-server --enable-agent --enable-proxy --with-mysql --with-net-snmp --with-libcurl --with-libxml2 --prefix=/usr/local/zabbix
# make
# make install
l web前端安裝配置
查看服務端口
# grep zabbix /etc/services
修改Server配置文件
# vim /usr/local/zabbix/etc/zabbix_server.conf 【基本不用修改,默認即可】
DBPassword=123456
添加web前端php文件
# cd zabbix-3.4.14/frontends/
# cp -rf php /var/×××w/html/
# cd /var/×××w/html
# mv php zabbix
# chown -R apache:apache zabbix
修改php相關參數
# vi /etc/php.ini 修改下面的值,前面有;號的要刪掉
max_execution_time = 300
memory_limit = 128M
post_max_size = 16M
max_input_time = 300
date.timezone = Asia/Shanghai
l 重啓apache
# systemctl restart httpd
l 在瀏覽器中,打開Zabbix URL: http://<server_ip_or_name>/zabbix
http://192.168.200.16/zabbix/setup.php
點擊【Next step】
確保PHP所有OK,然後點擊【Next step】
配置連接mysql,請按照前面安裝時的配置填寫,然後點擊【Next step】
Name處可以填寫網站的名稱,然後點擊【Next step】
點擊【Next step】
提示圖形界面的操作都寫到/etc/zabbix/web/zabbix.conf.php 配置文件中,確認後點擊【Finish】
登陸zabbix前端,默認賬號爲 Admin,默認密碼爲zabbix
3.3. 服務啓動
l 啓動服務並設置開機啓動
# systemctl restart zabbix-server zabbix-agent httpd
# systemctl enable zabbix-server zabbix-agent httpd mariadb
l 啓動zabbix_server 和 zabiix_agent服務
# /usr/local/zabbix/sbin/zabbix_server
# /usr/local/zabbix/sbin/zabbix_agent
l zabbix服務啓動腳本
# cp zabbix-3.4.14/misc/init.d/fedora/core/zabbix_server /etc/init.d/
修改啓動腳本的路徑
# vim /etc/init.d/zabbix_server
BASEDIR=/usr/local/zabbix
zabbix安裝目錄授權
# chown -R zabbix.zabbix /usr/local/zabbix
l 開機啓動
# chkconfig --add zabbix_server
# chkconfig zabbix_server on
# systemctl enable httpd.service
# systemctl enable mariadb.service
# systemctl start httpd.service
# /etc/init.d/zabbix_server restart
4. Zabbix添加監控主機
4.1. 監控Linux主機
l 安裝zabbix-agent
zabbix-agent for linux #下載
# wget https://mirrors.aliyun.com/zabbix/zabbix/3.4/rhel/7/x86_64/zabbix-agent-3.4.10-1.el7.x86_64.rpm
# yum -y localinstall zabbix-agent-3.4.10-1.el7.x86_64.rpm
l 配置zabbix-agent
# vim /etc/zabbix/zabbix_agentd.conf #修改agent配置文件
Server=192.168.200.16 #zabbix服務端內網IP,被動監控
ServerActive=192.168.200.16 #zabbix服務端內網IP,Active表示agent主動推送
# sed -i.bak '/^Server=/c\Server=192.168.200.16' /etc/zabbix/zabbix_agentd.conf sed修改
4.2. 監控windows主機
l 安裝zabbix-agent
zabbix-agent for windows #下載
https://www.zabbix.com/download_agents
瀏覽器訪問zabbix官網:選擇windows對應的版本下載
l 安裝配置zabbix-agent
解壓zabbix_agents_3.4.6.win.zip
修改配置文件 指定server=ip
Server=192.168.2.205
安裝zabbix-agent,以管理員方式運行CMD,執行安裝程序
D:\zabbix_agents_3.4.6.win\bin\win64\zabbix_agentd.exe -c D:\zabbix_agents_3.4.6.win\conf\zabbix_agentd.win.conf -i
#加載配置文件
D:\zabbix_agents_3.4.6.win\bin\win64\zabbix_agentd.exe -c D:\zabbix_agents_3.4.6.win\conf\zabbix_agentd.win.conf -s
#添加windows自啓動服務
l Web端添加主機
配置-主機-創建主機,按下圖配置好後點擊【更新】
選擇監控主機對應的模板,設置好點擊【添加】完成
確認圖標顯示綠色爲正常
l 監控效果圖
l 監控測試方法
在zabbix server上創建監控項前可以先使用zabbix_get來判斷腳本是否正確
# zabbix_get -s 192.168.200.8 -p 10050 -k "system.cpu.load[all,avg1]"
5. Zabbix常見問題
問題1:Zabbix web頁面登錄帳號密碼
解決方法:
zabbix web default account password
account: Admin
pw: zabbix
問題2:解決中文字體亂碼問題
解決方法:
#yum -y install wqy-microhei-fonts
#cp /usr/share/fonts/wqy-microhei/wqy-microhei.ttc /usr/share/fonts/dejavu/DejaVuSans.ttf
問題3:使用源代碼安裝之後, 在zabbix的網頁上不能使用MySQL數據庫。
解決方法:
zabbix需要php支持mysqli;使用源碼安裝php時需要加上–with-mysqli=mysqlnd參數之後在網頁可以顯示。
問題4:
./configure時,提示configure: error: Invalid Net-SNMP directory – unable to find net-snmp-config
解決方法:
# yum install -y net-snmp-devel libxml2-devel libcurl-devel
問題5:網頁安裝zabbix提示要下載配置文件:Unable to create the configuration file.
解決方法:
安裝前一定要關閉,防火牆、Selinux;設置目錄具有寫權限,配置文件會自動保存。
[root@localhost conf]# ll -d /var/www/html/zabbix/conf
drwxr-xr-x. 2 apache apache 104 11月 2 14:36 /var/www/html/zabbix/conf
問題5:Zabbix監控在發生告警時不論是恢復還是異常,報警頁面始終沒有聲音
解決方法:
請使用谷歌瀏覽器嘗試