欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Zabbix分布式监控

程序员文章站 2022-07-11 11:41:09
...

1.Zabbix监控原理

1.1Zabbix监控原理

Agentd安装在被监控的主机上,Agent负责定期收集客户端本地各项数据,并发送至Zabbix Server端,Zabbix Server收到数据,将数据存储到数据库中,用户基于Zabbix WEB可以看到数据在前端展现图像。当Zabbix监控某个具体的项目,改项目会设置一个触发器阈值,当被监控的指标超过该触发器设定的阈值,会进行一些必要的动作,动作包括:发送信息(邮件、微信、短信)、发送命令(SHELL 命令、Reboot、Restart、Install等)

1.2常见架构

Server/Agent模式:
Zabbix分布式监控
zabbix-agent模式
Proxy代理模式:
Zabbix分布式监控

2.环境准备

操作系统 角色 ip
Centos7.4 Zabbix_server 192.168.220.30
Centos7.4 Zabbix_proxy 192.168.220.40
Centos7.4 Zabbix_agent 192.168.220.136

3.搭建Zabbix_proxy

*在192.168.220.40进行一下操作:

//安装mariadb
yum -y install mariadb-server maraiadb-devel
systemctl start mariadb

//创建zabbix用户
useradd zabbix
passwd zabbix

//安装Zabbix_proxy依赖关系
yum -y install  net-snmp-devel curl-devel libevent-devel mysql-devel libcurl-devel libxml2-devel

//编译安装zabbix_proxy(这里是已经下载好的包)
tar xf zabbix-4.4.0.tar.gz
cd zabbix-4.4.0
./configure --prefix=/usr/local/etc/zabbix --enable-proxy --enable-agent --with-mysql --with-net-snmp --with-libcurl --with-libxml2
make && make install

//创建zabbix数据库,创建zabbix用户
mysql -uroot -p
create database zabbix character set utf8 collate utf8_bin;
grant all privileges on zabbix.* to aaa@qq.com identified by 'zabbix123!';
flush privileges;
quit

//导入默认zabbix数据库信息(只导入一个文件)
cd /usr/src/zabbix-4.0.4/database/mysql
mysql -uzabbix -pzabbix123! zabbix < schema.sql

//配置Zabbix_proxy配置文件
vim /usr/local/zabbix/etc/zabbix_proxy.conf
Server=192.168.220.30 #同步指向的server端的IP,非本地IP。可以是server端的主机域名,但要确保proxy端解析server的域名,并且网络可达
Hostname=bjproxy #proxy本地的名称,此名称需要与将来在server端的WEB页面上的代理程序名称一致,名称自定义
LogFile=/var/log/zabbix/zabbix_proxy.log
LogFileSize=0
PidFile=/var/run/zabbix/zabbix_proxy.pid
DBName=zabbix #与上面mysql配置对应
DBUser=zabbix #与上面mysql配置对应
DBPassword=zabbix123! #与上面mysql配置对应
DBPort=3306 #与上面mysql配置对应
ConfigFrequency=120  #主动去server端去拉去配置更新的频率120秒一次
DataSenderFrequency=60  #发送采集的监控数据到服务器端,默认是1秒,我们一分钟发送一次
#roxyLocalBuffer=0        #代理配置文件中的ProxyLocalBuffer和ProxyOfflineBuffer参数控制数据在本地保存多长时间。
StartTrappers=10
StartSNMPTrapper=1 
SNMPTrapperFile=/var/log/snmptrap/snmptrap.log #默认没有这个路径可创建或注释
Timeout=4 
ExternalScripts=/usr/lib/zabbix/externalscripts
LogSlowQueries=3000

//启动Zabbix_proxy服务(建议用zabbix用户启动)
cd /usr/local/zabbix/sbin
./zabbix_proxy

//验证
查看日志文件/var/log/zabbix/zabbix_proxy.log是否报错


4.在Zabbix_server网页上添加代理

*管理 --> agent代理程序 --> 创建代理
Zabbix分布式监控

  • agent代理程序名称为配置文件的Hostname
  • 代理地址为Zabbix_proxy地址

*配置 --> 主机 --> 创建主机

Zabbix分布式监控

  • 主机名称为Zabbix_agent配置文件Hostname
  • ip地址为Zabbix_agent的ip
  • 最小角改为bjproxy代理。

*验证
Zabbix分布式监控