博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
zabbix企业应用之分布式监控proxy
阅读量:6627 次
发布时间:2019-06-25

本文共 3843 字,大约阅读时间需要 12 分钟。

先简单的介绍一下zabbix分布式的2种实现方式proxy与node的优缺点

Proxy:

Zabbix proxy 是一个或多个从监控设备收集监测数据和发送到zabbixserver 的进程,属于代表zabbix server 的运行,所有收集到的数据被暂时存放在代理服务器,之后统一由代理服务器转发给zabbix proxy 所属的服务器,部署proxy是可选的,但是对于分担单个zabbix服务器的负载是非常有益的。如果尽在proxies上收集数据,那么将减轻服务器上的进程对cpu资源和磁盘I/O的消耗。

zabbix proxy在没有本地管理员的情况下,是集中监控远程区域,分支和网络的理想解决方案。

Node:

使用node节点,建立一个层次结构的分布式监测。每一个节点是一个完整的zabbix服务器,和负责监视它自己的位置,zabbx 支持高达一千个节点的分布式安装。

使用node节点的好处:

1、在大型的网络中,涉及多个地点建立一个多层次的监控,在层次结构中的一个节点报告其主节点。

2、一个节点可以在本地配置或通过其主节点,它的所有子节点的配置数据的副本。

3、数据收集更多的免疫可能的通信问题。如果主站和子节点之间的通信发生故障时,节点可以保持运行状态。历史信息和事件存储在本地。当通信又回来了,一个子节点将有选择地将数据发送到主节点。

4、节点可以分裂一个单一的zabbix服务器的工作,监视数千台主机。

5、新节点的连接和拆卸,不影响现有的设置的功能。无需重新启动所需的任何节点。

所以本文选为以proxy为主是zabbix分布式(同时我的跨机房监控方案也是proxy,好处是安装配置方便,坏处是如果proxy代理有问题,所有监控主机都报警,但可以在配置里添加一个检测来解决)。

环境为

1
2
3
4
Ip              状态          hostname        软件版本    系统
192.168
.
56.101  
zabbix agent        server          
2.0
.
6       
ubuntu server 
12.04
192.168
.
56.102  
zabbix server       centos          
2.0
.
6       
centos 
6.2
192.168
.
56.103  
zabbix proxy        client1         
2.0
.
6       
ubuntu server 
12.04

1.安装依赖库

如果是debian或者ubuntu需要安装

1
apt-
get 
install mysql-server gcc make  libghc6-hsql-mysql-dev libcurl4-openssl-dev libsnmp-dev snmp curl

如果是centos或者redhat的需要安装

1
yum install install mysql-server mysql-devel gcc make wget net-snmp* curl libcurl

2.添加用户

1
2
groupadd zabbix
useradd zabbix -g zabbix –s /sbin/nologin

注意:

如果是redhat或者centos系统,如果不想用户登录,可以使用-s /sbin/nologin,如果是debian或者ubuntu系统,可以使用-s /usr/sbin/nologin

3.下载源码包

去官网下载的zabbix-2.0.6.tar.gz,或者在这里下载

4.解压与安装

1
2
3
4
tar zxvf zabbix-
2.0
.
6
.tar.gz
cd zabbix-
2.0
.
6
./configure --prefix=/usr/local/zabbix --enable-proxy --
with
-mysql --
with
-net-snmp --
with
-libcurl
make install

5.配置数据库

1
2
3
4
mysql –u root –p
create database zabbix character 
set 
utf8;
grant all privileges on zabbix.* to zabbix@localhost identified by 
'zabbix'
;
mysql -uzabbix -p
'zabbix' 
zabbix < database/mysql/schema.sql

6.修改zabbix_proxy.conf文件

下面是我的修改后的配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
root@client1:/usr/local/zabbix/etc# grep -v 
"#" 
zabbix_proxy.conf|sed 
'/^$/d'
Server=
192.168
.
56.102
Hostname=client1
LogFile=/tmp/zabbix_proxy.log
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix
DBSocket=/tmp/mysql.sock
ProxyLocalBuffer=
0
ProxyOfflineBuffer=
1
ConfigFrequency=
600
DataSenderFrequency=
10
StartPollers=
10
StartPollersUnreachable=
1
StartTrappers=
10
StartPingers=
1
CacheSize=64M
Timeout=
10
TrapperTimeout=
30

参数介绍

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Server=
192.168
.
56.102 
#zabbix server的ip地址或者域名
Hostname=client1 #proxy主机名,在zabbix web会以这个名字为准
#DB 设定档
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix
DBSocket=/tmp/mysql.sock
ProxyLocalBuffer=
0 
#设定为
0
小时,除非有其他第三方应用和插件需要调用
ProxyOfflineBuffer=
1 
#proxy或者server无法连接时,保留离线的监控数据的时间,单位小时
ConfigFrequency=
600 
#server和proxy配置修改同步时间间隔,设定
5
-
10
分钟即可。
DataSenderFrequency=
10 
#数据发送时间间隔,
10
-30s;
#网络传输质量越好,可以设定间隔时间越短,监控效果也越迅速;
StartPollers=
10 
#开启多线程数,一般不要超过
30
个;
StartPollersUnreachable=
1 
#该线程用来单独监控无法连接的主机,
1
个即可;
StartTrappers=
10 
#trapper线程数
StartPingers=
1 
#fping线程数
CacheSize=64M #用来保存监控数据的缓存数,根据监控主机数量适当调整;
Timeout=
10 
#超时时间,设定不要超过30s,不然会拖慢其他监控数据抓取时间;
TrapperTimeout=
30 
#同上
FpingLocation=/usr/sbin/fping #配合simple check icmp检测使用,如不需要可关闭;
其他配置默认即可;

7.启动

1
/usr/local/zabbix/sbin/zabbix_proxy

8.去agent节点修改配置文件

主要修改

1
2
Server=
192.168
.
56.103
ServerActive=
192.168
.
56.103
:
10051

其中Server为代理服务器的ip,ServerActive也为代理服务器的ip与端口

然后重启服务

1
2
ps -ef|grep zabbix|grep -v grep|awk 
'{print $2}'
|xargs kill -
9
/usr/local/zabbix/sbin/zabbix_agentd -c /usr/local/zabbix/conf/zabbix_agentd.conf

9.web添加proxy节点

高级配置-》节点管理-》代理节点-》创建节点

填写proxy的主机名即可,与配置文件一致:

Active - 代理服务器将主动连接zabbix服务器并请求配置数据

被动模式 - zabbix服务器连接代理服务器

现在我也把代理的主机server给添加了,如果不想在这里添加,可以在系统配置-》主机-》Create host,”由代理监控”选择刚添加的proxy

查看状态

同时也提醒大家一下,如果使用自动注册功能,并且在agent里设置了serveractive的话,就能自动的在server上注册,但一定要先建立好节点。

 本文转自 reinxu 51CTO博客,原文链接:http://blog.51cto.com/dl528888/1334573,如需转载请自行联系原作者

你可能感兴趣的文章
[Compose] 19. Leapfrogging types with Traversable
查看>>
Tomcat version 7.0 only supports J2EE 1.2, 1.3, 1.4, and Java EE 5 and 6 Web modules
查看>>
2015年度新增开源软件排名TOP100
查看>>
设计模式 之 原型
查看>>
BZOJ 2456: mode(新生必做的水题)
查看>>
View State
查看>>
自旋锁spinlock解析
查看>>
【java.lang.UnsupportedClassVersionError】版本不一致出错
查看>>
JVM Debugger Memory View for IntelliJ IDEA
查看>>
LINUX下GDB反汇编和调试
查看>>
golang fmt格式“占位符”
查看>>
SpringMVC包括哪些组件
查看>>
现代前端开发路线图:从零开始,一步步成为前端工程师
查看>>
Oracle绝对值函数
查看>>
mysql 的mgr集群
查看>>
html5播放mp4视频代码
查看>>
032_nginx配置文件安全下载
查看>>
Linux下tomcat修改成的80端口无法访问
查看>>
redis实现对账(集合比较)功能
查看>>
为了好好看球,学霸们用深度学习重建整个比赛3D全息图
查看>>