Zabbix之agent部署监控Linux与Windows


文章目录

  • 一、agent简介
  • 二、监控服务配置流程与步骤
  • 1. 监控配置流程
  • 2. 监控配置步骤
  • 三、部署agent监控Linux主机
  • 1.部署agent
  • 2.在Web管理界面添加主机
  • 2.1添加主机
  • 2.2添加监控项
  • 2.3 添加触发器
  • 2.4 添加媒介
  • 2.5 添加动作
  • 2.6 手动触发报警
  • 四、部署agent监控Windows主机
  • 1.安装agent
  • 2.在Web管理界面添加主机
  • 2.1添加主机



一、agent简介

zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。 zabbix能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。
  zabbix主要由2部分构成,zabbix server与可选组件zabbix agent。zabbix agent需要安装到被监控的主机上,它负责定期收集各项数据,并发送到zabbix server端,zabbix server将数据存储到数据库中,zabbix web根据数据在前端进行展现和绘图。这里agent收集数据分为主动和被动两种模式:

  • 主动:agent请求server获取主动的监控项列表,并主动将监控项内需要检测的数据提交给server/proxy
  • 被动:server向agent请求获取监控项的数据,agent返回数据。

二、监控服务配置流程与步骤

1. 监控配置流程

a. 运维需要加监控

  • 直接配置

b.开发需要加监控

  • 让开发人员提供获取指标的命令

c.运营需要加监控

  • 让运营人员去问开发人员获取指标命命令

2. 监控配置步骤

  • 添加主机/主机组
  • 添加监控项
  • 添加触发器
  • 添加媒介(如何告警,通过什么方式告知你,这就是媒介)
  • 添加收件人邮箱(告警的人是谁)
  • 配置动作(告警的方式,例如邮箱,短信等…)
  • 手动触发测试(自己尝试手动触发告警,确认是否部署成功)
  • 观察问题界面是否出现问题
  • 验证

三、部署agent监控Linux主机

zabbix agent的安装方式主要有源码安装、rpm包安装、二进制包安装等多种方式,本文介绍源码安装方式。

关于Zabbix Server端的安装请移步至👉部署Zabbix服务端

环境说明:

防火墙和Selinux要关闭或者放行服务和端口。

操作系统

IP地址

Centos8(Zabbix Server端)

192.168.92.139

Centos8(Zabbix agent端)

192.168.32.130

1.部署agent

//创建zabbix用户
[root@web01 ~]# useradd -rMs /sbin/nologin zabbix
//安装编译所需的依赖包和工具
[root@web01 ~]dnf -y install gcc gcc-c++ pcre-devel openssl openssl-devel make wget
[root@web01 src]# pwd
/usr/local/src
//获取zabbix源码包
[root@web01 src]# wget https://cdn.zabbix.com/zabbix/sources/stable/6.2/zabbix-6.2.2.tar.gz
//解压该包
[root@web01 src]# tar -xf zabbix-6.2.2.tar.gz
[root@web01 src]# cd zabbix-6.2.2/
//编译安装
[root@web01 zabbix-6.2.2]# ./configure --prefix=/usr/local/zabbix_agent --enable-agent
[root@web01 zabbix-6.2.2]# make && make install

//配置zabbix agent使之连接至zabbix server端
[root@web01 ~]# cd /usr/local/zabbix_agent/etc/
[root@web01 etc]# ls
zabbix_agentd.conf  zabbix_agentd.conf.d
[root@web01 etc]# vim zabbix_agentd.conf
113 Server=192.168.92.139			//Server端的IP地址
167 ServerActive=192.168.92.139		//同上
178 Hostname=yf		 //该主机可自定义,但要全局唯一。在web中添加主机要用到该主机名,两边须一致方可识别
//启动zabbix agent
[root@web01 ~]# /usr/local/zabbix_agent/sbin/zabbix_agentd
//看到10050端口可知agent启动成功
[root@web01 ~]# ss -anlt
State         Recv-Q        Send-Q               Local Address:Port                Peer Address:Port        Process
LISTEN        0             128                        0.0.0.0:111                      0.0.0.0:*
LISTEN        0             128                        0.0.0.0:22                       0.0.0.0:*
LISTEN        0             128                        0.0.0.0:10050                    0.0.0.0:*
LISTEN        0             128                           [::]:111                         [::]:*
LISTEN        0             128                           [::]:22                          [::]:*

2.在Web管理界面添加主机

2.1添加主机

先点击【Monitoring】,后点击该栏的【Hosts】,在Hosts界面中点击右上角的【Create host】。

zabbix server 添加agent zabbix agent部署_linux

添加主机的配置说明如下:

zabbix server 添加agent zabbix agent部署_zabbix_02

可以看到该主机已添加,状态也是启用。但【Availability】为何没有“亮”起来?

是因为此时没有配置‘监控项’,该栏要对该主机进行一次交互后才亮起来,亮起来才算完整的监控配置。

zabbix server 添加agent zabbix agent部署_Windows_03

2.2添加监控项

2.1使用模板添加监控项。

点击【Templates】右侧的【Select】,点击【Templates/Operating systems】,选择【Linux by Zabbix agent】。

zabbix server 添加agent zabbix agent部署_zabbix_04

静静等待对该主机检查完成后才可亮起来,默认是一分钟检查一次。如果这里【ZBX】显示红色的,很有可能是该主机的防火墙没有关,导致服务器的检查被拦截了。

zabbix server 添加agent zabbix agent部署_linux_05

2.2 进行手动添加监控项。

点击【Configuration】栏里的【Hosts】,点击要配置的主机的【Items】

zabbix server 添加agent zabbix agent部署_服务器_06

进到【Items】界面后,点击右上角的【Create Items】

zabbix server 添加agent zabbix agent部署_Windows_07

创建监控项界面。监控项名自定义,但建议让人能看出该监控项是干嘛的。【Key】这栏是重点,你监控的是什么取决于这里填写的是什么,我这里监控的是/tmp/test文件。【Custom intervals】这栏默认是关闭的,想启用则需把【Update interval】的值设为0。一般不推荐设置【Custom intervals】。

zabbix server 添加agent zabbix agent部署_zabbix_08

//创建test文件并查看文件权限,其他人有读的权限才能被服务端监控。
[root@web01 ~]# touch /tmp/test
[root@web01 ~]# ll /tmp/test
-rw-r--r-- 1 root root 0 Sep  5 17:14 /tmp/test

可以看到刚刚手动添加的监控项,并且是【Enabled】状态

zabbix server 添加agent zabbix agent部署_zabbix_09

点击左侧监控栏的【Latest data】,在该界面找到手动添加的监控项,点击【Graph】

zabbix server 添加agent zabbix agent部署_linux_10

点击右上角的【View as】傍边的选项栏,选择【500 latest values】。

zabbix server 添加agent zabbix agent部署_服务器_11

进行测试

往被监控的文件写入数据,手动让其监控的文件发生变化,这时再去查看新一轮检查的值。

[root@web01 ~]# echo 'abc123' > /tmp/test

zabbix server 添加agent zabbix agent部署_linux_12

2.3 添加触发器

可以发现,目前就算被监控的内容发生了变化,但没有任何告警提示。这是因为没有【触发器】,没有定义什么情况才需要告警。

点击【Configuration】栏里的【Hosts】,点击要配置的主机的【Triggers】。

zabbix server 添加agent zabbix agent部署_服务器_13

接着点击右上角的【Create triggers】

zabbix server 添加agent zabbix agent部署_zabbix_14

给该触发器命名,设置严重程度,用表达式定义什么情况下告警

下图的触发器定义的是当前一次和后一次的值不匹配则告警该文件发生了变化。

zabbix server 添加agent zabbix agent部署_运维_15


再次回到配置主机的界面,点击【Items】界面,可以看到该监控项有了触发器。

zabbix server 添加agent zabbix agent部署_Windows_16

进行测试

[root@web01 ~]# echo 'asd321' >> /tmp/test

点击监控栏的仪表板,可以看到告警说该文件发生了变化。

zabbix server 添加agent zabbix agent部署_运维_17

2.4 添加媒介

点击【Administration】栏里的【Media types】界面的【Email】

zabbix server 添加agent zabbix agent部署_zabbix_18

所做配置如下。有个地方需注意,这里的认证密码并非是该邮箱网站的登录密码,而是SMTP服务的授权码。

获取授权码以及SMTP server的地址的方法往下看

zabbix server 添加agent zabbix agent部署_运维_19

告警消息的模板,保持默认即可。如需更改,自行更改。

zabbix server 添加agent zabbix agent部署_运维_20

获取授权码以及SMTP server地址的方法如下

zabbix server 添加agent zabbix agent部署_服务器_21

zabbix server 添加agent zabbix agent部署_Windows_22

2.5 添加动作

点击【Administration】栏里的【Users】,进此界面选择要给哪个用户添加

zabbix server 添加agent zabbix agent部署_zabbix_23

点击【Media】选项,然后点击【Add】添加。类型选择【Email】,填写告警邮件的收件人。添加后记得【Update】更新配置。

zabbix server 添加agent zabbix agent部署_zabbix_24

进入配置栏的【Actions】界面后禁用默认的这条动作,点击右上角的【Create action】创建动作。

zabbix server 添加agent zabbix agent部署_linux_25

给该动作命名,sendmail代表该动作是用于发送邮件。【Conditions】是条件,默认不加条件代表出现任何问题都执行该动作

zabbix server 添加agent zabbix agent部署_运维_26

在上个界面的基础上点击第二个选项【Openrations】。这里要注意的是用户与用户组。建议用户与用户组不要重合,意思是如果你添加了用户组,而后又添加用户,刚好这名用户就在此组,那么该动作触发会收到两条一模一样的邮件,造成了信息的冗余。

zabbix server 添加agent zabbix agent部署_Windows_27

可以该动作添加成功并且是激活状态

zabbix server 添加agent zabbix agent部署_zabbix_28

2.6 手动触发报警

对被监控的对象新增内容或删除内容,造成两次检查的值不一致

[root@web01 ~]# echo 'qwq369' >> /tmp/test

成功接收到告警消息!如果收不到邮件则需在邮箱网站设置白名单,以防被当作垃圾邮件处理。

zabbix server 添加agent zabbix agent部署_运维_29

如果未收到邮件可以操作这一步,如果已收到则可以跳过。建议添加,以防万一。

添加白名单的方式有两种:第一种是【设置邮件地址白名单】,该配置需要把完整的告警邮件地址添加进去。第二种是【设置域名白名单】,只需要添加发送邮件的后缀,我设置的告警邮件地址是yf021121@126.com。故只需把126.com添加即可。

zabbix server 添加agent zabbix agent部署_Windows_30


四、部署agent监控Windows主机

1.安装agent

  1. 1下载zabbix agent包

zabbix server 添加agent zabbix agent部署_zabbix_31

1.2 双击该包,开始安装,除了标注的截图需要注意,其它步骤默认下一步即可。

zabbix server 添加agent zabbix agent部署_linux_32

zabbix server 添加agent zabbix agent部署_运维_33

zabbix server 添加agent zabbix agent部署_zabbix_34

1.3 安装完成后查看端口,可以看到agent的10050端口已启用。

zabbix server 添加agent zabbix agent部署_linux_35

1.4 检查Windows防火墙,切记要关闭!

zabbix server 添加agent zabbix agent部署_zabbix_36

2.在Web管理界面添加主机

因前面添加主机的流程很详细,不详细描述了,可以往前翻。

2.1添加主机

填Windows的IP是这张VM8虚拟网卡的IP地址

zabbix server 添加agent zabbix agent部署_zabbix_37

主机名填写Windows主机安装agent时填写的主机名。模板选择Windows的,IP地址填VM8虚拟网卡的IP

zabbix server 添加agent zabbix agent部署_运维_38


如下图所示则为添加成功

zabbix server 添加agent zabbix agent部署_zabbix_39

由于配置Windows模板,该模板监控了我的Windows状态,一些服务状态的改变引起了报警。

zabbix server 添加agent zabbix agent部署_zabbix_40

为何我会收到告警邮件?

zabbix server 添加agent zabbix agent部署_zabbix_41

原因是先前部署监控Linux时就配置了这个,详情配置请回看部署Linux的2.4与2.5步骤。

zabbix server 添加agent zabbix agent部署_运维_42

由于什么等级的告警信息都发送告警邮件,导致邮箱被轰炸,这里可以修改告警邮件的严重等级,只发送较紧急的告警。

该次只是实验,下面演示停止监控Windows主机。

zabbix server 添加agent zabbix agent部署_zabbix_43