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-agent模式
Proxy代理模式:
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 |
- Zabbix_server基于lamp或lnmp架构。搭建地址:https://blog.csdn.net/weixin_44437026/article/details/87879575.
- Zabbix_agent不需要lamp或lnmp架构。搭建地址:https://blog.csdn.net/weixin_44437026/article/details/87893237.
- 将Zabbix_agent配置文件的server配上Zabbix_proxy地址,不开启主动模式
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代理程序 --> 创建代理
- agent代理程序名称为配置文件的Hostname
- 代理地址为Zabbix_proxy地址
*配置 --> 主机 --> 创建主机
- 主机名称为Zabbix_agent配置文件Hostname
- ip地址为Zabbix_agent的ip
- 最小角改为bjproxy代理。
*验证
上一篇: Python socket编程(2)
下一篇: 12.2.1 访问元素的方式