hualinxu ext zbx 1.4:zabbix 配置流程讲解(重要)

目录

一、配置流程图

二、配置流程概述

1. 创建一个Group组

2.创建一个主机host

3. 监控项Items

4.分支 图象graph(可选)

4. 分支 触发器triggers

5. 动作action

6.报警

三、例子

3.1 配置前准备

3.1.1 安装nginx(agent端操作)

 3.1.2 邮箱开启SMTP、POP3功能

3.2 创建配置组和主机

3.2.1 创建一个监控组

3.2.2 添加被监控主机

3.3 添加一个监控项items

3.4 添加触发器Triggers

3.4.1 创建触发器Triggers

3.4.2 测试触发器Triggers

3.5 配置用户user及媒介media

3.5.1 配置媒价类型media type

3.5.2 添加用户user并指定接受的媒介类型media type

3.6 配置动作action

3.7 测试报警效果


学习zabbix,了解zabbix对配置流程是一件很重要的事。

一、配置流程图

 《Zabbix企业级分布式监控系统(第2版)》作者在他的博客上分享了一个zabbix配置流程图如下:

上篇中的 一个完整的zabbix监控组成如下:

二、配置流程概述

从上面的2张图中可以看出大概配置流程如下:

1. 创建一个Group组

主机host是放在组中的,还记得《centos8搭建zabbix5.0》篇吗,我在创建监控的时候,先创建了一个名为 hualinux的主机组Group,不记得可以回去看一下。

2.创建一个主机host

就是创建一个被监控的主机,我在《centos8搭建zabbix5.0》篇创建了名为vm821的监控主机。

 而主机包括了哪些呢,看下图所示:

applications(应用):应用主要是把监控项进行分类,方便管理,而监控项intems是放在应用里面的,如下图所示:右侧就是监控。

我们创建一个监控项就要指定  applications ,如下图所示:当然你可以不要,不分类,一般不推荐这样。

intems(监控项):监控项,后面有一个s,就知道是一堆了,上面图中有85个

triggers(触发器):触发器,后面有一个s,就知道是一堆了,上面图中有31个

graphs(图形):图形,后面有一个s,就知道是一堆了,上面图中有18个

Templates(模板):监控项、触发器、图形等配置很多是重复的,如果创建一台监控主机就配置一次,那不是疯了,大量的重复工作,所以zabbix也为我们想到了,那就是模板Templates,也是相当于主机那样的,只不过是普通性强,把重复的地方用变更、宏代替,这样就可以实现重用了。

下面是Templates模板的截图:也会主机一样,有应用、监控项、触发器、还多了屏幕Screens、自动发现Discovery等

模板创建了,只要你在监控主机直接调用它,那么它就可以套用了,我在centos8搭建zabbix5.0》也是直接套用模板的,如下图所示:

从上面可以看出,你如果不创建host主机的话,你根本都无法创建监控项、触发器、图形等

3. 监控项Items

triggers(触发器)、graphs(图形)都是基于监控项intems的基础上的,所以你得先配置监控项

在创建监控项items的时候要指定一个应用applications,如果是新创建的直接填写即可,如下图所示:

4.分支 图象graph(可选)

这个可以不用弄,zabbix会自动对监控项生成图象。

图象就是数据的图形化,所以得先有数据,监控项就是按监控指标metrics生成监控数据的。

PS:graph主要是通过选择监控项items进行数据展示的,如下图所示:这样它就与监控项关联上了

Screens 屏幕,这个是显示多个图象的,这里不讲了

4. 分支 触发器triggers

创建触发器也是要基于监控项items进行的因为触发器的表达式判断需要监控项items得到的监控值进行判断,只要符合条件才能触发,如下图所示:看到监控项前面有一个红色的*星号了吧,表示必须得填写,否则你无法使用触发器。

这个也是可以理解,如果你没有东西让我判断,我怎么触发?!

5. 动作action

动作有很多类型,如下图所示:

这里主要是触发器生产的动作,看名字就知道是基于触发器的,所以要先配置触发器,这个不难理解吧。

6.报警

主要是action中指定媒介media type向用户user发送通知,即实现报警功能。

什么是媒介,用通俗的话来说,就是能向user进行发信息的“中间人”。

你要向用户发什么信息你得通过“中间人”,具备向用户发信息的“中间人”列表,如下图所示:

上面这些“中间人”是具备向用户发信息能力的,但是也要在用户的“中间人”列表中,用户才会接收信息,即user 的media type中也要添加对应的“中间人”

 

三、例子

我以最简单的,使用web 80端口为例子,我这里使用的是nginx,什么都没配置,只是安装nginx即可。然后配置一个报警流程。

 我这里就不使用模板了,直接按上面流程图创建一个报警过程出来,具体操作如下:

3.1 配置前准备

 

3.1.1 安装nginx(agent端操作)

我直接在agent一台机子上安装nginx,这里我选择vm821,用的是centos8,nginx安装如下:

根据nginx官方centos安装文档,我直接配置yum源方式安装

#安装管理工具 yum-utils 用yum和dnf都可以
dnf install yum-utils -y

cat>/etc/yum.repos.d/nginx.repo<<EOF
[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/\$releasever/\$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true

[nginx-mainline]
name=nginx mainline repo
baseurl=http://nginx.org/packages/mainline/centos/\$releasever/\$basearch/
gpgcheck=1
enabled=0
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true
EOF
cat /etc/yum.repos.d/nginx.repo 

#安装
dnf install nginx -y

#启动nginx
systemctl start nginx
systemctl status nginx
#开机启动
systemctl enable nginx

安装完成之后,打开看一下是否能正常访问nginx,我的IP地址为:http://192.168.3.21,效果如下:

 3.1.2 邮箱开启SMTP、POP3功能

zabbix发送邮件一般是以smtp协议,也可以使用最新的我这里以163邮件为例子,登录163邮件

在POP3/SMTP/IMAP 右边开启SMTP服务,如果没有开启,按提示开启即可,记得要保存好授权码!后面要用到。

 

3.2 创建配置组和主机

我在《centos8搭建zabbix5.0》已经教如何创建组和主机了,操作如下:

3.2.1 创建一个监控组

zabbix概念是“主机host”在“组Host groups”中,“模板Template”可以套在主机也可以套上组上,如果套上组中,那么所有“主机”都会使用,如果套上“主机”上只有某台主机生效。

起一个名字,我里起hualinux 

 

 

3.2.2 添加被监控主机

我这里先拿vm821机子添加监控,vm822先不添加

#加入被监控的主机

Host name:客户端的主机名,可以是IP地址或主机名,这个主机名服务器需要ping得通
Visible name:在zabbix主机列表中显示的名字,主要是为了方便记忆,可以按公司要求分类
Groups:属于哪个组(可以多个组),可以直接输入会有提示,也可以点旁边的 Select 选取
Interfaces下的Agent:就是客户端信息啦,默认只填写IP地址即可
Description:描述,主要是辅助记忆的,也可以什么都不写

为了方便我没有直接点Add,我再点模板,直接套用监控模板 可以省不少麻烦

 

我这里弄一个简单的,只添加系统监控,如果有兴趣了解其它可以点旁边的 Select

Template OS Linux by Zabbix agent active:是主动模式

Template OS Linux by Zabbix agent:被动模式

#在页面的最下方会自动添加多一行,如下:

 

从上面看出刚才看主机名为Visible name的名字,刚才添加多一个模板也在其中,的模板状态为Enabled,表示主机在运行,处于可用状态。

PS:如果按上面教程添加了模板的,直接把主机删除再重新添加即可。

3.3 添加一个监控项items

应用applications我就直接在监控项中配置了,所以没有给出创建它的过程。

我这里添加一个简单的监控项http监控,我这里使用是http监控,我使用的是简单检查SIMPLE CHECKS,只检查80端口,可以使得net.tcp.service 这个key,用法如下:

   net.tcp.service[service,<ip>,<port>]
 Checks if service is running and accepting TCP connections.0 - service is down

1 - service is running

service - possible values: sshldapsmtpftp

httppopnntpimaptcphttpstelnet (see details)


ip - IP address or DNS name (by default host IP/DNS is used)
port - port number (by default standard service port number is used).

Example:
⇒ net.tcp.service[ftp,,45] → can be used to test the availability of FTP server on TCP port 45.

Note that with tcp service indicating the port is mandatory.
These checks may result in additional messages in system daemon logfiles (SMTP and SSH sessions being logged usually).
Checking of encrypted protocols (like IMAP on port 993 or POP on port 995) is currently not supported. As a workaround, please use net.tcp.service[tcp,<ip>,port] for checks like these.
https and telnet services are supported since Zabbix 2.0.

按上面所说我们要监控192.168.3.21:80端口,可以这样写

#net.tcp.service[service,<ip>,<port>],<>表示可选,如果不填写则使用默认
net.tcp.service[http,192.168.3.21,80]

现在操作添加一个监控项:

上面中我设置了key,把检查时间间隔和历史记录天数调小一点

show value这个是把数字转为人性化的状态码,我这里检查就2种状态,要就是UP,要么是DOWN,有2种状态的就是service State,可以点旁边的 show value mappings

完成之后底下会生成一个监控项,如下图所示:

3.4 添加触发器Triggers

3.4.1 创建触发器Triggers

Graphs图象不创建也行,默认zabbix会自动创建,所以我这里就不创建了,有兴趣的也可以自己创建一下

我这里就不再说了,直接走触发器Triggers的创建:

我们的需求是当服务器挂了,即检测不到80端口,取得的key值为0则表示挂了,具体操作如下:

配置完上面的表达式,点 Insert 插入之后,最终配置结果,如下图所示:

这样触发器就配置完成了,在页面底下会有生成一个触发器,如下图所示:

3.4.2 测试触发器Triggers

配置触发器完了之后,最后测试一下,如果全部配置完再测试,你都不知道哪个环节问题,比较好的习惯就是配置一个功能,测试一下,用开发的话叫 “单元测试”。

废话少说,操作如下:

1.在vm821把nginx停止了,

systemctl stop nginx

2. 过1分钟这样,再去仪表板看一下,发现报警了,如下图所示:

 测试成功后把 nginx再开启起来

systemctl start nginx

过几十秒刷新一下,发现消失了

3.5 配置用户user及媒介media

因动作action中指定向哪个用户发消息,而用户中指定发是通过哪些方式(媒介)来知识TA的。

3.5.1 配置媒价类型media type

我这里使用的是Email 163的,我在现成的基础上进行修改,操作如下:

点一下最低面的Clone克隆,即复制一份

我再根据 163免费邮客户端设置的POP3、SMTP、IMAP地址中的图

一般建议使用ssl,465,不建议使用非ssl的25,因为有些云服务商会把25给禁止掉,下面是进行配置的图

养成好习惯,添加一个功能就测试一下

测试发送成功了,如下图:

我的QQ右下角有提示,收到了一件邮件,如下图所示:

PS:注意,如果发送成功,但是QQ收不到邮件,可能在垃圾箱中,你要把它放行才可以。

3.5.2 添加用户user并指定接受的媒介类型media type

在用户里要配置使用哪些媒价通知用户(即使用哪种方式),如果没配置媒价的话,就是所有媒介都不接受!是发不了邮件的!

媒介可以继续添加多个,我这里只添加一个就是使用自己自定义的Email 方式。

接着就是配置权限了

这里配置一定要配置成 Zabbix Super Admin 超级管理员 权限,其它权限发现都无法发送邮件!!

在页面底部会多了一个hua用户,如下图所示: 

3.6 配置动作action

动作的对象有很多,在这里我是基于触发器Triggers,生产对应的动作。

当vm821的nginx挂了,就会触发触发器,触发器就会通知用户,用户就会向指定的媒介发信息。具体操作如下:

 

同理我也配置了故障恢复,也是发给hua用户,如下:

 最后在页面底部会创建一个动作,如下图所示:

3.7 测试报警效果

这个简单了,直接把v821的nginx服务停止了,看一下QQ会不会收到报警信息。

#停止nginx服务
systemctl stop nginx

等几十秒,发现我的QQ右下角收到信息了,如下图所示:提示发现故障了

具体内容如下:

然后我再nginx服务再开启,再等几十秒,发现也收到一条信息,如下:提示故障恢复了

 

具体内容如下:

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值