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

xiaoxiao2021-02-28  122

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

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

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


Zabbix 各工作模式介绍

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

被动模式

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

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

主动模式

不使用代理

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

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

使用代理

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

主机角色分配

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

rolesIP addrhostnamecommentszabbix_server172.16.50.1node1提供web监控管理页面zabbix_proxy172.16.50.2node2zabbix_proxyzabbix_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管理界面操作。

转载请注明原文地址: https://www.6miu.com/read-34711.html

最新回复(0)