一、目标:实现监控 Gitlab 用户数量的监控项
- 在被控端创建key。被控端被监控的内容叫作key,可以理解为它就是一个变量名,具体的名字自己决定。
- 在web页面中创建监控项。监控项对应key值。
模板 - - - - - 包含- - - - - 监控项- - - - - 对应 - - - - --key
1. 在被控端创建key
-
创建key的语法
UserParameter=自定义key值,命令
# 命令的执行结果,是key的value
-
创建自定义配置文件,文件名自定义
[root@Gitlab ~]# vim /etc/zabbix/zabbix_agentd.d/usercnt.conf
UserParameter=usercnt,sed -n '$=' /etc/passwd
[root@Gitlab ~]# systemctl restart zabbix-agent.service
-
验证自定义监控项
# 1. 安装zabbix-get
[root@zabbix01 ~]# yum install -y zabbix-get
[root@Gitlab ~]# yum install -y zabbix-get
# 2. 获取监控项的值
[root@Gitlab ~]# zabbix_get -s 127.0.0.1 -k usercnt
22
[root@zabbix01 ~]# zabbix_get -s 192.168.88.5 -k usercnt
22
2. 创建模板
3. 创建监控项
4. 应用模板到主机
5. 查看结果
二 目标:配置告警,实现用户数超过50,发送告警邮件
- 默认情况下,监控项不会自动发送告警消息
- 需要配置触发器与告警,并且通过通知方式发送信息给联系人
- 触发器:设置条件,当条件达到时,将会执行某个动作
- 动作:触发器条件达到之后要采取的行为,比如发邮件或执行命令
- 当 Gitlab 的用户数超过50时,认为这是一个问题(Problem)
- 当出现问题时,将会执行动作。
- 执行的动作是给管理员发邮件。
- 给管理员发邮件,还要配置邮件服务器的地址,以及管理员的email地址
1. 创建触发器规则
上图中,点击“添加”后,出现下图:
上图中,点击“插入”后的结果如下:
2. 创建邮件类型的报警媒介
3. 为用户关联邮箱
4. 创建动作:当出现Problem状态时,给admin发邮件
回到“创建动作”页面后,点击“操作”:
5. 验证告警配置
-
在zabbixserver上配置邮件服务
[root@zabbix01 ~]# yum -y install postfix
[root@zabbix01 ~]# yum -y install mailx
[root@zabbix01 ~]# systemctl start postfix.service
-
在Gitlab上创建用户,使总用户数超过50
[root@Gitlab ~]# for user in user{1..30}
> do
> useradd $user
> done
-
在zabbix web页面中查看
-
在zabbixserver上查看邮件
[root@zabbix01 ~]# mail
Heirloom Mail version 12.5 7/5/10. Type ? for help.
"/var/spool/mail/root": 3 messages 3 new
>N 1 weiwei@qq.com Sun Aug 20 11:20 21/926 "Problem: usercnt_gt_50"
N 2 weiwei@qq.com Sun Aug 20 11:21 21/926 "Problem: usercnt_gt_50"
N 3 weiwei@qq.com Sun Aug 20 11:22 21/926 "Problem: usercnt_gt_50"
& 1 // 查看1号邮件
Message 1:
From weiwei@qq.com Sun Aug 20 11:20:18 2023
Return-Path: <weiwei@qq.com>
X-Original-To: root@localhost.localdomain
Delivered-To: root@localhost.localdomain
From: <weiwei@qq.com>
To: <root@localhost.localdomain>
Date: Sun, 20 Aug 2023 11:20:18 +0800
Subject: Problem: usercnt_gt_50
Content-Type: text/plain; charset="UTF-8"
Status: R
Problem started at 11:18:14 on 2023.08.20
Problem name: usercnt_gt_50
Host: Gitlab
Severity: Warning
Operational data: 52
Original problem ID: 570
New mail has arrived.
Loaded 1 new message
N 4 weiwei@qq.com Sun Aug 20 11:23 21/926 "Problem: usercnt_gt_50"
& q
Held 4 messages in /var/spool/mail/root