共计 6301 个字符,预计需要花费 16 分钟才能阅读完成。
本系列文章介绍了 zabbix 基本概念及其特点,论述 zabbix 零碎环境搭建与根底装置,如何实现对各类操作系统、硬件设施、应用软件监控告警。本文为系列第三篇。前文点此:零碎学习 Zabbix 系统监控(一)零碎学习 Zabbix 系统监控(二)
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
重要信息阐明:
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 下虚拟化平台分组名称。
- 首先宏观分 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)、群集与主机。
- 细分在某一 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
留神:表达式多种多样,但有的并不一定能实现。
- 经钻研,虚拟机触发器可告警项较少,构建登程器也是可行,但总会与 agent 监控反复,成果并不现实,以上只做参考。比方 C、D 盘使用率监控,CPU,内存使用率,而且有时候虚拟机不装置 VMware tools 工具下监控不到 C 盘(如果是 linux 零碎则是目录),因而,针对虚拟机电源有必要监控告警,其余项不再深入研究。
- CPU ready time CPU 就绪工夫
要害重要指标,如果此值大于 2000ms 或是 2s,阐明 CPU 性能有余,须要关注。能够通过 ssh 到 ESXI 主机上应用 esxtop 命令查看。此处实际配置成 10 个周期内的均值 3000ms 告警。
虚拟机设置 CPU 外围数,如果 ESXI 主机 CPU 外围数较少,VM 设置的过多,会造成 VM 虚拟机间接抢占 CPU 资源造成,CPU ready time 值偏高,所以说虚拟机 CPU 外围数设置的并不是越多越好,只有满足计算量即可。
- 内存触发器
重要要害指标:共享内存大小、气球内存大小、替换内存大小、压缩内存大小。
内存资源严重性逐步提高。共享、气球内存是 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}