当前位置:   article > 正文

Zabbix 系统监控(三)VMware 虚拟平台监控、邮件告警、企业微信告警配置_vcenter6.7邮件警告配置

vcenter6.7邮件警告配置

Vmware 虚拟平台监控、邮件告警、企业微信告警配置

8 Vmware 虚拟平台监控

阅读 zabbix 官方文档,官方提供了 Vmware 虚拟机监控模板,并对模板进行了解释说明,但未对相应名词做解释,如果不了解 Vmware 组件,可能对出现的名词不容易理解。

官方监控虚拟机相关文档 URL :

https://www.zabbix.com/documentation/3.4/zh/manual/vm_monitoring

https://www.zabbix.com/documentation/3.4/zh/manual/config/items/itemtypes/simple_checks/vmware_keys
  • 1
  • 2
  • 3

重要信息说明:

VMware vCenter :VMware 平台用于管理的服务端,管理群集、主机、虚拟机、存储等。

VMware hypervisors :主机,安装了 ESXI 软件的服务器。

Template VM VMware“ 模板应用于 VMware vCenter 和 VMware hypervisors 监控。

Template VM VMware Hypervisor 和 Template VM VMware Guest 模板由自动发现使用,通常设置为自动链接到主机。

low-level discovery 规则自动发现 VMware hypervisors 和虚拟机, LDD 就是自动发现。

采用官方提供的监控模板流程是这样实现的,首先建立监控主机,可以监控的对象是 VMware vCenter 虚拟化平台或者是 ESXI 主机,链接 Template VM VMware 模板,等待 zabbix server 服务自动发现,而后对群集、主机、虚拟机等进行监控。

有一节单讲组配置,制定 VMware 下群集、主机、虚拟机、存储等命名规范。

8.1 自发现模板配置

主要通过创建主机 VMware vCenter 和 ESXI ,连接 Template VM VMware 模板,进行自发现获取群集、主机、虚拟机、存储等信息。

8.1.1 创建主机

此处创建主机为 Vmware Vcenter 平台,配置如下:
在这里插入图片描述
主机名称:IP 地址

端口 默认使用:80

主机组 命名为:Vmware 平台 Center 数据中心组

宏配置:
在这里插入图片描述
{$PASSWORD} 密码

{$URL} https://IP 地址 /sdk

{$USERNAME} 账号
在这里插入图片描述
模板:Template VM VMware ( zabbix 自带模板)

8.1.2 数据验证

在配置 – 主机中查看是否已有虚拟机自生成,在最新数据 – 查看是否有最新数据,这样就实现了 Vmware 平台上的数据监控,但平台分组不易读,还要制定分组命名规范。
在这里插入图片描述
8.2 制定分组命名规范

为了使 zabbix 平台 Vmware 分组分类整洁明了,方便管理审阅,规范 zabbix 下虚拟化平台分组名称。

  1. 首先宏观分 3 大类, Vmware 平台、 ESXI 主机和 WM 虚拟机

Zabbix 创建主机组的命名规范:用于添加 Vmware Vcenter 的组
在这里插入图片描述
注:

如果确实存在 Vmware ESXI 未加入到 Vmware Vcenter 中,视 ESXI 为一个平台。如果 Vmware ESXI 已经加入到 Vmware Vcenter 中,就不要单独监控了,只监控 Vmware Vcenter 即可。

Zabbix 创建主机组的命名规范:用于自动发现 ESXI 主机时,添加所有 ESXI 主机
在这里插入图片描述
Zabbix 创建主机组的命名规范:用于自动发现 WM 虚拟机时,添加所有 WM 虚拟机
在这里插入图片描述
2. 细分在某一 Vmware Vcenter 下进行分组, WM 虚拟机组有:数据中心( Vmware Vcenter )、群集与主机。
在这里插入图片描述
3. 细分在某一 Vmware Vcenter 下进行分组, ESXI 主机组有:数据中心( Vmware Vcenter )与群集。
在这里插入图片描述
为了使 Vmware Vcenter 数据中心,虚拟机方便管理审阅,规范 Vmware 下虚拟化平台分组名称。

命名规范:
在这里插入图片描述

8.3 规范模板中组的命名

Template VM VMware 模板修改,需要修改 Vmware 自动发现主机与自动发现虚拟机的主机模板。
在这里插入图片描述
8.3.1 Vmware 自动发现主机

根据 8.2 节, zabbix 命名规范,修改组模板的两项:

1 、 Wmare 主机组 群集 Cluster :{#CLUSTER.NAME}

2 、 Wmare 主机组 数据中心 DateCenter :{#DATACENTER.NAME}

说明:1 是群集组分组, 2 是数据中心分组,此组下均为 ESXI 主机信息

要先创建 zabbix 主机组:Vmware 平台 Center 数据中心组,才能在此处的 “ 群组 ” 中添加。

说明:包括所有 ESXI 主机,跨数据中心。
在这里插入图片描述
8.3.2 Vmware 自动发现虚拟机

根据 8.2 节, zabbix 命名规范,修改组模板的三项:

1 、 Vmware 虚拟机组 群集 Cluster :{#CLUSTER.NAME}

2 、 Vmware 虚拟机组 数据中心 Datecenter :{#DATACENTER.NAME}

3 、 Vmware 虚拟机组 主机 ESXI :{#HV.NAME}

要先创建 zabbix 主机组:Vmware 平台 VM 虚拟机组,才能在此处的 “ 群组 ” 中添加。

说明:包括所有虚拟机,跨数据中心。
在这里插入图片描述
8.3.3 对模板进行汉化

Template VM VMware 、 Template VM VMware Hypervisor 、 Template VM VMware Guest

8.4 创建触发器

Zabbix 自带 Vmware 监控模板无触发器配置,需要自研配置触发器,且能配置触发器项较少,尽量依靠部署 agent 进行全面监控告警。简而言之,此触发器告警是宏观上的,为虚拟平台整体状态告警,不能详尽描述虚拟机某一指标。

但有几个关键性指标,在 OS 下体现不出来,需要在 VMware 平台上做监控:如 CPU ready time 、内存 ballon 、 swap 等,依次要判断 VM 运行情况。

8.4.1 ESXI 主机触发器

1 、VMware ESXI 主机运行状况

配置如下图:
在这里插入图片描述
2 、VMware 虚拟传感器运行状况

配置如下图:
在这里插入图片描述
3 、主机不通,获取不到数据

在主机是关机或网络不通状态下,那肯定获取不到某一监控项。可使用 5 分钟内获取不到数据判断为主机不通。

在主机是在开机状态下,已经死机, CPU 、内存某些监控项,数据是否恒为定值不确定,是停留某个值还是归为 0 ,要以此为参考依据建立触发器,目前死机状态值未获取到,此项触发器无法建立。只能提供思路。

名称:主机不通,获取不到数据:{HOST.NAME}

表达式:{Template VM VMware Hypervisor:vmware.hv.cpu.usage[{$URL},{HOST.HOST}].nodata(5m)}=1
在这里插入图片描述
4 、主机产生 balloon 内存

Balloon 产生会在某种程度上说明:内存资源不足。此情况发生在,需要 vm kernel 调度其他 VM 虚拟机上空闲的内存资源,给内存不足的 VM 虚拟机。
在这里插入图片描述
此具体问题需要分析,目前此量值无法在实践中确定,首先进行提升信息,再根据 VM 或是 ESXI 主机内存资源情况进行合理判断。

8.4.2 VM 虚拟机触发器

可配置触发器较少,对于虚拟机监控告警,只是辅助告警,尽量依靠部署 agent ,因此,重点关注 2 虚拟机电源关闭 触发器。

创建 磁盘使用率 触发器, C 、 D 、 E 等磁盘剩余空间不足 10% 告警。

说明:此处监控针对 windows 系统,创建该触发器必然与 agent 监控告警重复,建议关闭此处触发器。(也可以创建使用空间超过 90% ,依赖关系 99% 提升告警级别)

创建触发器:

名称:磁盘剩余空间不足 10% :on {#FSNAME}

表达式:{Template VM VMware Guest:vmware.vm.vfs.fs.size[{$URL},{HOST.HOST},{#FSNAME},pfree].last()}<10

允许手动关闭

效果截图:
在这里插入图片描述
创建 虚拟机电源状态翻转的触发器,当关闭虚拟机时,提示信息 “ 虚拟机电源关闭 ” ,当虚拟机重新打开电源时,恢复表达式。因虚拟机电源开关可控,有可能存在误关机操作。虚拟机开启不做告警。

创建触发器:

名称:虚拟机电源关闭:{HOST.NAME}

问题表现形式:{Template VM VMware Guest:vmware.vm.powerstate[{$URL},{HOST.HOST}].abschange()}=1

恢复表达式:{Template VM VMware Guest:vmware.vm.powerstate[{$URL},{HOST.HOST}].last()}<>0

注意:表达式多种多样,但有的并不一定能实现。
在这里插入图片描述

  1. 经研究,虚拟机触发器可告警项较少,构建出发器也是可行,但总会与 agent 监控重复,效果并不理想,以上只做参考。比如 C 、 D 盘使用率监控, CPU ,内存使用率,而且有时候虚拟机不安装 VMware tools 工具下监控不到 C 盘(如果是 linux 系统则是目录),因此,针对虚拟机电源有必要监控告警,其他项不再深入研究。

  2. CPU ready time CPU 就绪时间

关键重要指标,如果此值大于 2000ms 或是 2s ,说明 CPU 性能不足,需要关注。可以通过 ssh 到 ESXI 主机上使用 esxtop 命令查看。此处实践配置成 10 个周期内的均值 3000ms 告警。

虚拟机设置 CPU 核心数,如果 ESXI 主机 CPU 核心数较少, VM 设置的过多,会造成 VM 虚拟机直接抢占 CPU 资源造成, CPU ready time 值偏高,所以说虚拟机 CPU 核心数设置的并不是越多越好,只要满足计算量即可。
在这里插入图片描述
3. 内存触发器

重要关键指标:共享内存大小、气球内存大小、交换内存大小、压缩内存大小。

内存资源严重性逐步提高。共享、气球内存是 VM 合理利用内存的方式,避免:交换内存、压缩内存的产生。

共享内存大小:
在这里插入图片描述
气球内存大小:
在这里插入图片描述
交换内存大小:
在这里插入图片描述
压缩内存大小:
在这里插入图片描述
8.4.3 Cluster 群集触发器

监控群集整体状态
在这里插入图片描述
表达式:{Template VM VMware:vmware.cluster.status[{$URL},{#CLUSTER.NAME}].last()}>1

名称:群集状态异常:{HOST.NAME}

9 邮件告警

主要介绍通过邮件实现告警,当然告警的方式还有短信(需要短信猫)、企业微信、钉钉等。

E-mail 邮件告警配置有两种方式:

1 、 zabbix-server 服务器开启 sendmail 或者 postfix 服务, linux 系统默认安装好了邮件发送工具 mail ,利用该服务直接将告警信息通过 E-mail 发送到运维工程师的电子邮箱。

2 、 zabbix-server 使用外部邮箱账户发送告警信息到运维工程师的电子邮箱,类似 outlook 、 foxmail 邮箱代理。

总结:经过对上述两种方式实践,第一种方式邮件容易被识别为垃圾邮件遭过滤,公司目前有企业邮箱,可以开通名为 zabbix@XXXX.com 账号做为外部邮箱发送告警信息,考虑到移动平台应用支撑,运维人员使用有移动终端的邮箱,综上建议部署第二种外部邮箱的方式。

详细配置参考链接:

https://www.osyunwei.com/archives/8113.html

http://www.ttlsa.com/zabbix/zabbix-media-email/

https://www.cnblogs.com/nice1163/articles/11123423.html
9.1 第一种方式

9.1.1 zabbix linux 下配置

1 、开启服务 sendmail 与 postfix 只开一个、 DNS 服务,并加入开机启动。
在这里插入图片描述
2 、修改主机名
在这里插入图片描述
3 、mail 发邮件测试
在这里插入图片描述
报错,根据提示解决报错问题,

未报错,邮箱不能收到邮件可能被邮箱服务器屏蔽掉了, 139 邮箱收不到信息,

未报错,邮箱能收到邮件说明发送正常。

9.1.2 zabbix 界面配置

1 、设定发送 mail 途径

管理》报警媒介类型》 Email ,配置截图如下:
在这里插入图片描述
说明:SMTP 服务器就是 zabbix-server 服务器,地址是 192.168.1.2 , DY-zabbix 是 zabbix-server 服务器的主机名, linux 下执行 hostname 命令查看, 1.2.1 节已配置好了。为啥要这样配置,因为 zabbix 要利用 linux 下的 sendmail 工具发送邮件。

2 、设定收件人

界面右上角,点进去,报警媒介,添加收件人地址。
在这里插入图片描述
3 、设定告警动作

配置》动作》创建动作》动作、操作、恢复操作、确认操作,根据情况来设定。

详细配置,见 9.3 节。
在这里插入图片描述
9.1.3 验证测试
在这里插入图片描述
9.2 第二种方式

9.2.1 zabbix linux 下配置

本例中使用发送告警邮件的账号为 1833XXXX@139.com ,移动 139 邮箱,邮箱开启短信功能,手机就可以收到告警短信,

1 、关闭 sendmail 和 postfix 服务,重启域名服务。
在这里插入图片描述
2 、配置 vim /etc/mail.rc 最后一行添加
在这里插入图片描述
配置说明:使用 139 外部邮箱服务器

set from 邮件从该邮件发出

set smtp 配置邮件服务的 smtp 域名地址

set smtp-auth 使用这个邮箱账户发送告警信息,需要填写用户名密码。

3 、mail 发邮件测试
在这里插入图片描述
将 139 邮箱开启短信服务,可以将邮件以短信的发送发送至手机。

4 、配置脚本,该脚本新增了格式化输出的功能,提高了邮件的可读性。
在这里插入图片描述
9.2.2 zabbix 界面配置

1 、设定发送 mail 途径

管理》报警媒介类型》创建媒介类型,配置截图如下:
在这里插入图片描述
2 、设定收件人

界面右上角,点进去,报警媒介,添加收件人地址。
在这里插入图片描述
3 、设定告警动作

配置》动作》创建动作》动作、操作、恢复操作、确认操作,根据情况来设定。

详细配置,见 9.3 节。
在这里插入图片描述
9.2.3 验证测试
在这里插入图片描述
9.3 告警动作详细配置

动作功能:将告警信息以什么样的方式,什么样的内容形式发送给运维人员知晓。

界面配置示意图:动作名称是:外部邮件方式。需要创建
在这里插入图片描述
9.3.1 操作
在这里插入图片描述
默认接收人:

【故障】服务器 :{HOSTNAME1} 发生 : {TRIGGER.NAME} 故障

默认信息如:

告警主机 :{HOSTNAME1}

告警时间 :{EVENT.DATE} {EVENT.TIME}

告警等级 :{TRIGGER.SEVERITY}

告警信息 : {TRIGGER.NAME}

告警项目 :{TRIGGER.KEY1}

问题详情 :{ITEM.NAME}

事件 ID:{EVENT.ID}

操作细节

1-1 触发一次告警

步骤持续时间默认 0 为 1 小时

仅送到 选择创建的脚本名称 send_mail_script

9.3.2 恢复操作
在这里插入图片描述
【恢复】 服务器 :{HOSTNAME1}: {TRIGGER.NAME} 已恢复!

告警主机 :{HOSTNAME1}

告警时间 :{EVENT.DATE} {EVENT.TIME}

告警等级 :{TRIGGER.SEVERITY}

告警信息 : {TRIGGER.NAME}

告警项目 :{TRIGGER.KEY1}

问题详情 :{ITEM.NAME}

事件 ID:{EVENT.ID}

9.3.3 告警级别

严重性规则设定,可将 “ 灾难 ” 、 “ 严重 ” 信息设置为邮件发送

设置位置:

界面右上角,点进去,报警媒介,编辑。
在这里插入图片描述

10 微信告警

微信告警是指企业微信告警,首先要注册一个企业微信,之后完成微信告警配置(可搜索参考网上文章)。

10.1 脚本

这里提供一个优化测试好的脚本模板,以供交流
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
10.2 消息配置

【故障】数据中心监控平台

告警主机:{HOST.NAME}

告警信息:{TRIGGER.NAME}

告警等级:{TRIGGER.SEVERITY}

告警日期:{EVENT.DATE}

告警时间:{EVENT.TIME}

事件 ID :{EVENT.ID}

https://mp.weixin.qq.com/s/KevXBoSg1YYFNe9av8TzmA

本文内容由网友自发贡献,转载请注明出处:https://www.wpsshop.cn/w/Gausst松鼠会/article/detail/733345
推荐阅读
相关标签
  

闽ICP备14008679号