跳转至

02-自动化监控-zabbix配置

Zabbix Documentation 3.0配置

zabbix自定义监控

用户在线人数监控

对于一定模块的监控,默认是没有的,这时我们就需要自定义的监控,比如监控nginx服务

1.使用zabbix如果收集监控端的用户登录情况

[root@web01 ~]# vi /etc/zabbix/zabbix_agentd.conf       需要修改被监控端的配置文件
# Mandatory: no
# Default:
# UserParameter=
UserParameter=login-user,who|wc -l
[root@web01 ~]# who|wc -l       查看当前用户在线数
1
[root@web01 ~]# /etc/init.d/zabbix-agent restart        重启服务使其配置生效
Shutting down Zabbix agent:                                [  OK  ]
Starting Zabbix agent:                                     [  OK  ]

2.当我们在监控端调用此模块就会发现可以查看用户在线数量啦

[root@m01 ~]# zabbix_get -s 172.16.1.8 -p 10050 -k "login-user"  
1

3.测试,当我们使用被监控端克隆多个会话的话,就会发现有多个用户登录

[root@m01 ~]# zabbix_get -s 172.16.1.8 -p 10050 -k "login-user" 
3

4.这时我们就需要在监控端的浏览器上进行设置,其实在监控端显示

image-20211024115108117

5.点击右上角的创建应用集

image-20211024115119741

6.现在我们添加一个应用集名称为:监控系统在线人数

image-20211024115129277

7.我们就会看到有个监控用户在线人数的应用集

image-20211024115139959

8.我们点击分类右边的监控项,进入创建监控项

image-20211024115149562

9.点击右上角的创建监控项

image-20211024115205338

image-20211024115213368

image-20211024115219716

11.点击添加,我们的监控项就创建完毕啦

image-20211024115232930

12.现在我们来创建触发器,(触发器的作用是,当我们监控的值达到某个值以后,会自动触发事件)

image-20211024115244366

13.点击右上角的创建触发器

image-20211024115257319

14.点击添加触发的事件

image-20211024115309867

15.设置监控事件,触发条件

image-20211024115321328

16.最后我们点击添加触发器

image-20211024115333555

17.我们在触发器里就会发现新建的触发器

image-20211024115346826

18,当我们将触发器创建完毕以后,下面来创建图形,更好的显示警告

image-20211024115358733

image-20211024115403364

19.我们可以通过添加图表方式查看用户的在线情况

image-20211024115416589

20.这时我们就可以看到登录的用户数啦

image-20211024115428626

zabbix报警类型

网页报警

我们可以设置zabbix进行网页简单的报警,只要出现警告,网页端就会开始报警

(1)点击右上角的设置

image-20211024115545642

(2)将下面的选择全选,更新即可

image-20211024115559920

(3)这时只要我们的之前设置web01服务用户登录数量超过2个就会在网页前端报警

image-20211024115619668

(4)假如我们的问题被解决的话,那么也会有一个恢复的报警

image-20211024115634065

邮件报警

1.执行下面的命令配置邮件

postconf -e myhostname=mail.zabbix.example.cn
postconf -e myorigin=zabbix.example.cn
postconf -e mydomain=zabbix.example.cn
postconf -e mydestination=localhost
postconf -e mynetworks=127.0.0.0/8 

提示:配置完成会添加参数到/etc/postfix/main.cf下末行

2.需要修改/etc/hosts文件

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4 mail.zabbix.example.cn zabbix.example.cn

3.发送一个邮件测试

发邮件前一定要确保postfix服务处于启动状态

[root@backup ~]# /etc/init.d/postfix start
Starting postfix:                                          [  OK  ]
[root@backup ~]# /etc/init.d/postfix status
master (pid  18304) is running...
[root@backup ~]# chkconfig postfix on && chkconfig --list postfix
postfix         0:off   1:off   2:on    3:on    4:on    5:on    6:off

现在开始发送邮件

[root@backup ~]# echo 'This is zabbix test'|mail -s te'zabbix test' 838997384@qq.com

提示:如果qq邮箱收不到邮件的话,请将zabbix.example.cn域名加入到域名白名单

image-20211024115803247

这时我们打开QQ邮箱就会收到邮件啦

image-20211024115816585

4.配置web端的邮件配置

image-20211024115830421

SMTP服务器:mail.zabbix.example.cn

SMTP HELO:zabbix.example.com

SMTP电邮:root@zabbix.example.cn

以下为强哥腾讯qq的配置方法

image-20211024115845100

5.现在开始设置报警媒介

image-20211024115902103

6.配置报警媒介。并添加

image-20211024115916102

7.更新报警媒介

image-20211024115929595

8.设置动作

image-20211024115941955

image-20211024115949558

自定义报警内容

image-20211024120003296

9.转换到操作,进行设置

image-20211024120017893

10.点击更新

image-20211024120033371

到了这里我们的邮件报警就设置完成啦!

11.现在我们来测试邮件报警是否成功,将web01登录3个以上的用户进行测试

image-20211024120049549

12.现在查看监控是否会报警

image-20211024120103942

13.现在检查邮件是否报警

image-20211024120135391

image-20211024120141739

应该我们之前设置的是60秒内发5个邮件,现在等待一下进行查看,就会查看5个邮件

image-20211024120201099

14.当我们的问题解决时,同时也会收到一个问题解决的邮件提示

image-20211024120221530

image-20211024120228578

微信报警

腾讯的微信报警API默认只能调用1000次

脚本存放路径

image-20211024120717016

创建文件

image-20211024120729249

授权文件权限

image-20211024120743085

遇到的问题,需要安装相应的库

img

解决方法:

img

安装python库

img

正常执行如下

img

网页端配置

img

然后配置发送给的人

@a表示所有人,关注微信号的所有人

我们可以测试发送

img

发送给所有的报警类型

img

登录微信公众号

img

img

img

img

短信报警

「阿里大鱼」阿里巴巴旗下便捷的云通信服务平台

http://www.alidayu.com/?channel=baidu&spm=a1z15.973.4467.17133&ad_id=1001319817aad41eae59&campaign_id=547194&b=7745&jlogid=a05143700448bc

zabbix web监控

img

创建web场景

img

img

img

img

img

img

检查web、业务状态

img

重新加载缓存

img

img

zabbix mysql监控

安装数据库mariadb-server

yum -y install mariadb-server

查看mysql的配置文件

img

img

img

img

使用的模板

img

img

img

img

授权zabbix账户监控数据库权限

img

img

img

查看zabbix是否能取到值

img

刷新不支持的时间间隔

img

最后查看信息

img

如果每台数据库密码不一样的情况下

自定义zabbix变量

img

https://mirrors.tuna.tsinghua.edu.cn/percona/yum/el7/percona-zabbix-templates-1.1.7-2.noarch.rpm

zabbix nginx监控

img

    location /nginx_status {

         stub_status on;     

         access_log off;

         allow 192.168.56.0/24;

         allow 127.0.0.1;

         deny all;

    }

[root@linux-node2 zabbix_agentd.d]# cat nginx_monitor.conf 

UserParameter=nginx_status[*],/etc/zabbix/zabbix_agentd.d/nginx_monitor.sh $1

定义配置文件的路径

img

Zabbix 监控可视化

常用图形

1.有一个需求,我们想查看服务器的图表的话,可以将常用的图表加入到zabbix首页的常用图表中。例子,将网卡图表添加到常用选项

img

2.现在我们就可以在首页中查看到常用的图表啦!

img

聚合图表

聚合图表就是把一台服务器的所有图表添加到一起,让使用者可以同时查看多个图表

(1)现在我们来创建一个聚合图表

img

(2)添加一个聚合图形

img

(3)进入添加的聚合图形,添加图表

img

(4)点击编辑聚合图形

img

(5)点击更改,添加监控图表

img

(6)选择监控的图表

img

img

(7)继续点击添加图表

img

(8)这时我们就会看到添加的图表啦

img

(9)重复上面的操作将eth0 eth1网卡图表,CPU,用户在线人数依次添加

img

幻灯片演示

如果我们有多个聚合图形的话,那么我们都想看到这些数据的话,那么就可以通过创建一个幻灯片播放,前提是你必须有多个或两个以上聚合图形

img

(1)开始创建幻灯片播放

img

(2)创建幻灯片演示

img

(3)这样一下的图表就是没5秒刷新一次啦,我们也可以点击右上角添加到首页

img

(4)这是转到首页就可以看到

img

到了这里我们的幻灯片演示就成功啦!

zabbix 共享模板

互联网上的模板,我们可以下载别人分享的模板

https://share.zabbix.com/

1.模板的导入导出

img

2.选择需要导出的模块,选择导出

img

3.以下为导入模板的方法

img

zabbix 自动发现

Zabbix 神器——自动发现

http://www.linuxidc.com/Linux/2012-11/74640.htm

1、添加搜索范围:

系统配置——自动发现——创建自动发现

img

img

名称:就是一个规则的名字而已

IP地址段:就是这个规则搜索的IP段

Delay:搜索间隔,就是隔多久搜索一次

Checks:搜索主机的条件,我这里选择搜索主机的Zabbix agentd服务,及获取客户端的system.uname值

Device uniqueness criteria: 以IP地址作为被发现主机的标识

2、定义发现主机后的操作:

系统配置——操作——事件源(自动发现)——创建动作

img

名称:填写一个

默认主题和默认信息不用管

活跃:要勾选

img

这里我添加了两个触发条件,就是判断发现的主机符不符合这里的条件,如果符合才进行下一步

这里是如果找到符合条件的主机之后,我把这主机添加到某个组,然后link到某个监控模板下

img

这样就完成 自动发现 配置,结果可以在 状态统计——自动发现 栏下查看!

自动发现 这一功能是我看上Zabbix的一个重要特性~

img