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

news2024/11/23 15:27:07

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.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 install -y zabbix-proxy-mysql zabbix-get
 
#安装 zabbix 所需的数据库
yum install -y mariadb-server mariadb
 
systemctl enable --now mariadb
 
mysql_secure_installation         #初始化数据库,并设置密码,如 abc123
 
#添加数据库用户,以及 zabbix 所需的数据库信息
mysql -u root -pabc123
 
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.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-agent2
 
systemctl 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 -l
 
systemctl 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 -l
 
systemctl restart zabbix-agent2

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

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1862536.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

YOLOv8改进 | 主干网络| 可变形卷积网络C2f_DCN【CVPR2017】

💡💡💡本专栏所有程序均经过测试,可成功执行💡💡💡 专栏目录:《YOLOv8改进有效涨点》专栏介绍 & 专栏目录 | 目前已有40篇内容,内含各种Head检测头、损失函数Loss、B…

基于 ESP8266 和 MQ 气体传感器的微信告警系统设计与实现

接线: ESP8266MQ3vVCCGND GND A0 A0微信通知截图: 摘要:本文主要探讨了一种利用 ESP8266 微控制器与 MQ 气体传感器构建的气体检测微信告警系统。详细阐述了系统的硬件组成、软件设计以及与微信平台的交互机制。通过该系统,能够实时监测环境中的气…

vxe-表尾单元格进行合并后更改其表尾背景颜色

1.场景 在vxe-table的官网API中可以使用footer-cell-class-name给单元格添加背景颜色或者其他样式,但是本人场景进行了表尾合并的操作;参考API进行更改背景颜色失败; 2.解决 利用表尾css类名的区别,用子类选择器进行对应的选择设…

mulesoft --环境安装与搭建

1.mavenjdkpostman 2.anypoint statdio 下载安装 下载 Anypoint Studio & Mule |骡子软件 (mulesoft.com) 填好基本信息后,会发邮件,在邮件中下载,跳到官网下载 3注册账号 Download Anypoint Studio & Mule | MuleSoft 4.Connect…

StarRocks 存算分离成本优化最佳实践

序言 StarRocks 存算分离借助对象存储来实现计算和存储能力分离,而存算分离版本 StarRocks 一般来说有以下三方面成本: 计算成本,也即机器使用成本,尤其是运行在公有云上时存储成本,该部分与对象存储上存储的数据量相…

埃特巴什码加解密小程序

埃特巴什码加解密小程序 这几天在看CTF相关的课程,涉及到古典密码学和近代密码学还有现代密码学。 简单替换密码 Atbash Cipher 埃特巴什码(Atbash Cipher)其实可以视为下面要介绍的简单替换密码的特例,它使用字母表中的最后 一个字母代表第一个字母…

【HarmonyOS4学习笔记】《HarmonyOS4+NEXT星河版入门到企业级实战教程》课程学习笔记(十七)

课程地址: 黑马程序员HarmonyOS4NEXT星河版入门到企业级实战教程,一套精通鸿蒙应用开发 (本篇笔记对应课程第 27节) P27《26.Stage模型-UIAbility的启动模式》 本节讲解 UIAbility的启动模式:Stage模型的应用&#x…

语言的数据结构:树与二叉树(二叉树篇)

语言的数据结构:树与二叉树(二叉树篇) 前言概念特别的二叉树满二叉树完全二叉树 存储结构顺序存储链式存储 查找方式 前言 上文说到了树,有人认为二叉树是树的每一个分支都有两个子节点。其实这也对。但二叉树在此基础上还做了限…

支持离线翻译任意语言的桌面应用程序;单张图像高效生成高质量的 3D 模型;2500种色彩映射的集合,适用于matplotlib和seaborn

✨ 1: Lingo Lingo是一款支持离线翻译任意语言的桌面应用程序 Lingo 是一款支持离线翻译的桌面应用程序,用户可以在不连接互联网的情况下进行多语言翻译。这款软件利用了Meta公司提供的nllb-200-distilled-600M 多语言模型,以实现高效的翻译功能。 没…

jupyter notebook的markdown语法不起作用

在这个界面编辑,发现markdown你编辑的是什么就是什么,不起作用,然而点一下: 右上角“Notebook转发”,就会单独跳出一个jupyter notebook的界面,此时就会奏效:

6.25作业

1.整理思维导图 2.终端输入两个数,判断两数是否相等,如果不相等,判断大小关系 #!/bin/bash read num1 read num2 if [ $num1 -eq $num2 ] then echo num1num2 elif [ $num1 -gt $num2 ] then echo "num1>num2" else echo &quo…

大学生搜题神器网站?分享七个支持答案和解析的工具 #职场发展#学习方法

在现代科技的帮助下,大学生们有幸能够利用各种日常学习工具来提升自己的学习效果。 1.全球翻译官 是一款在线翻译语言的服务平台,在app中,用户能够在线通过语音,拍照来翻译语言,非常的便捷,也支持文字翻译哦 全球翻…

SDA626 3A,4.5V-16V输入,500kHz同步降压型转换器

一般说明 该SDA626是一个完全集成,高效率的3A同步整流降压转换器。该SDA626工作在一个宽的输出电流负载范围高效率该设备提供两种工作模式,PWM控制和PFM模式切换控制,这使得在更广泛的负载范围内具有较高的效率。 SDA626需要最…

浦语·灵笔2 模型部署图片理解实战

效果图镇楼 1、使用 huggingface_hub 下载模型中的部分文件(演示练习与模型实战无关) 使用 Hugging Face 官方提供的 huggingface-cli 命令行工具。安装依赖: pip install -U huggingface_hub 然后新建 python 文件,填入以下代码&#xf…

Ubuntu20.04使用Samba

目录 一、Samba介绍 Samba 的主要功能 二、启动samba 三、主机操作 四、Ubuntu与windows系统中文件互联 五、修改samba路径 一、Samba介绍 Samba 是一个开源软件套件,用于在 Linux 和 Unix 系统上实现 SMB(Server Message Block)协议…

iptables(4)规则匹配条件(源、目、协议、接口、端口)

简介 前面我们已经介绍了iptables的基本原理,表、链,数据包处理流程。如何查询各种表的信息。还有基本的增、删、改、保存的基础操作。 经过前文介绍,我们已经能够熟练的管理规则了,但是我们只使用过一种匹配条件,就是将”源地址”作为匹配条件。那么这篇文章中,我们就来…

为什么小程序每次提交会有很多unpackage下的文件

解决办法.gitignore 文件 .DS_Store /unpackage# local env files .env.local .env.*.local# Log files npm-debug.log* yarn-debug.log* yarn-error.log*# Editor directories and files .idea .vscode *.suo *.ntvs* *.njsproj *.sln *.sw?

获取 S 参数仿真中属性所对应的值

获取 S 参数仿真中属性所对应的值 引言正文对 S41 参数进行获取方法一方法二方法三引言 应该有很多小伙伴有过困惑,在进行 S 参数扫描后,想要可视化一下对应参数的图像,每次手动点击一个是比较麻烦,另一个是显示的效果并不是很美观。此时,如果我们可以使用 Lumerical 脚本…

工作之建造者模式

刚刚开通了一个公众号,会分享一些技术博客和自己觉得比较好的项目,同时会更新一些自己使用的工具和图书资料,后面会整理一些面试资料进行分享,觉得有兴趣的可以关注一下。 项目场景: 工作中最近对接的第三方系统的AP…

数组,链表,红黑树介绍以及性能对比实验

作者:晓宜 🌈🌈🌈 个人简介:携程javaer,阿里云专家博主,csdn后端优质创作者,算法爱好者 ❤️❤️❤️ 一起进步!!!😊 前言 以前学了数…