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

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

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.

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

安装zabbix-proxy

查看并关闭防火墙和selinux

shell 复制代码
[root@zbx-proxy ~]# systemctl status firewalld
[root@zbx-proxy ~]# getenforce 
Disabled

安装yum源并配置

shell 复制代码
[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和数据库配置

shell 复制代码
[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 Server

Copyright (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并写入数据库

shell 复制代码
[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并启动

shell 复制代码
[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信息,并重启进程

shell 复制代码
[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,启动

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

可以使用snmpwalk来测试一下

shell 复制代码
[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。这里不再测试。

相关推荐
Johny_Zhao6 小时前
Ubuntu安装部署Zabbix网络监控平台和设备配置添加
linux·网络·mysql·网络安全·信息安全·云计算·apache·zabbix·shell·yum源·系统运维·itsm
hnlucky4 天前
《Zabbix Proxy分布式监控实战:从安装到配置全解析》
数据库·分布式·学习·adb·zabbix·集成学习·proxy模式
jay4 天前
Zabbix监控 RabbitMQ 指定消息队列名称(pull_alarms )的消费者
rabbitmq·zabbix·ruby
柳如烟@21 天前
从零开始配置 Zabbix 数据库监控:MySQL 实战指南
数据库·mysql·adb·zabbix
S1lent9o23 天前
CentOS stream 中部署Zabbix RPM软件包公钥验证错误
linux·centos·zabbix
佳腾_1 个月前
【Zabbix技术系列文章】第④篇——Zabbix 数据可视化
运维·信息可视化·zabbix·监控
Source、1 个月前
Zabbix监控K8s集群
docker·kubernetes·zabbix
澜堇2 个月前
企业级部署zabbix分布式监控系统
分布式·zabbix
wusam2 个月前
Centos7搭建Zabbix4.x监控HCL模拟网络设备:zabbix-server搭建及监控基础04
zabbix·hcl·getif·snmp监控
网络工程师_ling2 个月前
Zabbix—企业微信报警群通消息通知
企业微信·zabbix