Zabbix的自动发现机制:
Zabbix客户端主动和服务端联系,将自己的地址和端口发送服务端,来实现自动添加主机
客户端是自动的一方
缺点:自定义的网段的主机数量太多,登记耗时会很久,而且这个自动发现机制不是很稳定
在 Web 页面删除原有的客户端主机
点击左边菜单栏【配置】中的【主机】,勾选原有的客户端主机,点击 删除
随后
在 Web 页面配置自动发现
点击左边菜单栏【配置】中的【自动发现】,点击【创建发现规则】
【名称】设置成 mynetwork
【IP范围】设置成 192.168.10.1-254
【更新间隔】设置成 30s
【检查】点击【添加】,【检查类型】选择 Zabbix 客户端,【端口范围】设置成 10050,【键值】设置成 system.uname
【设备唯一性准则】选择 IP地址
【主机名称】选择 DNS名称
【可见的名称】选择 主机名称
勾选 【已启用】,点击 【更新】
点击左边菜单栏【配置】中的【动作】,上方菜单选择 【发现动作】
勾选 【Auto discovery. Linux servers.】,点击 【启用】
点击左边菜单栏【配置】中的【主机】刷新,等待一段时间后即可刷新出自动发现的客户端主机
做主机映射(服务端客户端都做)
开启服务端的日志(时间如果不同步,记得要做时间同步,不然无法实现)
tail -f /var/log/zabbix/zabbix_server.log
配置客户端,怎么让客户端被自动发现
取消注释
Web页面配置
服务端,如果没有发现,客户端服务端不断重启
tail -f /var/log/zabbix/zabbix_agent2.log
若还不行,修改主机名,随后就要改映射地址,配置文件里面的主机名
成功,已经自动发现
Zabbix的代理功能,
代理功能的额核心,代替服务端收集客户端的数据,然后把数据传送给服务端
Agent》proxy》服务端
减轻服务端收集数据的压力
分布式监控的作用:
●分担 server 的集中式压力
●解决多机房之间的网络延时问题
核心图:
如何实现:
客户端:20.0.0.53
代理服务器:20.0.0.54
服务端:20.0.0.51
如何实现:
配置代理服务器:
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 clean && yum makecache
yum install -y zabbix-proxy-mysql zabbix-get
#安装 Zabbix 代理(zabbix-proxy-mysql)和 Zabbix 客户端工具(zabbix-get)
//安装 zabbix 所需的数据库
yum install -y mariadb-server mariadb
systemctl enable --now mariadb
初始化数据库
mysql_secure_installation #初始化数据库,并设置密码,如123456
进去数据库,//添加数据库用户,以及 zabbix 所需的数据库信息
mysql -u root -p123456
CREATE DATABASE zabbix_proxy character set utf8 collate utf8_bin;
GRANT all ON zabbix_proxy.* TO 'zabbix'@'%' IDENTIFIED BY 'zabbix';
flush privileges;
导入数据库信息
rpm -ql zabbix-proxy-mysql #查询 sql 文件的位置
zcat /usr/share/doc/zabbix-proxy-mysql-5.0.40/schema.sql.gz | mysql -uroot -p123456 zabbix_proxy
修改zabbix_proxy配置文件
vim /etc/zabbix/zabbix_proxy.conf
#30行,指定 zabbix 服务端的 IP 地址
#49行,指定当前 zabbix 代理服务器的主机名
#196行,指定当前数据库 zabbix 用户的密码
//启动 zabbix-proxy
systemctl start zabbix-proxy
systemctl enable zabbix-proxy
//在所有主机上配置 hosts 解析
vim /etc/hosts
192.168.233.10 zbx-server
192.168.233.30 zbx-agent01
192.168.233.40 zbx-proxy
配置客户端
首先安装zabbix,同样的操作
修改客户端的配置
vim /etc/zabbix/zabbix_agent2.conf
#80行,指定 zabbix 代理服务器的 IP 地址
#120行,指定 zabbix 代理服务器的 IP 地址
主机名修改为本机
//在 Web 页面配置 agent 代理
点击左边菜单栏【配置】中的【动作】,勾选自动注册规则,点击 禁用
点击左边菜单栏【配置】中的【主机】,勾选原有的客户端主机,点击 删除
点击左边菜单栏【管理】中的【agent代理程序】,点击【创建代理】
【agent代理程序名称】设置为 zbx-proxy
【系统代理程序模式】选择 主动式
【代理地址】设置为 192.168.233.40
点击 【添加】
在 Web 页面配置
点击左边菜单栏【配置】中的【主机】,点击【创建主机】
【主机名称】设置成 zbx-agent01
【可见的名称】设置成 zbx-agent01
【群组】选择 Linux server
【Interfaces】的【IP地址】设置成 192.168.233.30
【由agent代理程序监测】选择 zbx-proxy
再点击上方菜单栏【模板】
【Link new tamplates】搜索 Linux ,选择 Template OS Linux by Zabbix agent
点击 【添加】
分别在客户端和代理服务器上重启服务
systemctl restart zabbix-agent2
systemctl restart zabbix-proxy
成功
给test3加一个模板,代理端和客户端重启一下
再点击上方菜单栏【模板】
【Link new tamplates】搜索 Linux ,选择 Template OS Linux by Zabbix agent
点击 【添加】
就可以去图形查看了
Zabbix的SNMP监控:
SNMP:simple network management protocol (简单网络管理协议)
主要用来监控和管理网络设备的标准协议
监控交换机和路由器等网络设备
监控网络设备几个方面:
设备监控:路由器,交换机,服务器,打印机,三层交换机
性能监控:带宽的利用率,CPU利用率,可以通过图形了解网络的负载情况
故障告警:邮件,短信
如何实现:
安装两个组件
yum install -y net-snmp net-snmp-utils
修改 snmp 的配置文件,并启动服务
vim /etc/snmp/snmpd.conf
57行添加
view systemview included .1
systemctl start snmpd
Snmp是一个树形结构,.1监控所有snmp的协议数
命令行工具:
使用 snmp 命令测试
snmpwalk -v 2c -c public 127.0.0.1 sysname
-v version snmp使用的版本是什么
2c 2使用的是snmpV2协议 c共同体的字符串 snmp的协议
-c public firewalld
显示firewall的公共区域public的主机名
使用的是snmpv2协议
Syname: snmpkey(键值)
在 Web 页面配置 snmp 方式监控
点击左边菜单栏【配置】中的【主机】,点击 Zabbix server
【接口】点击【添加】选择 SNMP ,端口设置成 161
点击上方菜单栏【模板】,【链接的模板】中的所有 agent 模板选择取消链接并清理
再在【Link new templates】中搜索 Linux SNMP,选择 Template OS Linux SNMP
点击 【更新】,等待一段时间后 Zabbix server 的可用性就变成了 SNMP 监控方式。
如若出不来,重启
- Zabbix总结:就是一个监控服务程序 网络设备,主机的软件,但是不能很好的监控容器的运行,市面上zabbix是一个一个很成熟的软件,由所有的一切模板,脚本呢,docker和k8s容器化运行的yml
Zabbix的组成部分:
zabbix-server(收集和监控)
Zabbix-agent (客户端,发送数据服务端)
Zabbix-proxy(代理服务器,代理服务器需要安装的数据,保存客户端的数据,如何再发送给服务端(代收器))
Zabbix的配置:先有主机,再有模板,模板当中设置当中配置监控项,再监控项之后配置触发器,图形(可选)