zabbix-proxy代理安装及其他监控方式

zabbix-proxy代理安装及其他监控方式

    • 安装zabbix-proxy
    • server端配置zabbix-proxy
    • 配置被监控的agent
    • 安装中问题解决
    • 监控网络设备
    • JMX和IPMI监控方式

zabbix-proxy的安装,至少需要准备三台机器,一台安装服务端,一台安装agent端,这里就不叙述了,最后一台安装proxy代理,其简单关系结构如下:
在这里插入图片描述
zabbix-proxy主要是为了分担zabbix-server端的压力,收集性能和可用性数据,然后把数据汇报给 zabbix server,主要用来监控远程区域设备,或监控本地网络不稳定区域,简化分布式监控的维护。zabbix proxy 是一个数据收集器,它不计算触发器、不处理事件、不发送报警。

数据流向:proxy 收集到数据之后,首先将数据缓存在本地,然后在一定的时间(由 proxy配置文件中参数 ProxyLocalBuffer 和 ProxyOfflineBuffer 决定,如下)之后传递给 zabbix server,这样就不会因为服务器的任何临时通信问题而丢失数据。

ProxyLocalBuffer:Proxy will keep data locally for N hours, even if the data have already been synced with the server.This parameter may be used if local data will be used by third party applications.

ProxyOfflineBuffer:Proxy will keep data for N hours in case of no connectivity with Zabbix server.
Older data will be lost.

[root@zbx-proxy ~]# cat /etc/zabbix/zabbix_proxy.conf | grep Buffer
### Option: ProxyLocalBuffer
# ProxyLocalBuffer=0
### Option: ProxyOfflineBuffer
# ProxyOfflineBuffer=10

安装zabbix-proxy

查看并关闭防火墙和selinux

[root@zbx-proxy ~]# systemctl status firewalld
[root@zbx-proxy ~]# getenforce 
Disabled

安装yum源并配置

[root@zbx-proxy ~]# rpm -Uvh https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
[root@zbx-proxy ~]#  yum clean all
[root@zbx-proxy ~]# yum makecache
[root@zbx-proxy ~]# yum install centos-release-scl -y
[root@zbx-proxy ~]# sed -i 's#http://repo.zabbix.com#https://mirrors.aliyun.com/zabbix#' /etc/yum.repos.d/zabbix.repo

安装zabbix-proxy和数据库配置

[root@zbx-proxy ~]# yum install zabbix-proxy-mysql zabbix-get -y
[root@zbx-proxy ~]# yum install mariadb-server mariadb -y
[root@zbx-proxy ~]# systemctl start mariadb
[root@zbx-proxy ~]# mysql -uroot -p
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 2
Server version: 5.5.68-MariaDB MariaDB ServerCopyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.MariaDB [(none)]> create database zabbix_proxy character set utf8 collate utf8_bin;
Query OK, 1 row affected (0.00 sec)MariaDB [(none)]> grant all privileges on zabbix_proxy.* to zabbix@'localhost' identified by 'zabbix';
Query OK, 0 rows affected (0.00 sec)MariaDB [(none)]> flush privileges;
Query OK, 0 rows affected (0.00 sec)MariaDB [(none)]> exit
Bye

查询schema.sql.gz并写入数据库

[root@zbx-proxy ~]#  rpm -ql zabbix-proxy-mysql | grep schema.sql.gz
/usr/share/doc/zabbix-proxy-mysql-5.0.40/schema.sql.gz
[root@zbx-proxy ~]# zcat /usr/share/doc/zabbix-proxy-mysql-5.0.40/schema.sql.gz | mysql -uzabbix -pzabbix zabbix_proxy

配置zabbix_proxy.conf并启动

[root@zbx-proxy ~]# sed -i.bak '162a DBPassword=zabbix' /etc/zabbix/zabbix_proxy.conf
[root@zbx-proxy zabbix]# sed -i 's#Server=127.0.0.1#Server=服务端ip#' /etc/zabbix/zabbix_proxy.conf
[root@zbx-proxy zabbix]# sed -i 's#Hostname=Zabbix proxy#Hostname=zbx-proxy#' /etc/zabbix/zabbix_proxy.conf
[root@zbx-proxy zabbix]# grep '^[a-Z]' /etc/zabbix/zabbix_proxy.conf
Server=服务端ip
Hostname=zbx-proxy     #proxy的主机名
LogFile=/var/log/zabbix/zabbix_proxy.log
LogFileSize=0
PidFile=/var/run/zabbix/zabbix_proxy.pid
SocketDir=/var/run/zabbix
DBPassword=zabbix
DBName=zabbix_proxy
DBUser=zabbix
SNMPTrapperFile=/var/log/snmptrap/snmptrap.log
Timeout=4
ExternalScripts=/usr/lib/zabbix/externalscripts
LogSlowQueries=3000
StatsAllowedIP=127.0.0.1
[root@zbx-proxy zabbix]# systemctl start zabbix-proxy 

server端配置zabbix-proxy

登录server端,管理-agent代理程序,写入程序名称(proxy的主机名)和proxy ip,添加
在这里插入图片描述
勾选主机-启用主机
在这里插入图片描述

配置被监控的agent

被监控agent端配置proxy信息,并重启进程

[root@zbx-agent ~]# cat /etc/zabbix/zabbix_agent2.conf | grep -E "^Hostname|^Server"
Server=proxyIP
ServerActive=proxyIP
Hostname=zbx-agent
[root@zbx-agent ~]# systemctl restart zabbix-agent2

server端页面,在配置-主机中,添加agent端信息,由agent代理程序监测中下拉选择配置的proxy代理。模板中添加需要的模板。
在这里插入图片描述

安装中问题解决

安装过程中在配置agent端/etc/zabbix/zabbix_agent2.conf时,proxy端迟迟无法监控agent端,报主机不可达。搭建中使用云服务器,agent端未配置公网IP(模拟内网环境),zabbix_agent2.conf中配置了proxy的公网IP,导致网络不通,zabbix_agent2.conf中替换为proxy私网IP后解决。

监控网络设备

zabbix支持通过SNMP协议监控网络设备
安装SNMP相关包(这里用服务端进行测试,所以只做一台),并配置conf,启动

yum install net-snmp net-snmp-utils
sed -i.bak '57a view systemview included .1' /etc/snmp/snmpd.conf 
systemctl status snmpd.service

可以使用snmpwalk来测试一下

[root@node ~]# snmpwalk -v 2c -c public 127.0.0.1 sysname
SNMPv2-MIB::sysName.0 = STRING: node

接口添加SNMP配置,添加需要模板,配置宏
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

JMX和IPMI监控方式

这两种方式好像用的不是很多,尤其是IPMI的,IPMI需要硬件支持(主板上要具有 BMC 等嵌入式的管理微控制器)。而JMX是通过JVM来监听Java运行状态信息,需要安装zabbix-java-gateway来连接JVM。这里不再测试。

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

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

相关文章

《网络是怎样连接的》2.3节图表(自用)

图4.1:TCP拆分数据与ACK号 图4.2:连接阶段与通信阶段ACK号与序号的交互过程 首先,客户端在连接时需要计算出与从客户端到服务器方向通信相关的序号初始值,并将这个值发送给服务器(①)。 接下来&#xff0c…

基于SpringBoot的企业OA管理系统

文章目录 项目介绍主要功能截图:部分代码展示设计总结项目获取方式🍅 作者主页:超级无敌暴龙战士塔塔开 🍅 简介:Java领域优质创作者🏆、 简历模板、学习资料、面试题库【关注我,都给你】 🍅文末获取源码联系🍅 项目介绍 基于SpringBoot的企业OA管理系统,java项…

【C++PCL】点云处理LCCP分割

作者:迅卓科技 简介:本人从事过多项点云项目,并且负责的项目均已得到好评! 公众号:迅卓科技,一个可以让您可以学习点云的好地方 本专栏特色:根据经验和大家分享每个参数的调试规范,解决大家因为参数的问题而产生的苦恼。 目录 1.原理介绍 2.代码效果 3.源码展示

HTTP协议九种请求方法的异同

HTTP(Hypertext Transfer Protocol)定义了多种请求方法(也称为HTTP方法或动作),用于指定客户端对服务器执行的操作。以下是HTTP协议中常见的九种请求方法: 1. **GET:** - 用于请求指定的资源…

在k8s集群中部署多nginx-ingress

关于ingress的介绍,前面已经详细讲过了,参考ingress-nginx详解和部署方案。本案例ingress的部署使用deploymentLB的方式。 参考链接: 多个ingress部署 文章目录 1. 下载ingress的文件2. 文件资源分析3. 部署ingress3.1 部署第一套ingress3.1…

C# 反射的乌云,MethodInfo的Json序列化参数入参问题

文章目录 前言直接运行MethodInfo运行结果 Json解决ParamterInfo实例化运行结果无法实例化问题部分参数的问题 Json反序列化 经过长达一天的研究,我终于完全的解决的了实战思路方法测试用例运行测试运行结果 代码总结总结 前言 我上篇文章已经基本解决了反射的基本…

众和策略:沪指跌0.91%险守2900点,半导体、金融等板块走低

8日早盘,两市股指低开低走,沪指一度失守2900点,深成指、创业板指跌约1%,科创50指数创前史新低。 到午间收盘,沪指跌0.91%报2902.4点,深成指跌1.17%,创业板指跌0.99%,科创50指数跌超…

python每日学12:面向对象的编程

背景:最近有些时间,打算把python每日学的计划继续执行起来。由于不知道从何入手,就暂定从学习《python学习手册》开始,这本书也是python领域的一本权威著作,各方面都写的非常详细,读起来很有帮助&#xff0…

pythonPandas四:数据操作与转换

当涉及到数据操作和转换时,Pandas提供了许多有用的功能。以下是一些示例说明: 1.数据选择和操作: import pandas as pd# 创建一个示例DataFrame data {Name: [Alice, Bob, Charlie],Age: [25, 30, 35],City: [New York, London, Paris]} d…

HTTP 请求参数之三种格式

Query String Parameters 、Form Data 、 Request Payload 三种格式的区别。主要是因为 Content-Type(用于表明发送数据流的类型) 与请求方式 method 不同,导致传递的数据格式不同。 1. Query String Parameters 格式: ?keyvalu…

07GoF之三种工厂模式

GoF(Gang of Four):四人组,《Design Patterns: Elements of Reusable Object-Oriented Software》(《设计模式》)的作者,设计了23种设计模式.但时代发展,还有其它的设计模式,比如:JavaEE的设计模式(DAO模式…

VSCode安装GitHub Copilot插件方法

VSCode安装GitHub Copilot插件的步骤及注意事项如下: 安装步骤: 确保系统要求: 确保你正在使用的Visual Studio Code版本是最新的,且支持GitHub Copilot。同时,Copilot需要你的操作系统是Windows、macOS或Linux&#x…

如何通过PreMaint状态监测发现设备故障:以振动监测为例

在现代工业环境中,设备的健康状况对于维持生产效率至关重要。计划外停机可能导致巨大的成本损失,因此采用先进的监测技术成为预防性维护的核心策略之一。其中,振动监测作为一种早期故障检测手段,通过PreMaint状态监测系统的引入&a…

【前端面试题】每日一个前端面试专题

一、typeof 与 instanceof 区别?如何instanceof的原理 问题回答思路 typeof和instanceof 都可以检测数据类型,typeof检测如果是基本数据类型返回对应的结果。如果检测是对象的话,默认返回一个object,所以无法区分那种对象。 typeof 数据ins…

组件封装原则

在Vue中封装组件时,遵循低耦合、高内聚、可扩展性和可维护性的原则非常重要。以下是一些实现这些原则的关键点,并结合Vue的实践方式给出案例说明: 1. 单一职责原则: 每个组件专注于一个特定的功能或UI部分,例如&#…

Java动态代理机制,创建代理对象的方法(InvocationHandler,Proxy)

目录 1.什么是动态代理2.如何为Java对象创建一个代理对象 1.什么是动态代理 特点:无侵入式的给代码增加额外的功能。 在Java中,动态代理是一种机制,允许在运行时创建一个代理对象来代替原始对象,并可以在代理对象的方法执行前后追…

Hive操作命令上手手册

内容来自于《大数据Hive离线计算开发实战》 Hive原理 Hive是一个基于Hadoop的数据仓库和分析系统,用于管理和查询大型数据集。以下是Hive的原理: 数据仓库:Hive将结构化的数据文件映射成一张表,并提供类SQL查询功能。用户可以使…

第十五章 ECMAScript6新增的常用语法

文章目录 一、声明关键字二、箭头函数三、解构赋值四、展开运算符五、对字符的补充六、Symbol七、对象的简写语法八、Set和Map九、for-of 一、声明关键字 ES6新增的声明关键字: let,const:声明变量class:声明类import&#xff0c…

《网络是怎样连接的》2.5节图表(自用)

图5.1:ip包结构 图5.2:ip网络包的传输方式 1.以太网的部分也可以替换成其他的东西,例如无线局域网、ADSL、FTTH等,它们都可以替代以太网的角色帮助IP协议来传输网络包 2.根据ARP协议,客户端可以根据ip地址得到下一个路…

最新最简操作系统期末复习(考前速过)

操作系统复习 第一章(操作系统引论)计算机操作系统包括:操作系统的目标:操作系统的作用:未配置操作系统的计算机系统:单道批处理系统:缺点: 多道批处理系统:优点&#xf…