运维学习————Zabbix监控框架(2)

目录

一、监控主机

1、安装zabbix-agent

2、修改agent配置

​编辑 3、zabbix-server图形界面配置监控主机

4、查看监控结果 

​编辑 二、添加自定义监控项

背景及好处

 1、获取关键数据

2、配置(在monitor机)

3、测试监控是否成功(在zabbix server) 

4、server图形界面配置自定义监控项 

5、查看监控结果

三、自定义触发器

1、概念

2、格式 

 3、实战

 1、开启告警声音

2、创建触发器 

3、测试

 四、邮件报警

1、配置发件人

2、配置收件人

3、启动邮件发送配置

4、测试

一、监控主机

1、安装zabbix-agent

这里的话采用方式二

方式一:

在需要监控的主机上安装

rpm -ivh https://mirror.tuna.tsinghua.edu.cn/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-agent-5.0.2-1.el7.x86_64.rpm

如果网络不好,可以使用wget下载,保存到本地,方便下次监控其他主机使用

wget https://mirror.tuna.tsinghua.edu.cn/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-agent-5.0.2-1.el7.x86_64.rpm

方式二:

安装zabbix yum源:

rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm

修改阿里云的地址:

cat /etc/yum.repos.d/zabbix.repo

sed -i 's#Zabbix Official Repository /etc/yum.repos.d/zabbix.repo

cat /etc/yum.repos.d/zabbix.repo

清原缓存,创建新缓存:

yum clean all && yum makecache

安装:

yum install zabbix-agent -y

2、修改agent配置

在被监控的机子上安装

vim /etc/zabbix/zabbix_agentd.conf

 

#被动检查(Passive)模式,Zabbix Server会定时对Agent进行轮询,以请求监控数据,而Agent则负责响应这些请求并返回相应的监控数据。

:117 修改成zabbix-server的IP

Server=192.168.170.122

#主动检查模式(Active),Agent主动发送数据,Zabbix Server不需要为每个监控项都发起请求,从而减少了Server的负载。

:158 修改成zabbix-server的IP(可选)   这里先配一下,下面需要用到主动检查

ServerActive=192.168.170.122

:169 修改为当前主机名称(可选)

#在Zabbix前端中看到的主机名

#Hostname=web-server

启动服务,并设置开机自启:

service zabbix-agent status

service zabbix-agent start

systemctl enable zabbix-agent

或者

systemctl enable zabbix-agent --now

 3、zabbix-server图形界面配置监控主机

群组,服务的所属组,可以自己随便定义,要有意义,也可以选择已经有的。

添加模版:

模版就是要监控项的集合。本来要自己添加,可能很多项,使用模版简化,不用自己手动添加,直接可以选择使用模版。

模版是监控的模版,实际上是一系列预配置的监控项(Items)、触发器(Triggers)、图形(Graphs)、屏幕(Screens)和其他元素的集合,它们定义了如何监控特定类型的设备或服务。

 

每隔60秒,会自动刷新监控。(可以立即启动服务,看监控)

server zabbix-server restart 立即刷新页面,就有了

vim /etc/zabbix/zabbix_server.conf

:425 # CacheUpdateFrequency=60 默认缓存更新频率(秒)

监控主机的状态通常用颜色表示,绿色表示主机状态正常,红色表示存在问题,灰色则表示尚未发现或未连接。如果你的监控主机在 Zabbix 界面中没有显示为绿色,而是显示为灰色或其他非绿色状态,这可能意味着有以下几种问题:

Zabbix Agent 未运行:检查目标主机上的 Zabbix Agent 是否正在运行。如果 Agent 未运行,你需要启动它。

网络问题:确认目标主机和 Zabbix Server 之间的网络连接是正常的。防火墙规则、路由或任何中间设备可能阻止了通信。

配置错误:检查 Zabbix Agent 的配置文件 (/etc/zabbix/zabbix_agentd.conf),确保 Server 或 ServerActive 设置正确指向 Zabbix Server 的地址。

Zabbix Server 配置:在 Zabbix Server 的配置文件 (/etc/zabbix/zabbix_server.conf) 中检查 ListenIp 设置是否允许从目标主机接收连接。

主机未注册:确认在 Zabbix Web 界面中已经正确创建并配置了目标主机。

延迟问题:有时,状态更新可能需要几分钟才能反映在 Zabbix Web 界面上。等待一段时间,看看状态是否会自动更新。

监控项未启用:检查监控项的状态,确保它们是启用状态,而不是禁用状态。

Zabbix Server 问题:确认 Zabbix Server 正常运行,没有错误或异常。

4、查看监控结果 

演示一下可以查看的监控结果

讲解下md5sum 用法 来看是不是发生改变

md5sum:用于计算和验证文件的MD5(Message-Digest Algorithm 5)哈希值,这个哈希值通常用于确保文件传输或存储后的完整性未受破坏。

 

修改检测时间间隔

在被监控的机子上,添加或者删除用户

md5sum /etc/passwd

useradd u1

md5sum /etc/passwd

useradd u2

 

#让/etc/passwd有变化
[root@zabbix-monitor software]# md5sum /etc/passwd
4a8f7ffb291c6f061bd95cbec6f05051  /etc/passwd
[root@zabbix-monitor software]# md5sum  /etc/passwd
4a8f7ffb291c6f061bd95cbec6f05051  /etc/passwd
[root@zabbix-monitor software]# userdel -r  u1
[root@zabbix-monitor software]# md5sum  /etc/passwd
0bd0ac2ec71a0d7362e593747b587eac  /etc/passwd
[root@zabbix-monitor software]# userdel -r  u2
[root@zabbix-monitor software]# md5sum  /etc/passwd
0d36e364b446a1e3435af4d9c1215e0a  /etc/passwd
[root@zabbix-monitor software]# userdel -r  u3
[root@zabbix-monitor software]# md5sum  /etc/passwd
6a86f56c6ae9b5cc876baa0e9742b87d  /etc/passwd

 

[root@zabbix-monitor software]# useradd u3

[root@zabbix-monitor software]# useradd u2

[root@zabbix-monitor software]# useradd u1

[root@zabbix-monitor software]# md5sum /etc/passwd

16751858600026692c095ef1bf0cf3cd /etc/passwd

再次变化

状态监控 当前服务器的在线时长 每30秒刷新一次

网络接口监控:

开始没有被监控项 没有安装网络工具:

yum -y install net-tools

 二、添加自定义监控项

背景及好处

在 Zabbix 中添加自定义监控项(通常称为用户参数或 User Parameters)有多种原因和好处。自定义监控项允许你监控那些标准模板和内置监控项无法覆盖的特定场景或指标。

让监控更具备灵活性,更好的完成特定业务需求,复杂监控。

 1、获取关键数据

根据需求通过shell命令获取想要自定义监控项的值

如: 想要监控登录用户数
 

top -bn1 |awk 'NR==1{print $6}'      #默认以空格为隔离符,第六个空格之后就是用户数

top 以前讲过 -b 在批处理模式下运行 -n1 不是交互模式,只运行一次



批处理模式下,top 不会持续刷新屏幕,也不会等待用户输入,而是执行一次并立即输出结果,这非常适合在脚本中调用或在服务器后台执行

w

w |awk 'NR==1{print $4}'
who|wc -l

users |tr ' ' '\n'|wc -l        #tr ' ' '\n' 把空格转换为换行

uptime|awk '{print $4}'

2、配置(在monitor机)

需要把自定义监控的名称(key名)和命令配置到zabbix-agent的配置中

vim /etc/zabbix/zabbix_agentd.conf

UserParameter 用户定义监控参数。

格式为: UserParameter=<key>,<shell command>

UserParameter=get_online_user_num,top -bn1 |awk 'NR==1{print $6}'

UserParameter=online_user_num,w |awk 'NR==1{print $4}'

重启服务,让配置生效

service zabbix-agent restart

service zabbix-agent status

3、测试监控是否成功(在zabbix server) 

yum -y install zabbix-get.x86_64

zabbix_get 是 Zabbix 监控系统中的一个实用程序,用于从远程主机上的 Zabbix Agent 获取监控数据。它通常包含在 zabbix-agent 软件包中,而不是作为一个独立的软件包提供。

测试

zabbix_get -s 192.168.37.192 -k online_user_num

-s:这个参数通常用于指定Zabbix agent的IP地址或主机名。

-k:这个参数用于指定要获取的监控项的键(key)

 

4、server图形界面配置自定义监控项 

修改应用集

可以自己写新的应用类,也可以使用已经有的!

5、查看监控结果

改变web服务器的在线人数

在服务器,再打开一个会话窗口,然后监控

三、自定义触发器

1、概念

Zabbix自定义触发器是一种用于定义监控项报警阈值的机制,一旦数据超出设定的阈值,将触发警报

2、格式 

{<server>:<key>.<function>(<parameter>)}<operator><constant>

{zabbix-monitor: 监控monitor主机的在线人数.}

{服务器:监控项 .函数或者功能 (取值时间范围或者数值范围)} 操作符 常量

{zabbix-monitor:online_user_num .last()} > 3
 

<server>:

主机名称或模板名称。这指定了触发器将在哪个主机或模板的上下文中评估数据。

<key>:

监控项的键值。这是主机上监控项的唯一标识符,用于指定触发器将检查哪个监控项的数据。

<function>:

评估函数。这个函数用于处理从监控项获取的数据,并根据需要执行计算或比较。Zabbix支持多种函数,如avg(平均值)、min(最小值)、max(最大值)、last(最新值)等。

<parameter>:

函数参数。这个参数指定了函数操作的时间范围或数据范围。例如,5m表示最后5分钟,#10表示最近10个值。

<operator>:

操作符。这是用于比较函数结果与常量的符号,如>(大于)、<(小于)、=(等于)等。还可以使用逻辑运算符如&(逻辑与)和|(逻辑或)来组合多个条件。

<constant>:

常量值。这是与函数结果进行比较的值,用于确定是否触发警报。

 3、实战

需求:监控某一个服务器在线人数,如果超过规定人数constant,触发警报!

 1、开启告警声音

2、创建触发器 

点上面链接可以修改

3、测试

重启zabbix-server(会听到声音):

service zabbix-server restart

修改监控项目的更新时间 

更新后,重启服务:

service zabbix-server restart

查看zabbix仪表板首页

增加或者减少服务器的在线人数,然后观察结果
再zabbix-monitor,一共开4个会话窗口

再添加一个就会达到临界值,再添加一个就会超过5个,就会触发警告

关闭几个之后

 配置CPU使用率触发器

yum install epel-release -y

EPEL(Extra Packages for Enterprise Linux)仓库为 RHEL(Red Hat Enterprise Linux) 及其衍生版本(如 CentOS)提供了额外的软件包。stress 工具就包含在这个仓库中。

yum install stress -y

stress 是一个常用的压力测试工具,可以用来对 CPU、内存、磁盘和 I/O 进行压力测试。

stress --cpu 1

stress 将尝试使用 1 个 CPU 核心达到 100% 使用率

监控项默认是1分钟触发!

停止之后,恢复正常

 四、邮件报警

开启邮箱服务,并绑定手机号

1、配置发件人

2、配置收件人

3、启动邮件发送配置

4、测试

让zabbix-monitor登录更多人,观察邮件发送请客

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值