Zabbix 基础与进阶(2) —— zabbix工作模式的部署

Zabbix 基础与进阶(2) —— zabbix工作模式的部署

zabbix 是一款著名的分布式的监控系统。支持通过代理服务器zabbix proxy收集zabbixagent的数据,然后把收集保存在本地数据库并发送给zabbix server进行统一存储和展示。

Zabbix 服务工作于 Agent/Server 架构模型


Zabbix 各工作模式介绍

工作模式中的主动或被动模式,均是站在agent的角度命名的。

被动模式

工作模式简单易用,但 server 端压力较大,需要定期向管理范围内的所有 agent 端主机发送请求信息,如果监控的主机过多时,可能无法及时获取到所有被监控主机的最新数据,被动模式仅适用于监控项目较少的小规模集群。

zabbix 的 agent 端被动接受到 server 端发出的数据采集指令后,方才采集本地监控的主机、进程或设备的信息发送给 server 端。

主动模式

  1. 不使用代理

可以减轻 server 端同时发出多个请求的压力,但 server 端需要被动接受管理范围内的所有 agent 端主机的所有采集的数据信息并将数据写入数据库,导致 Server 端的写压力较大,同样不适合大规模的主机集群监控。

agent 端无需接收任何指令,主动收集本地监控采集到的数据并发送给 server 端,此模式可减轻 server 端的一部分压力。

  1. 使用代理

使用代理来分散 server 端的同时接收大量数据的压力,适合用于大规模集群的监控工作。

主机角色分配

本实验各角色、IP、主机名分配以及其他备注如表

rolesIP addrhostnamecomments
zabbix_server172.16.50.1node1提供web监控管理页面
zabbix_proxy172.16.50.2node2zabbix_proxy
zabbix_tomcat172.16.50.14node14zabbix_agent(被动式)
zabbix_database172.16.50.15node15MySQL,zabbix_agent(主动式)

zabbix各类工作模式的配置

在server端、agent端、database端以及Web GUI均部署完成后,可以选择一种工作模式对某个agent端的监控项进行监控

被动模式

  • 修改server端配置文件
vim /usr/local/zabbix/etc/zabbix_server.conf
#修改以下几项
LogFile=/var/log/zabbix/zabbix_server.log

DebugLevel=3        #可以修改为4(debug模式,显示更详细信息)
DBHost=172.16.50.15
DBName=zabbix
DBUser=zabbix
DBPassword=123456
DBPort=3306

Timeout=30          #收集数据的超时时间,默认为4,该值过小会导致无法收集数据,建议改大
StartPollers=25     #修改预启动的线程数,默认为5,建议改大
  • 重启zabbix服务
/etc/init.d/zabbix_server restart
ss -tnl
#
LISTEN      0      128        *:10051                 *:* 
  • 将zabbix设置为开机启动
chkconfig zabbix_server on

主动模式

部署zabbix_proxy端

zabbix proxy端也需要在zabbix database 主机上创建用户和专用的库,用于暂存一些数据,本实验演示过程中将proxy的数据库与server端的数据库公用同一个数据库,在实际生产环境中,二者一般不会使用同一个数据库。

创建zabbix用户

useradd -s /sbin/nologin zabbix
  • 安装Zabbix proxy

安装依赖包

如果需要通过代理来监控tomcat类服务,也需要安装openjdk程序

yum install gcc  libxml2-devel   net-snmp net-snmp-devel   curl  curl-devel php  php-bcmath  php-mbstring mariadb mariadb-devel java-1.8.0-openjdk-devel -y

在 zabbix database 主机上为proxy创建用户和库并授权

CREATE DATABASE zabbix_proxy  CHARACTER SET utf8 COLLATE utf8_bin;
GRANT ALL ON  zabbix_proxy.* TO proxy@'172.16.50.%' IDENTIFIED BY '123456';
FLUSH PRIVILEGES;

在zabbix proxy主机测试是否能够使用mysql客户端登录

mysql -uproxy -p123456 -h172.16.50.15

编译安装

./configure  --prefix=/usr/local/zabbix  --enable-proxy  --enable-agent  --with-mysql   --with-net-snmp  --with-libcurl  --with-libxml2  --enable-java
make -j 4 && make install

在本机导入数据库

mysql -uproxy -p123456 -h172.16.50.15  zabbix_proxy < /usr/local/src/zabbix-3.0.10/database/mysql/schema.sql
#验证导入结果
mysql -uproxy -p123456 -h172.16.50.15  zabbix_proxy -e "show tables;"
  • 配置zabbix proxy:
vim /usr/local/zabbix/etc/zabbix_proxy.conf
#修改如下内容
ProxyMode=0 #0为主动,1为被动
Server=172.16.50.1 #zabbix server服务器的地址或主机名
ServerPort=10051
Hostname=my_proxy  #代理服务器名称,需要与zabbix server添加代理时候的proxy name是一致的!
ListenPort=10051
LogFile=/tmp/zabbix_proxy.log
DebugLevel=4
DBHost=172.16.50.15 #数据库服务器地址
DBName=zabbix_proxy 
DBUser=proxy
DBPassword=123456
DBPort=3306
ProxyLocalBuffer=3  
ProxyOfflineBuffer=24
HeartbeatFrequency=60  #心跳间隔检测时间,,默认60秒,范围0-3600秒,被动模式不使用
ConfigFrequency=5  #间隔多久从zabbix   server 获取监控信息
DataSenderFrequency=5 #数据发送时间间隔,默认为1秒,范围为1-3600秒,被动模式不使用
StartPollers=25  #启动的线程数,与客户端的数据保持一致
JavaGateway=172.16.50.14 #java gateway服务器地址
JavaGatewayPort=10052
StartJavaPollers=25 #与监控的java 应用一致
Timeout=30
LogSlowQueries=3000

启动服务

/usr/local/zabbix/sbin/zabbix_proxy -c /usr/local/zabbix/etc/zabbix_proxy.conf

添加代理

在Web GUI 页面进行操作

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

  • 配置zabbix_agent端(此处即为zabbix_database端)

Web 客户端安装zabbix agent

yum install gcc -y 
useradd   zabbix -s /sbin/nologin 
cd /usr/local/src/
tar xvf zabbix-3.0.10.tar.gz
cd zabbix-3.0.10
./configure  --prefix=/usr/local/zabbix  --enable-agent
make install
cp misc/init.d/fedora/core/zabbix_agentd  /etc/init.d/
vim /etc/init.d/zabbix_agentd
#修改以下内容
BASEDIR=/usr/local/zabbix

修改配置文件

grep "^[a-Z]" /usr/local/zabbix/etc/zabbix_agentd.conf
LogFile=/tmp/zabbix_agentd.log
Server=172.16.50.2      #此处server应该指向zabbix_proxy端
ListenPort=10050
StartAgents=3
ServerActive=172.16.50.2
Hostname=172.16.50.15
Timeout=30
UnsafeUserParameters=1

启动服务

/etc/init.d/zabbix_agentd start
ss -tnl
#
LISTEN     0      128         *:10050        *:*

在web GUI管理界面操作。

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值