一漾月、工作模式
1、被動(dòng)模式
由zabbix server向zabbix agent發(fā)出指令獲取數(shù)據(jù)叽粹,即zabbix agent被動(dòng)的去獲取數(shù)據(jù)并返回給zabbix server冀值,zabbix server周期性的向agent 索取數(shù)據(jù),這種模式的最大問題就是會加大zabbix server的工作量杯道,在數(shù)百臺服務(wù)器的環(huán)境下zabbix server不能及時(shí)獲取到最新數(shù)據(jù),但這也是默認(rèn)的工作方式责蝠。
2党巾、主動(dòng)模式
zabbix agent主動(dòng)采集數(shù)據(jù)并返回給zabbix server,不再需要zabbix serve進(jìn)行干預(yù)霜医,因此主動(dòng)模式在一定程度上可減輕zabbix server的壓力齿拂。
創(chuàng)建一個(gè)主動(dòng)模式的模板
(1)創(chuàng)建新模板
(2)修改配置
二、proxy
zabbix是一個(gè)分布式的監(jiān)控系統(tǒng)肴敛,支持通過代理服務(wù)器zabbix proxy收集zabbix agent的數(shù)據(jù)署海,然后把收集保存在本地?cái)?shù)據(jù)庫并發(fā)送給zabbixserver進(jìn)行統(tǒng)一存儲和展示。
部署主動(dòng)模式proxy
1医男、部署proxy端
(1)修改yum源
wget https://repo.zabbix.com/zabbix/4.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_4.0-3%2Bfocal_all.deb
dpkg -i zabbix-release_4.0-3+focal_all.deb
apt update
(2)安裝zabbix-proxy
apt install zabbix-proxy-mysql
(3)數(shù)據(jù)庫初始化(主動(dòng)模式)
create database zabbix_proxy_active character set utf8 collate utf8_bin;
create user zabbix_proxy_active@"192.168.43.%" identified by '123456';
grant all privileges on zabbix_proxy_active.* to zabbix_proxy_active@"192.168.43.%";
(4)數(shù)據(jù)庫導(dǎo)入數(shù)據(jù)
zcat /usr/share/doc/zabbix-proxy-mysql*/schema.sql.gz | mysql -uzabbix_proxy_active -h192.168.43.108 -p zabbix_proxy_active
(5)修改proxy配置文件
vim /etc/zabbix/zabbix_proxy.conf
ProxyMode=0 #主動(dòng)模式為0砸狞,被動(dòng)模式為1,默認(rèn)為0
Server=192.168.43.108 #zabbix-server的IP地址
ServerPort=10051 #zabbix-server監(jiān)聽的端口
Hostname=zabbix_proxy_active #本機(jī)的hostname镀梭,需要與web端的相同
ListenPort=10051 #監(jiān)聽端口
LogType=file
LogFile=/var/log/zabbix/zabbix_proxy.log
LogFileSize=0 #日志文件最大大小刀森,0為關(guān)閉
EnableRemoteCommands=1 #允許遠(yuǎn)程主機(jī)在本機(jī)執(zhí)行命令
LogRemoteCommands=0 #遠(yuǎn)程主機(jī)執(zhí)行命令是否記錄日志
PidFile=/run/zabbix/zabbix_proxy.pid
SocketDir=/run/zabbix
DBHost=192.168.43.108 #數(shù)據(jù)庫的地址
DBName=zabbix_proxy_active
DBUser=zabbix_proxy_active
DBPassword=123456
ProxyLocalBuffer=720 #數(shù)據(jù)傳輸給server還保存的時(shí)間,單位為小時(shí)报账,建議設(shè)置720
ProxyOfflineBuffer=720 #連接不上server研底,數(shù)據(jù)在proxy保存的時(shí)間,單位為小時(shí)透罢,建議設(shè)置720
HeartbeatFrequency=120 #與server的心跳檢測時(shí)間榜晦,單位為秒
ConfigFrequency=60 #從server端抓取配置文件的時(shí)間間隔,單位為秒琐凭,可以設(shè)置為5分鐘
DataSenderFrequency=60 #給server端發(fā)送數(shù)據(jù)的間隔時(shí)間芽隆,單位為秒浊服,可以設(shè)置為5分鐘
StartPollers=20 #數(shù)據(jù)收集開啟的線程
JavaGateway=192.168.43.109
JavaGatewayPort=10052
StartJavaPollers=20
SNMPTrapperFile=/var/log/snmptrap/snmptrap.log
ListenIP=0.0.0.0
CacheSize=8M #監(jiān)控項(xiàng)獲取后會放在內(nèi)存中统屈,盡量大點(diǎn)
StartDBSyncers=10 #預(yù)先啟動(dòng)進(jìn)程給數(shù)據(jù)庫
HistoryCacheSize=16M #主動(dòng)采集好的數(shù)據(jù)會先放到內(nèi)存中,內(nèi)存的大小
HistoryIndexCacheSize=4M #采集好數(shù)據(jù)的索引
Timeout=30
ExternalScripts=/usr/lib/zabbix/externalscripts
FpingLocation=/usr/bin/fping
Fping6Location=/usr/bin/fping6
LogSlowQueries=3000
AllowRoot=0
User=zabbix
(6)啟動(dòng)程序并設(shè)置為開機(jī)自啟
systemctl start zabbix-proxy.service
systemctl enable zabbix-proxy.service
2牙躺、部署zabbix-agent(centos系統(tǒng))
(1)安裝yum源
rpm -Uvh https://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-2.el7.noarch.rpm
yum clean all
(2)安裝zabbix-agent
yum install zabbix-agent
(3)修改配置文件
vim /etc/zabbix/zabbix_agentd.conf
PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
LogFileSize=0
Server=192.168.43.108,192.168.43.109 #服務(wù)端要添加server和proxy愁憔,添加server端是因?yàn)閍gent模板是被動(dòng)模式
ListenPort=10050
ServerActive=192.168.43.109 #proxy端的地址
Hostname=192.168.43.101
Include=/etc/zabbix/zabbix_agentd.d/*.conf
(4)啟動(dòng)程序,并設(shè)置為開機(jī)自啟
systemctl start zabbix-agent.service
systemctl enable zabbix-agent.service
3孽拷、web端配置
(1)創(chuàng)建代理程序
代理程序的名稱要與配置文件中的hostname相同
(2)添加主機(jī)
(3)添加模板(模板是上文新建的)
部署被動(dòng)模式proxy
1吨掌、部署proxy
部署方式和上文相同
(1)數(shù)據(jù)庫初始化(被動(dòng)模式)
create database zabbix_proxy_passive character set utf8 collate utf8_bin;
create user zabbix_proxy_passive@"192.168.43.%" identified by '123456';
grant all privileges on zabbix_proxy_passive.* to zabbix_proxy_passive@"192.168.43.%";
(2)數(shù)據(jù)庫數(shù)據(jù)導(dǎo)入
zcat /usr/share/doc/zabbix-proxy-mysql*/schema.sql.gz | mysql -uzabbix_proxy_passive -h192.168.43.108 -p zabbix_proxy_passive
(3)修改proxy配置文件
vim /etc/zabbix/zabbix_proxy.conf
ProxyMode=1
Server=192.168.43.108
ServerPort=10051
Hostname=zabbix_proxy_passive
ListenPort=10051
LogType=file
LogFile=/var/log/zabbix/zabbix_proxy.log
LogFileSize=0
EnableRemoteCommands=1
LogRemoteCommands=0
PidFile=/run/zabbix/zabbix_proxy.pid
SocketDir=/run/zabbix
DBHost=192.168.43.108
DBName=zabbix_proxy_passive
DBUser=zabbix_proxy_passive
DBPassword=123456
ProxyLocalBuffer=720
ProxyOfflineBuffer=720
HeartbeatFrequency=120
ConfigFrequency=60
DataSenderFrequency=60
StartPollers=20
JavaGateway=192.168.43.109
JavaGatewayPort=10052
StartJavaPollers=20
SNMPTrapperFile=/var/log/snmptrap/snmptrap.log
ListenIP=0.0.0.0
CacheSize=8M
StartDBSyncers=10
HistoryCacheSize=16M
HistoryIndexCacheSize=4M
Timeout=30
ExternalScripts=/usr/lib/zabbix/externalscripts
FpingLocation=/usr/bin/fping
Fping6Location=/usr/bin/fping6
LogSlowQueries=3000
AllowRoot=0
User=zabbix
(4)啟動(dòng)程序并實(shí)現(xiàn)開機(jī)自啟
systemctl start zabbix-proxy.service
systemctl enable zabbix-proxy.service
2、部署zabbix-agent
部署方式和上文相同
(1)修改配置文件
vim /etc/zabbix/zabbix_agentd.conf
PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
LogFileSize=0
Server=192.168.43.108,192.168.43.110
ServerActive=127.0.0.1
Hostname=192.168.43.102
Include=/etc/zabbix/zabbix_agentd.d/*.conf
(2)啟動(dòng)程序并開機(jī)自啟
systemctl start zabbix-agent.service
systemctl enable zabbix-agent.service
3、web端配置
(1)創(chuàng)建代理程序
(2)創(chuàng)建主機(jī)