46 張圖詳解 Zabbix 分佈式監控平臺建設

_作者:墨燃筆 _

出處:‍https://u.kubeinfo.cn/c2C7kV‍

zabbix 監控系統概述

zabbix 是什麼?

zabbix 的主要特點

zabbix 的主要功能

zabbix 監控原理:

zabbix agent 安裝在被監控的主機上,zabbix agent 負責定期收集客戶端本地各項數據,併發送至 zabbix server 端,zabbix server 收到數據後,將數據存儲到數據庫中,用戶基於 Zabbix WEB 可以看到數據在前端展現圖像。當 zabbix 監控某個具體的項目, 該項目會設置一個觸發器閾值,當被監控的指標超過該觸發器設定的閾值,會進行一些必要的動作,動作包括:發送信息(郵件、微信、短信)、發送命令(shell 命令、reboot、restart、install 等)。

zabbix 常見的五個系統

zabbix 端口號

安裝 zabbix

zabbix-server  192.168.50.105 zabbix-server-mysql、zabbix-agent
zabbix-agent   192.168.50.110 zabbix-agent2

部署 zabbix 服務端(端口號 10051)

zabbix-server 內存至少 2G,推薦 4G。

zabbix 服務端同時安裝 zabbix-server-mysql 和 zabbix-agent,因爲服務端所在主機自己也要被監控。

關閉防火牆
systemctl disable --now firewalld
setenforce 0
hostnamectl set-hostname zbx-server

#獲取 zabbix 的下載源
rpm -ivh https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm

#更換 zabbix.repo 爲阿里源
cd /etc/yum.repos.d
sed -i 's#http://repo.zabbix.com#https://mirrors.aliyun.com/zabbix#' zabbix.repo

yum clean all && yum makecache

yum install -y zabbix-server-mysql zabbix-agent

#安裝SCL(Software Collections),便於後續安裝高版本的 php,默認 yum 安裝的 php 版本爲 5.4,版本過低,zabbix 5.0 版本對 php 版本最低要 7.2.0 版本。SCL 可以使得在同一臺機器上使用多個版本的軟件,而又不會影響整個系統的依賴環境。軟件包會安裝在 /etc/opt/rh 目錄下。

yum install -y centos-release-scl

#修改 zabbix-front 前端源,安裝 zabbix 前端環境到 scl 環境下
vim zabbix.repo
......
[zabbix-frontend]
......
enabled=1          #開啓安裝源
......

yum install -y zabbix-web-mysql-scl zabbix-apache-conf-scl

#安裝 zabbix 所需的數據庫
yum install -y mariadb-server mariadb

systemctl enable --now mariadb

mysql_secure_installation         #初始化數據庫,並設置密碼,如 abc123

#添加數據庫用戶,以及 zabbix 所需的數據庫信息
mysql -u root -pabc123

CREATE DATABASE zabbix character set utf8 collate utf8_bin;
GRANT all ON zabbix.* TO 'zabbix'@'%' IDENTIFIED BY 'zabbix';
flush privileges;

#導入數據庫信息
rpm -ql zabbix-server-mysql   #查詢 sql 文件的位置

zcat /usr/share/doc/zabbix-server-mysql-5.0.15/create.sql.gz | mysql -uroot -pabc123 zabbix

#修改 zabbix server 配置文件,修改數據庫的密碼
vim /etc/zabbix/zabbix_server.conf
......
DBPassword=zabbix     #124行,指定 zabbix 數據庫的密碼

#修改 zabbix 的 php 配置文件
vim /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf
......
php_value[date.timezone] = Asia/Shanghai  #24行,取消註釋,修改時區

#啓動 zabbix 相關服務
systemctl restart zabbix-server zabbix-agent httpd rh-php72-php-fpm
systemctl enable zabbix-server zabbix-agent httpd rh-php72-php-fpm

瀏覽器訪問:http://192.168.50.105/zabbix
點擊下一步,設置數據庫的密碼 zabbix
安裝完成後,默認的登錄賬號和密碼爲:Admin/zabbix
設置文件界面:點擊左邊菜單欄的【User settings】,【Language】選擇 Chinese(zh_CN),再點擊 Update 更新。

//解決 zabbix-server Web頁面中文亂碼問題
yum install -y wqy-microhei-fonts

cp -f /usr/share/fonts/wqy-microhei/wqy-microhei.ttc /usr/share/fonts/dejavu/DejaVuSans.ttf

部署 zabbix 客戶端(端口號 10050)

zabbix 5.0 版本採用 golang 語言開發的新版本客戶端 agent2 。

zabbix 服務端 zabbix_server 默認使用 10051 端口,客戶端 zabbix_agent2 默認使用 10050 端口。

systemctl disable --now firewalld
setenforce 0
hostnamectl set-hostname zbx-agent01

//服務端和客戶端都配置時間同步
yum install -y ntpdate
ntpdate -u ntp.aliyun.com

//客戶端配置時區,與服務器保持一致
mv /etc/localtime{,.bak}
ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

date

//設置 zabbix 的下載源,安裝 zabbix-agent2
rpm -ivh https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm

cd /etc/yum.repos.d
sed -i 's#http://repo.zabbix.com#https://mirrors.aliyun.com/zabbix#' /etc/yum.repos.d/zabbix.repo

yum install -y zabbix-agent2

//修改 agent2 配置文件
vim /etc/zabbix/zabbix_agent2.conf
......
Server=192.168.50.105
#80行,指定 zabbix 服務端的 IP 地址
ServerActive=192.168.50.105
#120行,指定 zabbix 服務端的 IP 地址
Hostname=zbx-agent01
#131行,指定當前 zabbix 客戶端的主機名

//啓動 zabbix-agent2
systemctl start zabbix-agent2
systemctl enable zabbix-agent2

netstat -natp | grep zabbix
tcp6       0      0 :::10050                :::*                    LISTEN      43654/zabbix_agent2

//在服務端驗證 zabbix-agent2 的連通性
yum install -y zabbix-get    #安裝 zabbix 主動獲取數據的命令

zabbix_get -s '192.168.50.110' -p 10050 -k 'agent.ping'
1

zabbix_get -s '192.168.50.110' -p 10050 -k 'system.hostname'
zbx-agent01

本文由 Readfog 進行 AMP 轉碼,版權歸原作者所有。
來源https://mp.weixin.qq.com/s/GLNcUL8dG7MhCm-A6QPWqg