一.概述

环境:

因为公司需要监控远程客户机,但server端无法主动连接agent端,客户端可以连接公司ip

公司有固定ip,可以开放某个端口给zabbixserver,客户机agent端可以主动通过外网连接公司服务器,但没有固定ip

查过zabbix,可以有多种方法设定agent端主动连接server端,方式如下

1、agent(active) 采集模式(create item)

2、trapper 采集模式(create item),需要安装zabbix-sender,使用脚本启动命令,执行sender

3、还有安装proxy,这是我后来实验成功,也是最理想的

zabbix proxy可以代替zabbix server检索客户端的数据,然后把数据汇报给zabbix server,并且在一定程度上分担了zabbix server的压力.zabbix proxy可以非常简便的实现了集中式、分布式监控.
应用场景

  • 不同网段,无法直接监控
  • 上千台机器,分布式

proxy收集到数据之后,首先将数据缓存在本地,然后在一定得时间之后传递给zabbix server.
zabbix proxy是一个数据收集器,它不计算触发器、不处理事件、不发送报警

二.环境

服务端 192.168.1.100
代理端 192.168.1.20 10.10.10.20(配置文件ip指向服务器192.168.1.100),192.168.1.20负责与服务器通信的
客户端 10.10.10.30(配置文件ip指向10.10.10.20)

服务端可以连接代理端,但无法连接客户端

三.代理端配置

1.配置数据库

这里使用mysql数据库,自行安装数据库
登陆数据库后

create database zabbix_proxy character set utf8;
GRANT ALL PRIVILEGES ON zabbix_proxy.* TO 'zabbix'@'localhost' IDENTIFIED BY '123456';
flush PRIVILEGES;

2.安装代理

yum -y install gcc gcc-c++ libcurl-devel libevent-devel net-snmp-devel

wget https://sourceforge.net/projects/zabbix/files/ZABBIX%20Latest%20Stable/3.4.6/zabbix-3.4.6.tar.gz/download

tar -xf zabbix-3.4.6.tar.gz

cd zabbix-3.4.6

./configure --prefix=/usr/local/zabbix_proxy --enable-proxy --enable-agent --with-mysql --with-net-snmp --with-libcurl

make

make install

导入数据

mysql -u zabbix -p 123456 zabbix_proxy < database/mysql/schema.sql

3.配置

找到下面那些去修改,有的是注释,有的则不是

vim /usr/local/zabbix_proxy/etc/zabbix_proxy.conf

Server=192.168.1.100                                    #服务端的ip,用来提交数据
ServerPort=10051 #代理监听的端口
Hostname=Zabbix proxy #proxy的hostname,很重要,要记住
DBHost=localhost #数据库,使用本地,也可以使用ip,本地的用sock链接
DBSocket=/tmp/mysql.sock #本地链接时修改
DBName=zabbix_proxy #数据库名称
DBUser=zabbix #用户
DBPassword=zabbix #密码
DBPort=3306 #数据库端口
HeartbeatFrequency=60 #心跳线(具体作用网了,看配置文件吧,这个默认就是60)
ConfigFrequency=60 #这个是往服务端发送数据时间,这里设置一分钟,当客户端出现问题,要一分钟后才能获得消息,可以修改

vim /usr/local/zabbix/etc/zabbix_agentd.conf

Server=192.168.1.100
ServerActive=192.168.1.100

启动

/usr/local/zabbix/sbin/zabbix_proxy
/usr/local/zabbix/sbin/zabbix_agentd
netstat -unltp | grep :10050
netstat -unltp | grep :10051

查看是否监听端口

到服务端添加一台主机,ip为192.168.1.20,相当于添加一个客户端

四.客户端配置

在客户端机器上
yum -y install zabbix-agent

添加代理ip
vim /etc/zabbix/zabbix_agentd.conf

Server=10.10.10.20
ServerActive=10.10.10.20

systemctl start zabbix-agent

netstat -unltp | grep :10050
查看是否监听端口

五.服务端配置

5.1,新建代理服务器,管理--agent代理程序--创建代理

5.2,填写代理服务器的相关信息。

agent代理程序名称一定要与zabbix_proxy.conf中的Hostnamer一致

到5.3,新建监控主机并选择相应的模板。配置--主机--新建主机

5.4,点击确定后再监控图形中查看出图效果。

六.排错

不亮

到/usr/local/zabbix_proxy/bin下
./zabbix_get 10.10.10.30 -s -k agent.ping
返回1则正确,实际上是不会亮的,因为他是通过代理获得数据,没法直接监控。以数据为准,可以命令行测试,或者图形界面查看是否有最新数据。

zabbix proxy部署的更多相关文章

  1. 分布式监控系统之Zabbix proxy

    前文我们了解了zabbix 使用snmp和jmx信道采集数据的相关使用配置,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/14029864.html:今天我们来 ...

  2. zabbix proxy分布式监控部署

    一.proxy分布式监控介绍 来源于zabbix官网: https://www.zabbix.com/documentation/3.4/zh/manual/distributed_monitorin ...

  3. zabbix server&proxy部署操作过程

    zabbix server&proxy部署操作过程 系统:ubuntu20.04 zabbix版本: 5.4 安装zabbix server 安装方式: 包管理安装,docker,源码,app ...

  4. Zabbix proxy 3.2安装部署

    zabbix proxy 前提环境: CentOS 6 LNMP(php) 版本:Zabbix-3.2.3 proxy安装 yum install -y net-snmp \ net-snmp-dev ...

  5. 030.Zabbix分布式部署

    一 分布式Zabbix介绍 zabbix proxy 可以代替 zabbix server 收集性能和可用性数据,然后把数据汇报给 zabbix server,并且在一定程度上分担了zabbix se ...

  6. Zabbix安装部署实践

    操作系统: [root@mysql ~]# cat /etc/redhat-release CentOS Linux release 7.5.1804 (Core) Mysql :     版本5.7 ...

  7. 部署zabbix3.2.7,升级到3.4、proxy部署

    一.Server安装 可以使用mysql.percona.mariadb等,本例使用mariadb.由于是事后整理,只截取部分命令. #yum install mariadb-server maria ...

  8. ZABBIX Proxy容器启动的配置过程

    ZABBIX Proxy容器启动的配置过程 环境介绍 版本 zabbix6 zabbix server 与 zabbix proxy 非同一台主机,zabbix proxy为主动方式提交给server ...

  9. zabbix proxy 服务器 netstat 出现大量Time_Wait连接问题

    问题描述: 监控系统云网关监控几万个TCP port的存活情况, 最近发现有几个端口出现告警闪断情况,怀疑因为运行TCP检查的 zabbix proxy 服务器 tcp参数配置不合理. netstat ...

随机推荐

  1. 深度学习(九) 深度学习最全优化方法总结比较(SGD,Momentum,Nesterov Momentum,Adagrad,Adadelta,RMSprop,Adam)

    前言 这里讨论的优化问题指的是,给定目标函数f(x),我们需要找到一组参数x(权重),使得f(x)的值最小. 本文以下内容假设读者已经了解机器学习基本知识,和梯度下降的原理. SGD SGD指stoc ...

  2. 输入法设置,SublimeTest,putty掉线

    设置默认中文 在我们使用计算机中,如果输入法的默认语言是英文,那么我们操作起来会更加方便,那我们怎么设置呢??? 以Windows10为例 SublimeTest相关设置 SublimeTest出现乱 ...

  3. NTP服务器搭建

    NTP服务器搭建 :http://www.jbxue.com/LINUXjishu/22352.html 客户端配置: vim /etc/ntp.conf #server 0.centos.pool. ...

  4. ASP.NET Core 2.1 : 十二.内置日志、使用Nlog将日志输出到文件

    应用离不开日志,虽然现在使用VS有强大的调试功能,开发过程中不复杂的情况懒得输出日志了(想起print和echo的有木有),但在一些复杂的过程中以及应用日常运行中的日志还是非常有用. ASP.NET ...

  5. [二]基础数据类型之Long详解

      Long   Long 基本数据类型long  的包装类 Long 类型的对象包含一个 long类型的字段     属性简介   值为  263-1 的常量,它表示 long 类型能够表示的最大值 ...

  6. golang判断文件是否存在

    判断一个文件是否存在是一个相当常见的需求,在golang中也有多种方案实现这一功能. 现在我们介绍其中两种最常用也是最简单的实现,第一种将是跨平台通用的,而第二种则在POSIX平台上通用. 跨平台实现 ...

  7. CentOS 7.6环境下安装中文字体库

    JAVA画图时常用到Font 类对象 这样的对象依赖于本地的字段.新装的linux没有安装字段库,和相应的字体. 1.fc-list查看字体库 2.yum -y install fontconfig安 ...

  8. Go中局部全局变量的区分

    这是可能也许是容易混淆滴,先上1个例子: package main import "fmt" var nickname = "大虾" func main() { ...

  9. Java开发笔记(五十七)因抽象方法而产生的抽象类

    前面介绍了类的常见用法,令人感叹面向对象的强大,几乎日常生活中的所有事物,都可以抽象成Java的基类及其子类.然而抽象操作也有副作用,就是某个抽象而来的行为可能是不确定的,比如半夜鸡叫,如果是公鸡则必 ...

  10. 浅谈Java虚拟机内存中的对象创建,内存布局,访问定位

    参考于 深入理解Java虚拟机 这里介绍HotSpot虚拟机(自带的虚拟机) 1.对象的创建 对于程序员来说,创建对象的方法: User user1 = new User(); User user2 ...