zabbix自定义key,以及通过发送邮箱报警
一、Linux自带的一些监控模板可能无法满足我们的需求,在生产环境中,我们可能需要对某些目录进行监控,比如/boot,接下来我们来对演示一下如何对目录进行监控,我们可以自定义key。
1.zabbix客户端配置文件,记录了其他配置文件所在位置,以及key的语法
```
cat /path/zabbix_agentd.conf.d
Include=/etc/zabbix/zabbix_agent2.d/*.conf
```

2.明确需求需要执行的linux命令
```
who | wc -l #查询当前登录用户数
```
3.编写key
```
vim /path/zabbix_agentd.conf.d/key_login_user.conf
UserParameter=login.user,who | wc -l
其中login.user就是我们等下加入的key
```
4.重启客户端
systemctl restart zabbix-agent
此key用于服务端检测客户端(必须已编写此key)设备,其他设备没有编写此key,则无法检测
可通过zabbix_get语法检测
```
zabbix_get -s '192.168.0.135' -p 10050 -k 'login.user'
返回数字则表示key激活
```
5.创建自定义模板zabbix服务端登记此key
- 创建模板,模板可以导入导出


- 创建应用集,内含监控项,对监控项分类

再次点击左上角创建应用集

- 创建监控项,自定义item

- 创建触发器,当监控项获取到数值的时候,和触发器比较,决定是否报警


- 创建图形

- 主机和模板关联

6.测试
登录多个用户,看仪表盘有没有报警

此时已报警,完成
二、配置邮箱报警
1.管理——报警媒介类型型——创建媒介类型

```
1. 163邮箱
POP3服务器:pop.163.com 110 995(ssl)
SMTP服务器:smtp.163.com 25 465(ssl)
IMAP服务器:imap.163.com 143 993(ssl)
2. QQ邮箱
POP3服务器:pop.qq.com 110 995(ssl)
SMTP服务器:smtp.qq.com 25 465(ssl)
IMAP服务器:imap.qq.com 143 993(ssl)
```

2.点击测试

点击用户设置——报警媒介——添加


再配置消息模版

完成
三、自动发现
配置——自动发现——创建自动发现规则

再去动作页面

然后等待主动发现并注册

四、自动注册(推荐)
配置每台主机host
vim /etc/host
```
192.168.0.135 k8s-master1 #服务端ip和主机名
192.168.0.136 k8s-node1 #客户端本地ip主机名
```
将客户端的配置文件中的HostnameItem=system.hostname取消注视
```
grep -v -E "^$|^#" /etc/zabbix/zabbix_agent2.conf #用于过滤空行和注视方便查看
[root@k8s-node1 home]# grep -v -E "^$|^#" /etc/zabbix/zabbix_agent2.conf
PidFile=/var/run/zabbix/zabbix_agent2.pid
LogFile=/var/log/zabbix/zabbix_agent2.log
LogFileSize=0
Server=192.168.0.135 #服务端
ServerActive=192.168.0.135 #服务端
Hostname=k8s-node1 #主机名
HostnameItem=system.hostname #自动注册的参数
Include=/etc/zabbix/zabbix_agent2.d/*.conf
ControlSocket=/tmp/agent.sock
```
验证通信
```
zabbix_get -s '客户端ip' -p 10050 -k 'agent.ping'
返回1则表示通信成功
```
重启客户端,然后去web界面配置
配置——动作
然后点击右上创建动作按钮,添加条件

然后点击操作并添加条件,依次添加

点击更新即可等待即可

已自动注册