您的位置:首页 > 汽车 > 时评 > 【zabbix】zabbix 自动发现与自动注册、proxy代理

【zabbix】zabbix 自动发现与自动注册、proxy代理

2024/7/2 4:32:57 来源:https://blog.csdn.net/qq_18296979/article/details/139957284  浏览:    关键词:【zabbix】zabbix 自动发现与自动注册、proxy代理

1、配置zabbix自动发现,要求发现的主机不低于2台

zabbix 自动发现(对于 agent2 是被动模式)
zabbix server 主动的去发现所有的客户端,然后将客户端的信息登记在服务端上。
缺点是如果定义的网段中的主机数量多,zabbix server 登记耗时较久,且压力会较大。
1.确保客户端上的 zabbix-agent2 服务状态正常

systemctl is-active zabbix-agent2.service

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
2.在 Web 页面删除原有的客户端主机
点击左边菜单栏【配置】中的【主机】,勾选原有的客户端主机,点击 删除
在这里插入图片描述
3.在服务端和客户端上配置 hosts 解析

vim /etc/hosts
192.168.99.180 zbx-server
192.168.99.181 zbx-agent01
192.168.99.182 zbx-agent02
192.168.99.130 zbx-agent03

4.在 Web 页面配置自动发现
点击左边菜单栏【配置】中的【自动发现】,点击【创建发现规则】
【名称】设置成 auto_add
【IP范围】设置成 192.168.99.1-254
【更新间隔】设置成 10s
【检查】点击【添加】,【检查类型】选择 Zabbix 客户端,【端口范围】设置成 10500,【键值】设置成 system.uname
【设备唯一性准则】选择 IP地址
【主机名称】选择 DNS名称
【可见的名称】选择 主机名称
勾选 【已启用】,点击 【更新】
在这里插入图片描述
点击左边菜单栏【配置】中的【动作】,上方菜单选择 【发现动作】
勾选 【Auto discovery. Linux servers.】,点击 【启用】

点击左边菜单栏【配置】中的【主机】刷新,等待一段时间后即可刷新出自动发现的客户端主机
在这里插入图片描述

可在服务端查看 zabbix 日志

tail -f /var/log/zabbix/zabbix_server.log

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

2、配置zabbix自动注册,要求发现的主机不低于2台

zabbix agent2 会主动上报自己的信息,发给 zabbix server。
缺点是可能因为配置文件配置错误或者网络不通等原因导致 zabbix agent2 可能找不到 zabbix server。

1.环境准备
点击左边菜单栏【配置】中的【自动发现】,勾选发现规则,点击 禁用
点击左边菜单栏【配置】中的【主机】,勾选原有的客户端主机,点击 删除

2.修改 zabbix-agent2 配置文件
vim /etc/zabbix/zabbix_agent2.conf
......
HostnameItem=system.hostname        #144行,取消注释

在这里插入图片描述

3.在 Web 页面配置自动注册
点击左边菜单栏【配置】中的【动作】,上方菜单选择 【自动注册动作】,点击【创建动作】
【名称】设置成 Auto registration
点击 【添加】,【类型】选择 主机名称,【操作者】选择 包含,【值】设置成 zbx-agent
点击上方菜单栏【操作】,点击【添加】,【操作类型】选择 添加主机,点击 【add】
再点击【添加】,【操作类型】选择 添加到主机群组,【主机群组】选择aaa1,点击 【add】
再点击【添加】,【操作类型】选择 与模板关联,【模板】搜索 Linux,选择 Template OS Linux by Zabbix agent,点击 【add】
点击下方的【添加】

点击左边菜单栏【配置】中的【主机】刷新,等待一段时间后即可刷新出自动发现的客户端主机
在这里插入图片描述

注意:添加条件时需要根据system.uname的值进行判断是否包含Linux,自动发现状态是否等于上,服务类型是否Zabbix客户端,条件处理完成后,操作菜单中,需要有扫描到agent服务器后的具体操作,发信息通知、添加主机、链接模板、添加到主机群组等,否则可能出现监测菜单中的自动发现可以看到,但主机菜单中没有的情况

3、搭建包含zabbix-proxy服务器的zabbix集群

--------- 部署 zabbix 代理服务器 ----------
分布式监控的作用:
●分担 server 的集中式压力
●解决多机房之间的网络延时问题

agent --> proxy --> server
systemctl disable --now firewalld
setenforce 0
hostnamectl set-hostname zbx-proxy#设置 zabbix 的下载源,按照 zabbix-proxy
rpm -ivh https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpmcd /etc/yum.repos.d
sed -i 's#http://repo.zabbix.com#https://mirrors.aliyun.com/zabbix#' /etc/yum.repos.d/zabbix.repoyum install -y zabbix-proxy-mysql zabbix-get#安装 zabbix 所需的数据库
yum install -y mariadb-server mariadbsystemctl enable --now mariadbmysql_secure_installation         #初始化数据库,并设置密码,如 abc123#添加数据库用户,以及 zabbix 所需的数据库信息
mysql -u root -pabc123CREATE 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.42/schema.sql.gz | mysql -uroot -pabc123 zabbix_proxy

修改 zabbix-proxy 配置文件

vim /etc/zabbix/zabbix_proxy.conf
Server=192.168.99.180                #30行,指定 zabbix 服务端的 IP 地址
Hostname=zbx-proxy                  #49行,指定当前 zabbix 代理服务器的主机名
DBPassword=zabbix                   #196行,指定当前数据库 zabbix 用户的密码
ConfigFrequency=6 #250s,每隔多少秒proxy从Zabbix server获取配置数据。
#启动 zabbix-proxy
systemctl restart zabbix-proxy
systemctl enable zabbix-proxy
 
#在所有主机上配置 hosts 解析
vim /etc/hosts
192.168.99.180 zbx-server
192.168.99.181 zbx-agent01
192.168.99.183 zbx-proxy

在 Web 页面配置 agent 代理
点击左边菜单栏【配置】中的【动作】,勾选自动注册规则,点击 禁用
点击左边菜单栏【配置】中的【主机】,勾选原有的客户端主机,点击 删除

点击左边菜单栏【管理】中的【agent代理程序】,点击【创建代理】
【agent代理程序名称】设置为 zbx-proxy
【系统代理程序模式】选择 主动式
【代理地址】设置为 192.168.99.183
点击 【添加】
在这里插入图片描述

配置 agent 使用 proxy
1.在客户端修改 agent2 配置文件

vim /etc/zabbix/zabbix_agent2.conf
Server=192.168.99.183            #80行,指定 zabbix 代理服务器的 IP 地址
ServerActive=192.168.99.183      #125行,指定 zabbix 代理服务器的 IP 地址systemctl restart zabbix-agent2.service 

2.在 Web 页面配置
点击左边菜单栏【配置】中的【主机】,点击【创建主机】
【主机名称】设置成 zbx-agent01
【可见的名称】设置成 zbx-agent01
【群组】选择 Linux server
【Interfaces】的【IP地址】设置成 192.168.99.181
【由agent代理程序监测】选择 zbx-proxy

再点击上方菜单栏【模板】
【Link new tamplates】搜索 Linux ,选择 Template OS Linux by Zabbix agent
点击 【添加】

3.分别在客户端和代理服务器上重启服务

systemctl restart zabbix-agent2systemctl restart zabbix-proxy
点击左边菜单栏【配置】中的【主机】刷新,查看客户端主机监控状态正常在zbx-proxy查看日志
tail -f /var/log/zabbix/zabbix_proxy.log

在这里插入图片描述

4、脚本监测tomcat、nginx服务状态

监测tomcat

服务端192.168.99.180、被监测端192.168.99.182
被监测端安装tomcat、jdk

cd /opt
# 安装Java Development Kit (JDK) 8
rpm -ivh jdk-8u371-linux-x64.rpm
# 向环境变量配置文件中添加Java环境变量
echo "export JAVA_HOME=/usr/java/jdk1.8.0-x64
export CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar
export PATH=$JAVA_HOME/bin:$PATH" >>/etc/profile.d/java.sh
# 使环境变量配置立即生效
sourse /etc/profile.d/java.sh
# 切换到/opt目录,解压Apache Tomcat 9
cd /opt
tar zxvf apache-tomcat-9.0.78.tar.gz
# 将解压的Tomcat移动到/usr/local/tomcat下
mv -f apache-tomcat-9.0.78 /usr/local/tomcat
# 启动Tomcat
/usr/local/tomcat/bin/startup.sh
  1. 创建应用集(管理监控项)
  2. 创建监控项(自定义监控脚本-取值键(跟配置文件要保持一致))

---------- 自定义监控内容 ----------

1.明确需要执行的 linux 命令

 netstat -anp |grep 8080|wc -l

2.创建 zabbix 的监控项配置文件,用于自定义 key

vim /etc/zabbix/zabbix_agent2.conf
#可以将自定义的监控项配置文件创建在 zabbix_agent2.d 目录中
Include=/etc/zabbix/zabbix_agent2.d/*.conf
cd /etc/zabbix/zabbix_agent2.d/vim UserParameter_tomcat.conf
UserParameter=tomcat.alive,netstat -anp |grep 8080|wc -lsystemctl restart zabbix-agent2

3.在服务端验证新建的监控项

zabbix_get -s '192.168.99.182' -p 10050 -k 'tomcat.alive'

在这里插入图片描述
提示:(Not all processes could be identified, non-owned process info
will not be shown, you would have to be root to see it all.)

被监测端登陆root用户,执行如下命令,让其它用户瞬间获得文件所有者的权限

chmod +s /bin/netstat

在这里插入图片描述
在这里插入图片描述
(如果是多实例命令则为: echo "$(netstat -anp |grep java|wc -l )/5"|bc -l
)

监测NGINX

yum部署Nginx

#安装epel-release扩展源
yum -y install epel-release 

在这里插入图片描述
然后

yum -y install nginx
systemctl start nginx

在这里插入图片描述

  1. 创建应用集(管理监控项)
  2. 创建监控项(自定义监控脚本-取值键(跟配置文件要保持一致))

---------- 自定义监控内容 ----------

1.明确需要执行的 linux 命令

systemctl status nginx |grep "Active: active (running)" |wc -l

2.创建 zabbix 的监控项配置文件,用于自定义 key

vim /etc/zabbix/zabbix_agent2.conf
#可以将自定义的监控项配置文件创建在 zabbix_agent2.d 目录中
Include=/etc/zabbix/zabbix_agent2.d/*.conf
cd /etc/zabbix/zabbix_agent2.d/vim UserParameter_nginx.conf
UserParameter=nginx.alive,systemctl status nginx |grep "Active: active (running)" |wc -lsystemctl restart zabbix-agent2

3.在服务端验证新建的监控项

zabbix_get -s '192.168.99.182' -p 10050 -k 'nginx.alive'

在这里插入图片描述
在这里插入图片描述

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com