
Zabbix簡介
官方網站:http://www.zabbix.com/
Zabbix 是企業級監控系統的開源解決方案,是一個基於 WEB 界面的分佈式監控服務器。
主要特點:
Zabbix 安裝不配置簡單,學習成本低,支持多語言(包括中文),免費開源,自動發現服務器與網絡設備,分佈式監視,良好的 WEB 界面交互等通知功能。
Zabbix 主要監控服務器:CPU 負載、內存使用、磁盤使用、網絡狀態、端口監視、日誌監視。
Zabbix 運行機制
Zabbix Server 可以通過 SNMP,Zabbix agent,Ping,端口監視等方法監控服務器狀態。可以在 Linux,Solaris,HP-UX,AIX,FreeBSD,OpenBSD,OX X,Windows 多平台運行。
Zabbix Agent 安裝在被監控的服務器上,主要完成對內存,CPU,磁盤等信息收集。
Agent [ˈeɪdʒənt] 代理人
Zabbix 運行過程圖
Zabbix 運行過程圖

(1)Agent 從服務器中收集相關數據,傳送給 Zabbix Server
(2)Server 把數據存儲到數據庫中
(3)Server 把數據分析之後以 Web 頁面,展示出來。
zabbix-server 監聽端口:10051 ; Agent 監控端口 10050 。
服務端安裝 Zabbix Server 和 Zabbix Agent 兩個服務,客戶端只安裝 Zabbix Agent 一個服務。
Zabbix 服務安裝部署及監控配置
安裝 LAMP 環境
我們需要先構建 LAMP 的環境,因為 Zabbix 通過 PHP 頁面展示數據。
1、安裝 lamp 環境
yum -y install httpd mariadb mariadb-server
yum install centos-release-scl
#安裝官方擴展源
yum -y install rh-php72
#安裝zabbix5.0所需rh-php-72
2、安裝 zabbix 需要的 php 庫
後續安zabbix5.0要求安裝
安裝 Zabbix-server
1、安裝 zabbix yum 源
**註:**zabbix 官方源在中國無法使用,而且每個人網絡環境無法保障,所以我們可以選擇配置本地 yum源進行離線安裝。
xshell上傳所需rpm包

清華大學鏡像源下載,附地址:
yum源
yum -y install https://mirrors.tuna.tsinghua.edu.cn/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
依次安裝
依賴包裝一下
yum install OpenIPMI OpenIPMI-libs OpenIPMI-modalias
unixODBC fping -y
rpm -ivh 這邊不作詳細描述
zabbix-agent #客戶端
zabbix-web #zabbix的web頁面
zabbix-server-mysql #服務器包
zabbix-apache-conf #Apache conf.d下配置文件 ( 4.4裝完web-mysql httpd配置文件下會有zabbix.conf 5.0的話需要單獨安裝)
server安裝過程中會提示需要php依賴。
zabbix-web-deps-scl 這個需要php擴展包若干。
rh-php72-php-mysqlnd
rh-php72-php-bcmath rh-php72-php-fpm rh-php72-php-gd rh-php72-php-ldap rh-php72-php-mbstring
yum -y install rh-php72-php-mysqlnd
yum -y install rh-php72-php-bcmath rh-php72-php-fpm rh-php72-php-gd rh-php72-php-ldap rh-php72-php-mbstring
依賴解決之後 zabbix5.0所需六個包全部裝好。
配置Zabbix Server
啟動數據庫
systemctl restart mariadb.service
systemctl enable mariadb.service
systemctl stop firewalld && systemctl disable firewalld #關閉防火牆
創建初始數據庫
mysql -uroot
MariaDB [(none)]> create database zabbix character set utf8 collate utf8_bin;
**註:**character set utf8:設置數據庫的默認字符集編碼為 utf8 ;
collate utf_bin:是以二進制值比較,也就是區分大小寫,collate 是核對的意思
character [ˈkærəktə®] 特徵 ; collate [kəˈleɪt] 核對,整理
MariaDB [(none)]>
grant all privileges on zabbix.* to zabbix@localhost identified by
'password';
**註:**創建 zabbix 用戶,密碼是 passwod
MariaDB [(none)]> exit;
zabbix表導入mariadb
zcat /usr/share/doc/zabbix-server-mysql-4.4.6/create.sql.gz |
mysql -u zabbix -p zabbix
Enter password: 輸入 password
zcat 命令 用於不真正解壓縮文件,就能顯示壓縮包中文件的內容的場合。
cat直接查看為亂碼
可登錄數據庫查看導入的表
mysql -u root -p zabbix

修改zabbix配置文件
vim /etc/zabbix/zabbix_server.conf
91 # DBHost=localhost #數據庫的 IP 地址 ,默認就可以
100 DBName=zabbix #數據庫名,默認就可以
116 DBUser=zabbix #違接數據庫授的用戶是 zabbix,默認就可以
改:124 # DBPassword=
為:DBPassword=password #mysql 用戶 zabbix 的密碼 password
vim /etc/httpd/conf.d/zabbix.conf
#5.0不安裝zabbix-apache-conf-scl 沒有這個配置文件

Apache Alias 網站別名作用:為站點 URI 定義一個路徑映射關係。
當訪問http://192.168.x.x/zabbix目錄下的文件時,會直接從服務器/usr/share/zabbix 目錄下訪問對應的文件。/usr/share/zabbix 下存儲着 zabbix web 網站代碼。
4.4版本需要在該配置文件中更改時區。
改:20 # php_value date.timezone Europe/Riga
為:20 php_value date.timezone Asia/Shanghai
監控Zabbix Server本身
vim /etc/zabbix/zabbix_agentd.conf
119 Server=127.0.0.1 #指定 zabbix服務器的 IP 地址
160 ServerActive=127.0.0.1 #開啟主動模式
171 Hostname=Zabbix server
改:330 # UnsafeUserParameters=0
為:330 # UnsafeUserParameters=0 #不安全的用戶參數。是否允許自定義腳本傳遞特殊字符作為參數,通常不用開。
擴展:主動模式流程如下:
(1)、Agent 主動找 server 要需要採集的數據
(2)、Server 響應 Agent,發送要採的數據內容
(3)、Agent 開始周期性地收集數據
後期可以在配置時指定客戶端主動模式。
安裝Zabbix-Wbe前端頁面
啟動服務
systemctl restart zabbix-server zabbix-agent httpd mariadb rh-php72-php-fpm
systemctl enable zabbix-server zabbix-agent httpd mariadb rh-php72-php-fpm
瀏覽器訪問
http://192.168.x.x/zabbix

開始檢查環境,確認所有選項都為 ok。

這裡需要修改php.ini 時區
如果不 ok,可以編輯 php.ini 文件,修改環境
vim /etc/php.ini
改: post_max_size = 8M
為: post_max_size = 16M
改: max_execution_time = 30
為: max_execution_time = 300
改: max_input_time = 60
為: max_input_time = 300
改: ;date.timezone =
為: date.timezone = Asia/Shanghai

#輸入用於違接數據庫的詳細信息。Zabbix 數據庫必須已經創建。

#請輸入 Zabbix 服務器的主機名戒主機 IP 地址和端口號,以及安裝的名稱(可選)。
端口0為默認3306
下面兩頁下一步 忘記截圖
登錄Zabbix並配置修改語音為中文 默認用戶名為Admin,密碼zabbix

點擊左下角用戶頭像 更改語言為中文。

暫時安裝就這些。
配置監控進程主機
安裝agent客戶端
rpm -ivh zabbix-agent-5.0.0-1.el7.x86_64.rpm
配置Agentd的配置文件
vim /etc/zabbix/zabbix_agentd.conf
改:Server=127.0.0.1
為:Server=192.168.x.x #zabbix server 地址,可以多個,用「,」隔開
改:ServerActive=127.0.0.1
為:ServerActive=192.168.x.x #主動檢查本主機的數據發送給 Zabbix Server
改:Hostname=Zabbix server
為:Hostname=客戶端ip
啟動服務
systemctl start zabbix-agent && systemctl enable zabbix-agent
netstat -lntp | grep 10050
tcp 0 0 0.0.0.0:10050 0.0.0.0:* LISTEN 5512/zabbix_agentd
tcp6 0 0 :::10050 :::*
在服務端測試通訊
zabbix_get 命令是在 server 端用來檢查 agent 端的一個命令,在添加完主機或者觸發器後,不能正常獲得數據,可以用 zabbix_get 來檢查能否採集到數據,以便判斷問題所在。
zabbix_get 參數說明:
-s --host: 指定客戶端主機名或者 IP
-p --port:客戶端端口,默認 10050
-I --source-address:指定源 IP,寫上 zabbix server 的 ip 地址即可,一般留空,服務器如果有多ip 的時候,你指定一個。
-k --key:你想獲取的 key
zabbix_get -s 192.168.43.42 -p 10050 -k system.uname
Linux xxxxx 3.10.0-693.el7.x86_64 xxxxxxxxxxxxxx
以上可以獲取對方系統版本則證明沒有問題
如果不知道 key 參數可以使用 zabbix_agentd -p 尋找自己想要找的參數
zabbix_agentd -p | grep system.cpu.load
system.cpu.load[all,avg1]
zabbix_get -s 192.168.43.42 -p 10050 -k system.cpu.load[all,avg1]
0.000000
將客戶端主機添加到zabbix服務器上並監控




選擇 zabbix agent 模版監控模板,來監控x 上運行狀態
注: zabbix agent 模板和 zabbix agent active 版本不能同時選擇,有衝突。

選擇模板後點擊添加即可。

添加後狀態為已啟動,等待可用性也變為綠色就可以正常獲取數據了。
原創文章,作者:投稿專員,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/209312.html