一.概述

环境:

因为公司需要监控远程客户机,但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则正确,实际上是不会亮的,因为他是通过代理获得数据,没法直接监控。以数据为准,可以命令行测试,或者图形界面查看是否有最新数据。

最新文章

  1. SOAPUI使用教程-从现有的服务创建REST模拟服务
  2. 蓝牙(3)如何通过蓝牙传输数据及UUID详介
  3. POJ 3356.AGTC
  4. ThinkPHP - F函数,更新配置文件
  5. Codeforces Round #275 (Div. 2) C - Diverse Permutation (构造)
  6. wampserver图标黄色
  7. HashMap面试题:90%的人回答不上来
  8. python函数式编程之装饰器(二)
  9. Java 由浅入深GUI编程实战练习(二)
  10. ----关于统计字符出现次数的JS循环以及indesxOf函数----
  11. maven pom.xml配置文件详解
  12. 页面引入js问题
  13. XenServer日志清理方法
  14. checkbox勾选事件,JQ设置css,下拉框JQ选中
  15. 延时队列:Java中的DelayQueue
  16. Windows Phone本地数据库(SQLCE):2、LINQ to SQL(翻译)(转)
  17. 快速开发jQuery插件的10大技巧
  18. [转贴]Linux的SUID SGID 等知识内容
  19. JavaScript中的arguments详解
  20. hdfs调优

热门文章

  1. Kali 无法正常上网问题
  2. 解决Mysql错误:ERROR 2002 (HY000): Can&#39;t connect to local MySQL server through socket &#39;/var/run/mysqld/mysqld.sock&#39; (111)
  3. 痞子衡嵌入式:ARM Cortex-M文件那些事(4)- 可重定向文件(.o/.a)
  4. SpringBoot系列——MyBatis整合
  5. 【.NET Core项目实战-统一认证平台】第十一章 授权篇-密码授权模式
  6. C#工具:利用HttpClient调用WebApi
  7. WPF TabControl Unload俩次的解决方案
  8. react 函数子组件(Function ad Child Component)
  9. 微信小程序域名配置问题
  10. 解决No &#39;Access-Control-Allow-Origin&#39; header is present on the requested resource.跨域问题(后台(java)解决方法)