一、Zabbix概述
作為一個運(yùn)維,需要會使用監(jiān)控系統(tǒng)查看服務(wù)器狀態(tài)以及網(wǎng)站流量指標(biāo),利用監(jiān)控系統(tǒng)的數(shù)據(jù)去了解上線發(fā)布的結(jié)果,和網(wǎng)站的健康狀態(tài)。
利用一個優(yōu)秀的監(jiān)控軟件,我們可以:
- 通過一個友好的界面進(jìn)行瀏覽整個網(wǎng)站所有的服務(wù)器狀態(tài)
- 可以在Web 前端方便的查看監(jiān)控數(shù)據(jù)
- 可以回溯尋找事故發(fā)生時系統(tǒng)的問題和報警情況
1、zabbix是什么
官方網(wǎng)址:www.zabbix.com
官方文檔:https://www.zabbix.com/cn/manuals
- zabbix是一個基于Web 界面的提供分布式系統(tǒng)監(jiān)視以及網(wǎng)絡(luò)監(jiān)視功能的企業(yè)級的開源解決方案。
- zabbix能監(jiān)視各種網(wǎng)絡(luò)參數(shù),保證服務(wù)器系統(tǒng)的安全運(yùn)營;并提供靈活的通知機(jī)制以讓系統(tǒng)管理員快速定位/解決存在的各種問題。
- zabbix由兩部分構(gòu)成,zabbix server(端口:10051)與可選組件zabbix agent(端口:10050)。通過C/S模式采集數(shù)據(jù),通過B/S模式在Web端展示和配置。
- zabbix server 可以通過SNMP,zabbix agent,ping,端口監(jiān)視等方法提供對遠(yuǎn)程服務(wù)器/網(wǎng)絡(luò)狀態(tài)的監(jiān)視,數(shù)據(jù)收集等功能,它可以運(yùn)行在Linux等平臺上。
- zabbix agent需要安裝在被監(jiān)視的目標(biāo)服務(wù)器上,它主要完成對硬件信息或與操作系統(tǒng)有關(guān)的內(nèi)存,CPU等信息的收集。
Server
Zabbix Server需運(yùn)行在LAMP(Linux+Apache+Mysql+PHP)環(huán)境下,對硬件要求低
agent
目前已有的agent基本支持市面常見的OS,包含Linux、HPUX、Solaris、Sun、windows等
SNMP
支持各類常見的網(wǎng)絡(luò)設(shè)備
2、Zabbix原理及流程圖
- zabbix agent安裝在被監(jiān)控的主機(jī)上,zabbix agent負(fù)責(zé)定期收集客戶端本地各項數(shù)據(jù),并發(fā)送至 zabbix server端
- zabbix server收到數(shù)據(jù)后,將數(shù)據(jù)存儲到數(shù)據(jù)庫中
- 用戶基于 Zabbix WEB 可以看到數(shù)據(jù)在前端展現(xiàn)圖像
- 當(dāng)zabbix監(jiān)控某個具體的項目, 該項目會設(shè)置一個觸發(fā)器閾值,當(dāng)被監(jiān)控的指標(biāo)超過該觸發(fā)器設(shè)定的閾值,會進(jìn)行一些必要的動作,包括發(fā)送信息(郵件、微信、短信)、發(fā)送命令(shell 命令、reboot、restart、install 等)
3、Zabbix的優(yōu)點(diǎn)
- 開源,無軟件成本投入
- Server對設(shè)備性能要求低
- 支持設(shè)備多,自帶多種監(jiān)控模板
- 支持分布式集中管理,有自動發(fā)現(xiàn)功能,可以實現(xiàn)自動化監(jiān)控
- 開放式接口,擴(kuò)展性強(qiáng),插件編寫容易
- 當(dāng)監(jiān)控的 item 比較多服務(wù)器隊列此較大時可以采用主動狀態(tài),被監(jiān)控客戶端主動從server端去下載需要監(jiān)控的item然后取數(shù)據(jù)上傳到server端。這種方式對服務(wù)器的負(fù)載比較小。
- Api的支持,方便與其他系統(tǒng)結(jié)合
4、Zabbix的缺點(diǎn)
- 需在被監(jiān)控主機(jī)上安裝agent,所有數(shù)據(jù)都存在數(shù)據(jù)庫里,產(chǎn)生的數(shù)據(jù)據(jù)很大,瓶頸主要在數(shù)據(jù)庫。
- 項目批量修改不方便。
- 社區(qū)雖然成熟,但是中文資料相對較少,服務(wù)支持有限。
- 入門容易,能實現(xiàn)基礎(chǔ)的監(jiān)控,但是深層次需求需要非常熟悉Zabbix并進(jìn)行大量的二次定制開發(fā)難度較大。
- 系統(tǒng)級別報警設(shè)置相對比較多,如果不篩選的話報警郵件會很多;且自定義的項目報警需要自己設(shè)置,過程比較繁瑣。
- 缺少數(shù)據(jù)匯 總功能,如無法查看-組服務(wù)器平均值, 需進(jìn)行二次開發(fā);
5、Zabbix監(jiān)控模式
被動監(jiān)控模式:server向agent 發(fā)起連接
主動模式模式:agent向server 發(fā)起連接
6、Zabbix監(jiān)控架構(gòu)
在實際監(jiān)控架構(gòu)中,zabbix根據(jù)網(wǎng)絡(luò)環(huán)境、監(jiān)控規(guī)模等分了三種架構(gòu):?server-client 、master-node-client、server-proxy-client
1.server-client 架構(gòu)
2.server-proxy-client 架構(gòu)
3.master-node-client
7、Zabbix的程序組件
zabbix 監(jiān)控部署在系統(tǒng)中,包含常見的五個程序: zabbix_server、zabbix_agent、zabbix_proxy、zabbix_get、zabbix_sender 等。
- zabbix server:zabbix 服務(wù)端守護(hù)進(jìn)程,其中 zabbix_agent、zabbix_get、zabbix_sender、zabbix_proxy 的數(shù)據(jù)最終都提交給 zabbix server;
- zabbix agent:客戶端守護(hù)進(jìn)程,負(fù)責(zé)收集客戶端數(shù)據(jù),例如:收集 CPU 負(fù)載、內(nèi)存、硬盤使用情況等;
- zabbix proxy:zabbix 分布式代理守護(hù)進(jìn)程,通常大于 500 臺主機(jī),需要進(jìn)行分布式監(jiān)控架構(gòu)部署;
- zabbix get:zabbix 數(shù)據(jù)接收工具,單獨(dú)使用的命令,通常在 server 或者 proxy 端執(zhí)行獲取遠(yuǎn)程客戶端信息的命令;
- zabbix sender:zabbix 數(shù)據(jù)發(fā)送工具,用戶發(fā)送數(shù)據(jù)給 server 或 proxy 端,通常用戶耗時比較長的檢查。
二、部署Zabbix服務(wù)端(端口:10051)
環(huán)境準(zhǔn)備
部署zabbix的zabbix-server內(nèi)存至少2G,推薦4G。
zabbix 服務(wù)端同時安裝zabbix-server-mysql和zabbix-agent,因為服務(wù)端所在主機(jī)自己也要被監(jiān)控。
節(jié)點(diǎn) | IP地址 | 安裝服務(wù) |
---|---|---|
zabbix-server | 192.168.10.100 | zabbix-server-mysql 、zabbix-agent |
zabbix-agent | 192.168.10.101 | zabbix-agent2 |
1、關(guān)閉防火墻及核心防護(hù)? ?修改主機(jī)名
systemctl stop firewalld ##關(guān)閉防火墻
systemctl disable --now firewalld ##開啟開機(jī)不自啟
setenforce 0 ##關(guān)閉核心防護(hù)
hostnamectl set-hostname zbx-server ##修改主機(jī)名
2、獲取zabbix下載資源
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#' zabbix.repo
yum clean all
yum makecache
yum install zabbix-server-mysql zabbix-agent -y
3、安裝SCL(Software Collections),修改 Zabbix-front 前端源
便于后續(xù)安裝高版本的 php,默認(rèn) yum 安裝的 php 版本為 5.4,版本過低,zabbix 5.0 版本對 php 版本最低要 7.2.0 版本。SCL 可以使得在同一臺機(jī)器上使用多個版本的軟件,而又不會影響整個系統(tǒng)的依賴環(huán)境。軟件包會安裝在 /opt/rh 目錄下。
[root@zbx-server yum.repos.d]#yum install -y centos-release-scl
[root@zbx-server yum.repos.d]#vim zabbix.repo
[root@zbx-server yum.repos.d]#yum install -y zabbix-web-mysql-scl zabbix-apache-conf-scl
4、安裝 zabbix 所需的數(shù)據(jù)庫
yum install -y mariadb-server mariadb
systemctl enable --now mariadb
mysql_secure_installation #初始化數(shù)據(jù)庫,并設(shè)置密碼,如 abc123
5、添加數(shù)據(jù)庫用戶,以及 zabbix 所需的數(shù)據(jù)庫信息
mysql -u root -pabc123
show databases;
CREATE DATABASE zabbix character set utf8 collate utf8_bin;
GRANT all ON zabbix.* TO 'zabbix'@'%' IDENTIFIED BY 'zabbix';
flush privileges;
show databases;
6、導(dǎo)入數(shù)據(jù)庫信息
rpm -ql zabbix-server-mysql #查詢 sql 文件的位置
zcat /usr/share/doc/zabbix-server-mysql-5.0.42/create.sql.gz | mysql -uroot -pabc123 zabbix
7、修改 zabbix server 配置文件,修改數(shù)據(jù)庫的密碼
vim /etc/zabbix/zabbix_server.conf
......
DBPassword=zabbix #124行,指定 zabbix 數(shù)據(jù)庫的密碼
8、修改 zabbix 的 php 配置文件
vim /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf
-----------------------------------------------
php_value[date.timezone] = Asia/shanghai
9、啟動Zabbix相關(guān)服務(wù)
systemctl restart zabbix-server zabbix-agent httpd rh-php72-php-fpm
systemctl enable zabbix-server zabbix-agent httpd rh-php72-php-fpm
10、瀏覽器訪問驗證
瀏覽器訪問:http://192.168.10.100/zabbix,點(diǎn)擊下一步
設(shè)置文件界面:點(diǎn)擊左邊菜單欄的【User settings】,【Language】選擇 Chinese(zh_CN),再點(diǎn)擊 Update 更新
中文模式下產(chǎn)生亂碼?
11、解決 Zabbix-server Web頁面中文亂碼問題
三、部署Zabbix客戶端(端口:10050)
zabbix 5.0 版本采用 golang 語言開發(fā)的新版本客戶端 agent2 。
zabbix 服務(wù)端 zabbix_server 默認(rèn)使用 10051 端口,客戶端 zabbix_agent2 默認(rèn)使用 10050 端口。
1、環(huán)境準(zhǔn)備
[root@localhost ~]#setenforce 0
[root@localhost ~]#systemctl disable --now firewalld
[root@localhost ~]#hostname zbx-agent1
2、服務(wù)端和客戶端都配置時間同步
yum install -y ntpdate
ntpdate -u ntp.aliyun.com
3、客戶端配置時區(qū),要與服務(wù)端保持一致
mv /etc/localtime{,.bak}
ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
date
4、設(shè)置 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
5、修改 agent2 配置文件,并修改配置文件
[root@zbx-agent1 yum.repos.d]#yum install -y zabbix-agent2 #安裝zabbix-agent2
[root@zbx-agent1 yum.repos.d]#vim /etc/zabbix/zabbix_agent2.conf
Server=192.168.10.130 #80行,指定 zabbix 服務(wù)端的 IP 地址
ServerActive=192.168.10.130 #120行,指定 zabbix 服務(wù)端的 IP 地址
Hostname=zbx-agent1 #131行,指定當(dāng)前 zabbix 客戶端的主機(jī)名
#修改完保存退出
6、啟動 zabbix-agent2?
systemctl start zabbix-agent2.service
systemctl enable zabbix-agent2.service
systemctl status zabbix-agent2.service
netstat -natp | grep zabbix
7、在服務(wù)端驗證 zabbix-agent2 的連通性
[root@zbx-server ~]#yum install -y zabbix-get ##安裝 zabbix 主動獲取數(shù)據(jù)的命令
[root@zbx-server ~]#zabbix_get -s "192.168.10.101" -p 10050 -k "agent.ping" ##服務(wù)端對客戶端進(jìn)行連通性測試,返回1表示連通
1
[root@zbx-server ~]#zabbix_get -s "192.168.10.101" -p 10050 -k "system.hostname" ##system.hostname返回客戶端主機(jī)名,表示連通正常
zbx-agent1
8、將客戶端加入服務(wù)端的監(jiān)控主機(jī)
在Web界面添加agent主機(jī)
(1)點(diǎn)擊左邊菜單欄【配置】中的【主機(jī)】,點(diǎn)擊【創(chuàng)建主機(jī)】
(2)再點(diǎn)擊上方菜單欄【模板】
文章來源:http://www.zghlxwxcb.cn/news/detail-855641.html
敬請期待后續(xù)文章來源地址http://www.zghlxwxcb.cn/news/detail-855641.html
到了這里,關(guān)于分布式監(jiān)控平臺---Zabbix的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!