Zabbix

发布于:2024-04-17 ⋅ 阅读:(23) ⋅ 点赞:(0)

目录

一、Zabbix简介

二、Zabbix构成

1、server

2、web页面

3、数据库

4、proxy

5、agent

三、zabbix监控对象

1、硬件监控:

2、系统监控:

3、java监控:

4、网络设备监控:

5、应用服务监控

6、mysql数据库监控

7、url监控

四、Zabbix工作流程

1、Zabbix的工作流程:

2、zabbix的数据收集模式

①主动模式:

②被动模式:

3、zabbix的运行机制

4、zabbix进程详解

①zabbix_agentd

②zabbix_server

③zabbix_proxy

④zabbix_get

⑤zabbix_sender

⑥zabbix_java_gateway

五、Zabbix的监控架构

1、server-client架构

2、server-proxy-client架构

3、master-node-client架构

4、zabbix的运行机制

六、Zabbix的部署

1、永久关闭并且现在就关闭防火墙,关闭selinux以及更改主机名

2、下载yum源并检查是否下载完成

3、安装zabbix软件包

4、初始化数据库并设置密码,并创建数据库信息

5、zabbix服务器配置数据库

6、启动zabbix相关服务

7、zabbix图形化页面显示设置

①浏览器输入自己部署的zabbix地址的服务器;本机的是192.168..170.111/zabbix/setup.php

②点击next step进入下一步检查zabbix配置,所有的状态都应该是ok,若有问题则需要去服务器去检查配置。

③所有的配置都正常则继续点击下一步

④连接数据库之后下一步配置zabbix信息

⑤配置完成之后zabbix后检查配置项然后点击下一步安装

⑥信息检查完成之后点击结束安装完成

⑦结束后登录验证,默认账户为:admin默认密码是:zabbix

⑧登录完成之后页面如下

⑨修改zabbix语言为中文,点击user settings然后选择语言为中文,点击update保存即可

七、Zabbix监控使用

1、安装zabbix监控客户端

1、关闭防火墙和selinux,更改主机名并运行bash刷新主机名

2、设置时间同步,与服务器保持一致

3、设置zabbix的下载源,安装zabbix-agent2

4、安装zabbix-agent2,并修改配置文件

5、启动zabbix-agent2

6、在服务端验证zabbix-agent2的连通性

7、将客户端加入服务端的监控主机

①点击左边菜单栏【配置】中的【主机】,点击创建主机

②再点击上方菜单栏的模板,选择Temliate OS Linux by Zabbix agent,点击添加

八、在web页面创建自定义监控模板

1、客户端操作

2、创建模板

3、创建应用集(用于管理监控项目的)

4、创建监控项

5、创建触发器(当监控项获取到监控的值后和触发器预设的值进行对比,判断是否报警)

6、创建图形

7、将主句与模板关联起来(一个主机可以关联多个模板)

九、设置邮件报警

十、zabbix自动发现与自动注册

1、zabbix自动发现(对于agent2是被动模式)

①确保客户端上的zabbix-agent2服务状态正常

②在web页面删除原有的客户端主机

③在服务端和客户端上配置hosts解析

④在web页面配置自动发现

⑤可在服务端查看zabbix日志

2、zabbix自动注册(对于agent2来说是主动模式)

①准备环境

②配置hosts文件

③修改并查看客户端zabbix-agent2配置文件

④在web页面配置自动注册

⑤验证自动注册

十一、部署zabbix代理服务器

1、环境准备

2、设置zabbix的下载源,安装zabbix-proxy

3、添加数据库用户以及zabbix所需要的数据库信息

4、查询并导入数据库信息

5、修改配置文件

6、所有主机配置/etc/host(server,agent1,proxy)

7、在web页面配置agent代理

8、客户端配置agent使用proxy

9、创建主机

10、客户端和代理服务器上重启服务

11、验证

十二、设置zabbix-snmp监控

1、snmp协议的基本介绍

①snmp协议介绍

②为什么要使用snmp协议

③snmp协议的优点

④snmp的网络架构

1、NMS(网络管理站)

2、Agent

3、MIB

2、部署zabbix-snmp监控

①服务端安装 snmp 监控程序

②修改配置文件

③使用snmp命令

④在web页面配置snmp方式监控


一、Zabbix简介

Zabbix是一款开源免费的,自动化发现服务与网络设备的分布式监控,可以监视应用层服务并以web前端页面集中管理并展示。

二、Zabbix构成

Zabbix主要由以下5个组件构成:

1、server

zabbix server是zabbix的核心组件,server内部存储了所有的配置信息、统计信息和操作信息。zabbix agent会向zabbix server报告可用性、完整性及其他统计信息。

2、web页面

web页面也是zabbix的一部分,通常和zabbix server位于一台物理设备上,但是在特殊情况下也可以分开配置。web页面主要提供了直观的监控信息,以方便运维人员监控管理。

3、数据库

zabbix数据库内存储了配置信息,统计信息等zabbix相关内容。

4、proxy

zabbix proxy可以根据具体生产环境进行采用或者放弃。如果使用了zabbix proxy,则其会替代zabbix server采集数据信息,可以很好的分担zabbix server的负载。zabbix proxy通常运用与架构过大、zabbix server负载过重,或者是企业设备跨机房、跨网段、zabbix server无法与zabbix agent直接通信的场景。

5、agent

zabbix agent通常部署再被监控目标上,用于主动监控本地资源和应用程序,并讲监控的数据发送给zabbix server

三、zabbix监控对象

zabbix支持监控各种系统平台,包括Linux和Windows等主流操作系统,也可以借助SNMP或者是SSH协议监控路由交换设备。
zabbix如果部署在服务器上,可以监控其CPU、内存、网络性能等硬件参数,也可以监控具体的服务或者应用程序、服务运行情况及性能。

1、硬件监控:

Zabbix IPMI Interface ,通过IPMI接口进行监控,我们可以通过标准的IPMI硬件接口,监控被监控对象的物理特征,比如电压、温度、风扇状态、电源状态等。

2、系统监控:

Zabbix Agent Interface ,通过专用的代理程序进行监控,与常见的master/agent模型类似,如果被监控对象支持对应的agent,推荐首选这种方式。

3、java监控:

Zabbix JMX Interface ,通过JMX进行监控,JMX(java management extensions,即java管理扩展),监控JVM虚拟机时,使用这种方法是非常不错的选择。

4、网络设备监控:

Zabbix SNMP Interface ,通过SNMP协议与被监控对象进行通信,SNMP协议的全称为simple network management protocol,被译为简单网络管理协议,通常来说,我们无法在路由器、交换机这种硬件上安装agent,但是这些硬件都支持SNMP协议。

5、应用服务监控

6、mysql数据库监控

7、url监控

四、Zabbix工作流程

1、Zabbix的工作流程:


①zabbix agent在主机上采集监控数据,将采集的数据传给zabbix server

②zabbix server收到数据后将数据存在自己的数据库中

③然后从数据库中提取数据进行分析,是否需要报警

④分析完成后server在web前端页面进行界面数据展示

         

2、zabbix的数据收集模式

①主动模式:

zabbix客户端主动向zabbix server请求监控项列表,并主动将监控项内需要的数据交给zabbix server。就是agent向server发起连接

②被动模式:

zabbix server向agent请求获取监控项目的数据,zabbix agent返回数据。server向agent发起连接。

3、zabbix的运行机制

4、zabbix进程详解

在默认情况下,zabbix有6个工作进程,分别是zabbix_agent,zabbix_get,zabbix_proxy,zabbix_sender,zabbix_server和zabbix_geteway。

①zabbix_agentd

zabbix_agent为zabbix客户端守护进程,主要负责收集客户端监控项数据。

②zabbix_server

zabbix_server服务端守护进程,主要负责收集zabbix客户端数据

③zabbix_proxy

zabbix_proxy是zabbix代理进程,其功能类似于server,作用上类似于中转站,最终会把收集到的数据再次提交给zabbix_server

④zabbix_get

zabbix_get是zabbix工具,通常运行在zabbix server或者zabbix proxy上,用于远程获取客户端信息,通常用于排错。

⑤zabbix_sender

zabbix_sender是一个zabbix工具,通常运行在zabbix客户端,通常用于耗时较长的检查,其作用是主动发送数据。

⑥zabbix_java_gateway

zabbix_java_gateway是zabbix2.0之后引入的新功能,可以是用户java方面的设备,但是其只能主动获取数据,而不能被动获取数据。

五、Zabbix的监控架构

在实际生产环境中,根据网络环境和监控规模的不同,zabbix一共有三种监控架构,分别是server-client架构、master-node-client架构和server-proxy-client架构。

1、server-client架构

就是zabbix最简单的架构,监控机器和被监控机器之间不经过任何处理,直接由zabbix-server和zabbix-client之间进行数据交换。适用于网络比较简单,尽量在局域网内,识别比较少的监控环境时用。

2、server-proxy-client架构

server-proxy-client其中proxy和server,client之间沟通的桥梁,proxy本身有前端,而本身并不存放数据,只是将agent发来的数据进行暂时存放,而后在提交给server,这种架构经常是master-node-client,一般适用于挂机房,跨网络的中型网络监控架构。

3、master-node-client架构

master-node-client是zabbix最复杂的监控架构,适用于跨网络机房设备多的大型环境。每个node同时连接一个server端,node下面可以接proxy端,也可以直接连接client,node有自己的配置文件其要做的是将配置信息和监控数据向master进行数据同步,maser故障损坏对node其下架结构的完整性无任何影响。

4、zabbix的运行机制

zabbix是C/S架构是由zabbix server和srver 主从

zabbixserver:负责存储展示硬件信息,通过B/S模式传给web端展示配置

zabbix  agent:监控收集服务器信息,端口号为10050

六、Zabbix的部署

zabbix-server内存至少2G,推荐4G

systemctl disable --now firewalld
#永久关闭并现在立即关闭防火墙
setenforce 0
#关闭selinux
hostnamectl set-hostname zbx-server
#更改主机名
rpm -ivh https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm 
#获得zabbix下载yum源
cd /etc/yum.repos.d
sed -i 's#http://repo.zabbix.com#https://mirrors.aliyun.com/zabbix#' zabbix.repo
vim zabbix.repo
#编辑配置文件 开启安装源
[zabbix-frontend]
......
enabled=1          #1表示开启安装源
......
#进入yum源目录文件并使用sed将国外源替换为阿里云源
yum clean all && yum makecache
#清除原理yum源缓存并加载新的yum
yum install -y zabbix-server-mysql zabbix-agent
#安装zabbix客户端和服务端
yum install -y centos-release-scl 
#安装scl,原因为便于后续安装高版本的 php,默认 yum 安装的 php 版本为 5.4zabbix要求php版本为7.2以上,若达到要求则无须安装scl
yum install -y zabbix-web-mysql-scl zabbix-apache-conf-scl
#安装连接数据库和连接apache前端页面的连接工具
yum install -y mariadb-server mariadb
systemctl enable --now mariadb
#安装并开启数据库
mysql_secure_installation         
#初始化数据库,并设置密码,如 abc123选择执行,先回车,然后输入2次自己想设置的密码,其他全部yes即可
CREATE DATABASE zabbix character set utf8 collate utf8_bin;
#创建zabbix库并设置库格式为utf-8
GRANT all ON zabbix.* TO 'zabbix'@'%' IDENTIFIED BY 'zabbix';
#创建并授权zabbix远程登录用户密码为zabbix
flush privileges;
#刷新数据
rpm -ql zabbix-server-mysql
#查询zabbix数据库中配置文件的位置
zcat /usr/share/doc/zabbix-server-mysql-5.0.33/create.sql.gz | mysql -uroot -pabc123 zabbix(导入的库名)
#将zabbix数据库格式导入数据库中,此处需要等待10s左右
vim /etc/zabbix/zabbix_server.conf 
DBPassword=zabbix					#124行,去掉#注释然后指定 zabbix 数据库的密码
#编辑zabbix配置文件将设置的远程登录用户的密码zabbix输入进去保存退出
vim /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf
php_value[date.timezone] = Asia/Shanghai		#24行,取消注释,修改时区
#编辑php的配置文件,将时区改为亚洲上海,注意去掉前面的;在此文件中表示注释
systemctl restart zabbix-server zabbix-agent httpd rh-php72-php-fpm
systemctl enable zabbix-server zabbix-agent httpd rh-php72-php-fpm
#重启zabbix服务php服务并设置开机自启

1、永久关闭并且现在就关闭防火墙,关闭selinux以及更改主机名

2、下载yum源并检查是否下载完成

3、安装zabbix软件包

4、初始化数据库并设置密码,并创建数据库信息

5、zabbix服务器配置数据库

6、启动zabbix相关服务

7、zabbix图形化页面显示设置

①浏览器输入自己部署的zabbix地址的服务器;本机的是192.168..170.111/zabbix/setup.php

②点击next step进入下一步检查zabbix配置,所有的状态都应该是ok,若有问题则需要去服务器去检查配置。

③所有的配置都正常则继续点击下一步

④连接数据库之后下一步配置zabbix信息

⑤配置完成之后zabbix后检查配置项然后点击下一步安装

⑥信息检查完成之后点击结束安装完成

⑦结束后登录验证,默认账户为:admin默认密码是:zabbix

⑧登录完成之后页面如下

⑨修改zabbix语言为中文,点击user settings然后选择语言为中文,点击update保存即可

七、Zabbix监控使用

1、安装zabbix监控客户端

再开启一台服务器进行zabbix agent客户端系统安装

systemctl disable --now firewalld
setenforce 0
hostnamectl set-hostname zbx-agent01
bash
#关闭防火墙和selinux,更改主机名并运行bash刷新主机名
yum install -y ntpdate
ntpdate -u ntp.aliyun.com
#服务端和客户端都配置时间同步
mv /etc/localtime{,.bak}
ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
date
#客户端配置时区,与服务器保持一致
rpm -ivh https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm 
cd /etc/yum.repos.d
sed -i 's#http://repo.zabbix.com#https://mirrors.aliyun.com/zabbix#' /etc/yum.repos.d/zabbix.repo
yum install -y zabbix-agent2
#设置 zabbix 的下载源,安装 zabbix-agent2
vim /etc/zabbix/zabbix_agent2.conf
#修改配置文件,修改内容如下
Server=192.168.170.113			
#80行,指定 zabbix 服务端的 IP 地址
ServerActive=192.168.170.113		
#120行,指定 zabbix 服务端的 IP 地址
Hostname=zbx-agent01			
#131行,指定当前 zabbix 客户端的主机名
systemctl start zabbix-agent2
systemctl enable zabbix-agent2
netstat -natp | grep zabbix
#设置zabbix-agent2开机自启并现在启动,检查端口是否存在
1、关闭防火墙和selinux,更改主机名并运行bash刷新主机名

2、设置时间同步,与服务器保持一致

3、设置zabbix的下载源,安装zabbix-agent2

4、安装zabbix-agent2,并修改配置文件

5、启动zabbix-agent2

6、在服务端验证zabbix-agent2的连通性

7、将客户端加入服务端的监控主机

在web页面添加agent主机

①点击左边菜单栏【配置】中的【主机】,点击创建主机

②再点击上方菜单栏的模板,选择Temliate OS Linux by Zabbix agent,点击添加

八、在web页面创建自定义监控模板

1、客户端操作

#切换目录
cd /etc/zabbix/zabbix_agent2.d/
 
#修改
vim UserParameter_login.conf
----------------------------------
UserParameter=login.user,who|wc -l
-----------------------------------------
 
#重启服务
systemctl restart zabbix-agent2

2、创建模板

点击左边菜单栏配置中的模板,点击创建模板

模板名称:Template Login User

可见的名称设置成:Template Login User

群组选择Tempate

描述可以自定义

3、创建应用集(用于管理监控项目的)

点击上方菜单栏【应用集】,点击【创建应用集】、【名称】设置成login user 点击添加

4、创建监控项

点击上方菜单栏【监控项】,点击【创建监控项】

【名称】设置成 Number of login users

【键值】设置成 login.user #键值必须要与自定义的监控项配置文件中设置的保持一致

【更新间隔】设置成 10s

【历史数据保留时长】Storage period 30d #保留时间可自定义设置

点击 【添加】

5、创建触发器(当监控项获取到监控的值后和触发器预设的值进行对比,判断是否报警)

点击上方菜单栏【触发器】,点击【创建触发器】

【名称】设置成 Number of login users is greater than 3

【严重性】设置成 一般严重

【表达式】点击添加

6、创建图形

点击上方菜单栏【图形】,点击【创建图形】

【名称】设置成number of login users

【宽,高】可直接采用默认值

7、将主句与模板关联起来(一个主机可以关联多个模板)

点击左边菜单栏【配置】中的【主机】,点击要关联的主机

点击上方菜单栏【模板】

选择 Template Login User,点击【更新】

此时就点击【监测】中的【主机】,点击你关联主机的【图形】,即可查看到相关的监控指标

测试:多开几个终端

关闭多余的终端

九、设置邮件报警

点击左边菜单栏【管理】中的【报警媒介类型】,点击【创建媒体类型】

【名称】设置成 qq_Email
【SMTP服务器】设置成 smtp.qq.com
【SMTP服务器端口】设置成 25
【SMTP HELO】设置成 qq.com
【SMTP电邮】设置成自己的邮箱地址,例 00000000@qq.com
【认证】选择 用户名和密码
【用户名称】设置成自己的邮箱地址,例 0000000@qq.com
【密码】可登录QQ邮箱页面,点击【设置】–>【账户】中的【生成授权码】,通过短信获取授权码

【描述】可自定义点击上方菜单栏【message templates】,点击【添加】,【message type】选择问题,点击【更新】

主题:
Problem: {EVENT.NAME}事件 故障{TRIGGER.STATUS},服务器:{HOSTNAME1}发生: {TRIGGER.NAME}故障!
 
内容:
告警主机: {HOSTNAME1}
告警时间: {EVENT.DATE} {EVENT.TIME}
告警等级: {TRIGGER.SEVERITY}
告警信息: {TRIGGER.NAME}
告警项目: {TRIGGER.KEY1}
问题详情: {ITEM.NAME}:{ITEM.VALUE}
当前状态: {TRIGGER.STATUS}:{ITEM.VALUE1}
事件ID:   {EVENT.ID}

点击左边菜单栏【用户设置】–>【报警媒介】,点击【添加】
【类型】选择 qq_Email
【收件人】设置成 0000000@163.com
【当启用时】设置成 1-7,00:00-24:00
点击 【添加】
再点击 【更新】

点击左边菜单栏【配置】中的【动作】,选择相对应的动作名称,点击【启用】

测试邮件报警

增加测试客户端的用户登录数超过触发器预设的值,查看【监测】-->【仪表盘】,确认报警

十、zabbix自动发现与自动注册

1、zabbix自动发现(对于agent2是被动模式)

zabbix server 主动的去发现所有的客户端,然后将客户端的信息登记在服务端上。
缺点是如果定义的网段中的主机数量多,zabbix server 登记耗时较久,且压力会较大。

①确保客户端上的zabbix-agent2服务状态正常
systemctl is-active zabbix-agent2.service 

②在web页面删除原有的客户端主机

点击左边菜单栏【配置】中的【主机】,勾选原有的客户端主机,点击删除

③在服务端和客户端上配置hosts解析

此处注意主机名与ip地址不要写错

vim /etc/hosts
192.168.170.111 server
192.168.170.113 agent1

④在web页面配置自动发现

点击左边菜单栏【配置】中的【自动发现】,点击【创建发现规则】

【名称】设置成 mynetwork
【IP范围】设置成 192.168.170.1-254
【更新间隔】设置成 30s

【设备唯一性准则】选择 IP地址
【主机名称】选择 DNS名称
【可见的名称】选择 主机名称
勾选 【已启用】,点击 【更新】

点击左边菜单栏【配置】中的【动作】,上方菜单选择 【触发器动作】
勾选 【发现动作】

点击启用

点击左边菜单栏【配置】中的【主机】刷新,等待一段时间后即可刷新出自动发现的客户端主机

⑤可在服务端查看zabbix日志
tail -f /var/log/zabbix/zabbix_server.log

2、zabbix自动注册(对于agent2来说是主动模式)

zabbix agent2 会主动上报自己的信息,发给 zabbix server。
缺点是可能因为配置文件配置错误或者网络不通等原因导致 zabbix agent2 可能找不到 zabbix server。

①准备环境

点击左边菜单栏【配置】中的【自动发现】,勾选发现规则,点击禁用

点击左边菜单栏【配置】中的【主机】,勾选原有的客户端主机,点击删除。

②配置hosts文件
vim /etc/hosts
192.168.170.111 server
192.168.170.113 agent1

③修改并查看客户端zabbix-agent2配置文件
vim /etc/zabbix/zabbix_agent2.conf
------------------------------------------------------------
HostnameItem=system.hostname		#139行左右,取消注释
------------------------------------------------------------
 
grep -Ev "^#|^$" /etc/zabbix/zabbix_agent2.conf 
#过滤出客户端配置文件不以#开头且不是空行的内容,内容展示如下
PidFile=/var/run/zabbix/zabbix_agent2.pid
LogFile=/var/log/zabbix/zabbix_agent2.log
LogFileSize=0
Server=192.168.170.111
ServerActive=192.168.170.111
Hostname=agent1
HostnameItem=system.hostname
Include=/etc/zabbix/zabbix_agent2.d/*.conf
ControlSocket=/tmp/agent.sock

④在web页面配置自动注册

点击左边菜单栏【配置】中的【动作】,上方菜单选择 【自动注册动作】,点击【创建动作】

【名称】设置成 Auto registration
点击 【添加】,【类型】选择 主机名称,【操作者】选择 包含,【值】设置成 agent1

点击上方菜单栏【操作】,点击【添加】,【操作类型】选择 添加主机,点击 【add】

再点击【添加】,【操作类型】选择 添加到主机群组,【主机群组】选择 Linux servers,点击 【add】

再点击【添加】,【操作类型】选择 与模板关联,【模板】搜索 Linux,选择 Template OS Linux by Zabbix agent,点击 【add】

点击下方的【添加】

⑤验证自动注册
服务端:
tail -f /var/log/zabbix/zabbix_server.log
#实时查看server日志

web页面点击【配置】【主机】

然后刷新等待自动注册内容出现且亮起

十一、部署zabbix代理服务器

1、环境准备

在原有zabbix server和zabbix agent1上再添加一台proxy代理服务器

节点 IP地址 安装服务
zabbix-server(内存至少2G,推荐4G 192.168.170.111 zabbix-server-mysql 、zabbix-agent
zabbix-agent 192.168.170.113 zabbix-agent2
zabbix-proxy 192.168.170.114 zabbix-proxy-mysql、zabbix-get

关闭防火墙selinux安全模块

systemctl disable --now firewalld   #开机不再启动防火墙
setenforce 0

2、设置zabbix的下载源,安装zabbix-proxy

rpm -ivh https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
yum install -y zabbix-proxy-mysql zabbix-get

3、安装zabbix所需要的数据库

#安装mysql数据库
yum install -y mariadb-server mariadb
 
#设置开机自启
systemctl enable  --now mariadb.service  
 
#初始化并设置密码
mysql_secure_installation 

3、添加数据库用户以及zabbix所需要的数据库信息

#登入数据库
mysql -uroot -pabc123
 
#创建zabbix_proxy库并设置为utf-8模式
CREATE DATABASE zabbix_proxy character set utf8 collate utf8_bin;
 
#创建远程登录用户zabbix_proyx并设置密码为zabbix
GRANT all ON zabbix_proxy.* TO 'zabbix'@'%' IDENTIFIED BY 'zabbix';
 
#刷新配置,退出数据库
flush privileges;
quit

4、查询并导入数据库信息

rpm -ql zabbix-proxy-mysql
zcat /usr/share/doc/zabbix-proxy-mysql-5.0.33/schema.sql.gz |mysql -uroot -pabc123 zabbix_proxy

5、修改配置文件

vim /etc/zabbix/zabbix_proxy.conf
---------------------------------------
Server=192.168.170.111				#30行,指定 zabbix 服务端的 IP 地址
Hostname=zbx-proxy					#49行,指定当前 zabbix 代理服务器的主机名
DBPassword=zabbix					#196行,指定当前数据库 zabbix 用户的密码
---------------------------------------------
systemctl start zabbix-proxy.service  
systemctl enable zabbix-proxy.service

6、所有主机配置/etc/host(server,agent1,proxy)

vim /etc/hosts
----------------
192.168.170.111 server
192.168.170.113 agent1
192.168.170.114 proxy

7、在web页面配置agent代理

点击左边菜单栏【配置】中的【动作】,勾选自动注册规则,点击 禁用

点击左边菜单栏【配置】中的【主机】,勾选原有的客户端主机,点击 删除

点击左边菜单栏【管理】中的【agent代理程序】,点击【创建代理】

【agent代理程序名称】设置为proxy
【系统代理程序模式】选择 主动式
【代理地址】设置为 1192.168.79.230
点击 【添加】

8、客户端配置agent使用proxy

vim /etc/zabbix/zabbix_agent2.conf
Server=192.168.170.114			#80行,指定 zabbix 代理服务器的 IP 地址
ServerActive=192.168.170.114	#123行,指定 zabbix 代理服务器的 IP 地址

9、创建主机

在 Web 页面配置
点击左边菜单栏【配置】中的【主机】,点击【创建主机】

【主机名称】设置成 agent1
【可见的名称】设置成 agent1-192.168.79.220
【群组】选择 Linux servers
【Interfaces】的【IP地址】设置成 192.168.79.220
【由agent代理程序监测】选择 proxy

【模板】搜索 Linux ,选择 Template OS Linux by Zabbix agent,点击 【添加】

10、客户端和代理服务器上重启服务

[root@agent1 ~]#systemctl restart zabbix-agent2.service
[root@proxy ~]#systemctl restart zabbix-proxy.service

11、验证

点击左边菜单栏【配置】中的【主机】刷新,查看客户端主机监控状态正常

服务端查看日志

服务端:
tail -f /var/log/zabbix/zabbix_server.log
#实时查看server日志

十二、设置zabbix-snmp监控

1、snmp协议的基本介绍

①snmp协议介绍

SNMP是简单的网络管理协议,它不是一个软件,而是用于网络管理的一套规则。利用SNMP,一个管理工作站可以远程管理所有支持这种协议的网络设备,包括监视网络状态、修改网络设备配置、接收网络事件警告等。

②为什么要使用snmp协议

因为网络设备可能来自不同的厂商,如果每个厂商提供一套独立的管理接口,将使网络管理变得越来越复杂,若想对网络中来自不同厂商的设备监控,用基于SNMP开发的软件进行管理最方便的,因为大部分的设备都支持SNMP协议

③snmp协议的优点

1、基于TCP/IP互联网的标准协议,传输层协议一般用UDP
2、自动化网络管理。网络管理员可以利用SNMP平台在网络上的节点检索信息、修改信息、发现故障、完成故障诊断、进行容量规划和生成报告
3、屏蔽不同设备的物理差异,实现对不同厂商产品的自动化管理。SNMP只提供最基本得功能集,使得管理任务与被管理设备的物理特征和实际网络类型相对独立,从而实现对不同厂商设备的管理
4、简单的请求-应答方式和主动通告方式相结合,并有超时和重传机制
5、报文种类少,报文格式简单,方便解析,易于实现
6、SNMPv3版本提供了认证和加密安全机制,以及基于用户和视图的访问控制功能,增强了安全性

④snmp的网络架构

SNMP网络架构由三部分组成:NMS(网络管理站)、Agent(代理)、MIB(管理信息库)

1、NMS(网络管理站)

NMS是网络中的管理者,是一个利用SNMP协议对网络设备进行管理和监视的系统。可以是一台专门用来进行网络管理的服务器,也可以指某个设备中之中管理功能的一个应用程序。

NMS可以向Agent发出请求,查询或修改一个或多个具体的参数值。同时,NMS可以接收Agent主动发送的Trap信息,以获知被管理设备当前的状态

2、Agent

Agent是网络设备中的一个应用模块,用于维护被管理设备的信息数据,并响应NMS的请求,把管理数据汇报给发送请求的NMS。

Aent接收到NMS的请求信息后,完成查询或修改操作,并把操作结果发送给NMS,完成响应。同时,当设备发生故障或者其他事件的时候,Agent会主动发送Trap信息给NMS,通知设备当前的状态变化。

3、MIB

任何一个被管理的资源都表示成一个对象,称为被管理的对象。MIB就是被管理对象的集合。它定义了被管理对象的一系列的属性:对象的名称、对象的访问权限和对象的数据类型等。每个Agent都有自己的MIB。MIB也可以看做是NMS和Agent之间的一个接口,通过这个接口,NMS可以对Agent中的每一个被管理对象进行读/写操作,从而达到管理和监控设备的目的。

2、部署zabbix-snmp监控

服务端安装 snmp 监控程序
yum install -y net-snmp net-snmp-utils.x86_64
②修改配置文件
vim /etc/snmp/snmpd.conf
---------------------------
view   systemview  included  .1        #第57行:添加此配置
------------------------------------------
systemctl start snmpd
③使用snmp命令
snmpwalk -v 2c -c public 127.0.0.1 sysname
④在web页面配置snmp方式监控

【配置】【主机】点击【Zabbix server】

【添加】SNMP

【模板】Template OS Linux by Zabbix agent 取消链接并清理

链接新模板 Template OS Linux SNMP

点击 【更新】,等待一段时间后 Zabbix server 的可用性就变成了 SNMP 监控方式