
Zabbix-proxy的用途和构造图
Zabbix服务器建立在金山词霸云上. 山云之间的通信无法在Intranet上进行. 如果直接与Zabbix服务器和Redis联系,如果网络信息被拦截,则整个金山zabbix可能会遭受损失. 因此,如果存在这样的“远程监视+当监视的位置通信不方便时”,则构建一个zabbix-proxy来解决该问题. Zabbix-proxy是监视代理服务器. 它收集监视的数据并将其首先存储在缓冲区中. 可以通过配置文件设置保存时间,然后将其传输到zabbix-server,这也大大减轻了zabbix-server的压力. 监视代理程序需要一个单独的.
有人可能会问,并说您的zabbix-proxy和Ali的redis仍在公共网络上,但是我只需要配置防火墙规则以允许他们确保通信. 通过防火墙提高安全系数.

安装Mysql 5.5
Zabbix代理机器状况: 金山词霸centos 6.5,安装zabbix版本: 3.0.8
yum list installed | grep mysql #列出已经安装过的mysql情况 yum -y remove mysql-libs.x86_64 #把之前的mysql连根拔起 [[email protected] opt]# rpm -ivh http://repo.mysql.com/yum/mysql-5.5-community/el/6/x86_64/mysql-community-release-el6-5.noarch.rpm Retrieving http://repo.mysql.com/yum/mysql-5.5-community/el/6/x86_64/mysql-community-release-el6-5.noarch.rpm Preparing... ########################################### [100%] 1:mysql-community-release########################################### [100%]
现在我们需要修改/etc/yum.repos.d/mysql-community.repo文件,将5.5启用更改为1,将5.6启用更改为0:
# Enable to use MySQL 5.5 [mysql55-community] name=MySQL 5.5 Community Server baseurl=http://repo.mysql.com/yum/mysql-5.5-community/el/6/$basearch/ enabled=1 #这里改成1 gpgcheck=1 gpgkey=file:/etc/pki/rpm-gpg/RPM-GPG-KEY-mysql # Enable to use MySQL 5.6 [mysql56-community] name=MySQL 5.6 Community Server baseurl=http://repo.mysql.com/yum/mysql-5.6-community/el/6/$basearch/ enabled=0 #这里改成0 gpgcheck=1 gpgkey=file:/etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
然后执行#yum install mysql-community-client mysql-community-devel mysql-community-server php-mysql以安装服务器和客户端. 安装完成后,您可以#mysql -h127.0.0.1看看.

安装后,修改/etc/my.cnf,如图所示:

innodb_buffer_pool_size = 512M #这个根据服务器性能填写,这个机器是2核2G的,所以我拿出1G给mysql innodb_file_per_table=1 #这个是新增的字段,设置InnoDB为独立表空间模式,每个的每个表都会生成一个数据目录
在安装MySQL之后,我们需要导入表.
service mysqld start mysqladmin -uroot password '123456' mysql -uroot -p123456 -e 'create database zabbix_proxy character set utf8;' mysql -uroot -p123456 -e "grant all privileges on zabbix_proxy.* to [email protected] identified by 'zabbix';" mysql -uroot -p123456 -e "flush privileges;" mysql -uzabbix -pzabbix zabbix_proxy </解压路径/zabbix-3.0.8/database/mysql/schema.sql
到目前为止,mysql部分已全部完成.
安装Zabbix代理
首先转到%20Latest%20Stable / 3.0.8 /下载zabbix-3.0.8.tar.gz并将其上传到代理服务器.
tar -zxvf zabbix-3.0.8.tar.gz ./configure --prefix=/usr/local/zabbix-3.0.8 --sysconfdir=/etc/zabbix --enable-proxy --enable-agent --enable-ipv6 --with-mysql=/usr/bin/mysql_config --with-net-snmp --with-libcurl --with-openipmi --with-unixodbc --with-ldap --with-ssh2 --enable-java
如果出现“配置: 错误: 无效的LDAP目录-无法找到ldap.h”,如图所示:

解决方案是:
yum -y install openldap* groupadd zabbix #新建用户zabbix useradd -g zabbix -u 808 -m zabbix #-g:指定用户所属的群组; #-u:指定用户id。 #-m:自动建立用户的登入目录;
zabbix-proxy的配置

打开/etc/zabbix/zabbix_proxy.confzabbix proxy,您需要修改几个位置:
Server=A.B.C.D #这里填写zabbix-server的内网IP Hostname=J.Q.K.A #这里要与/etc/hosts下的名字一模一样 LogFile=/tmp/zabbix_proxy.log DBHost=localhost DBName=zabbix_proxy DBUser=zabbix DBPassword=zabbix ConfigFrequency=120 #主动去server端去拉去配置更新的频率120秒一次 DataSenderFrequency=60 #发送采集的监控数据到服务器端,默认是1秒,我们一分钟发送一次 #roxyLocalBuffer=0 #代理配置文件中的ProxyLocalBuffer和ProxyOfflineBuffer参数控制数据在本地保存多长时间。 #ProxyOfflineBuffer=1
保存并退出后,编辑/etc/zabbix/zabbix_agentd.conf并进行如下修改:
Server=A.B.C.D #agentd被动模式下的server或者proxy的IP地址 ServerActive=A.B.C.D #如果agentd端是被动模式的话,此条和下面那条并不非用配置,但是如果agentd端是主动模式的话,此条一定要配置上。 Hostname=J.Q.K.A
然后启动代理和代理:
# /etc/init.d/zabbix_agentd restart # /usr/local/zabbix_proxy/sbin/zabbix_proxy
使用netstat检查端口和进程是否正常:

zabbix服务器配置
登录到zabbix-server的网页,如图所示添加代理:

点击“创建代理”后,填写相应的信息:



关于上述选项的几句话:
Connections to proxy:服务器如何连接到被动代理:无加密(默认),使用PSK(预共享密钥)或证书。 Connections from proxy:从活动代理中选择允许的连接类型。 可以同时选择几种连接类型(用于测试和切换到其他连接类型)。 默认为“无加密”。 #点击Certificate之后又两个参数: Issuer:允许颁发证书。 证书首先通过CA(认证机构)验证。 如果CA有效,则由CA签名,则可以使用Issuer字段来进一步限制允许的CA。 该字段是可选的,如果您的Zabbix安装使用多个CA的证书,则使用该字段。 Subject:允许的证书。 证书首先通过CA验证。 如果它有效,由CA签名,则主题字段可用于仅允许Subject字符串的一个值。 如果此字段为空,则接受由配置的CA签名的任何有效证书。 #点击PSK之后又两个参数: PSK identity:预共享密钥身份字符串。 PSK : 预共享密钥(hex-string)。 如果Zabbix使用mbed TLS(PolarSSL)库,Zabbix将使用GnuTLS或OpenSSL库,64位十六进制(32字节PSK),最大长度为512位十六进制数(256字节PSK)。 示例:1f87b595725ac58dd977beef14b97461a7c1045b9a1c963065002c5473194952
保存后,使用zabbix-get对zabbix-server上的代理执行ping操作,以查看返回值是否为1. 如果它是“ zabbix_get [18290]: 检查Zabbix代理配置中的访问限制”,请检查上一个. 主机名和其他值是否正确.

在WEB界面中,创建一个新主机,并在zabbix-agent.conf中选择了活动模式,然后必须正确填写主机名,并且还必须将Monitored by proxy编写为该计算机. 如图所示:

如上所述,使用代理模式和zabbix客户端以活动模式提交数据可以大大提高收集效率,并减轻zabbix服务器和代理的压力. 现在我们要添加的是使用zabbix_agent,添加到zabbix_proxy的新主机使用zabbix_agent(活动). 请注意,您必须在模板的克隆中选择“完全克隆”而不是“克隆”. 在这种情况下,将克隆iterm的名称,如图所示:

然后在项目中选择特定类型,如果需要,请更改其中一种,如图所示,请注意!我在图片中写了Zabbix代理,但是在这里输入select Zabbix agent(active)


更改后,将其保存,您将看到该类型是所有zabbix代理(活动).

最后将此计算机添加到主机中的代理模板,如图所示:

我也看到了政府代理的影响:

整个代理配置过程已完成. 最后,在阿里云Redis服务器上的zabbix-agentd.conf中,输入zabbix-server的名称作为该代理的外部地址.
因为我们环境中使用的zabbix_proxy方法处于活动状态,并且客户端也处于活动状态. 由于它是活动的zabbix proxy,因此zabbix_agent的主机名非常重要. 主机名已更改,然后客户端也已更改. 服务器和客户端的主机名是统一的,但旧的主机名也由代理记录,然后您将在代理日志中看到以下内容:
cannot send list of active checks to "proxy内网IP地址": host [virt_proxy内网IP地址] not found
在代理的活动模式下,ConfigFrequency的默认值为3600秒零一小时,这显然有点大. 您可以适当降低它,例如10分钟或10分钟. 然后,如果有问题,请查看zabbix服务器和代理的日志.
参考:
Zabbix代理的设置和配置过程
本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/ruanjian/article-157372-1.html
望严查