大数跨境
0
0

运维小技能-Zabbix监控VMware虚拟化平台

运维小技能-Zabbix监控VMware虚拟化平台 数据库运维之道
2024-09-18
0

个人认为掌握Zabbix开源监控软件使用是运维人员的一项必备技能。最近,公司帮助客户维护一套VMware虚拟化平台,而Zabbix系统成为首要运维工具

下面我将介绍下如何运用Zabbix来监控VMware虚拟化平台。整体流程如下:

1、提供一台Zabbix监控虚拟机,并部署好Zabbix开源软件;

2、调整Zabbix配置文件,开启VMware相关监控参数;

3、创建监控对象进行VMware虚拟化平台对接配置;

4、创建企业微信机器人,并配置告警推送。


一、Zabbix监控系统部署

本文不介绍Zabbix的部署步骤,大家可以按照官方文档进行部署。

Zabbix版本:Zabbix 6.0.33

https://www.zabbix.com/cn/download


二、配置VMware相关监控参数

相关配置参数如下:

cat zabbix_server.conf |grep -v "^#"|grep VM StartVMwareCollectors=10 VMwareFrequency=60 VMwarePerfFrequency=60 VMwareCacheSize=200M VMwareTimeout=10
1、StartVMwareCollectors 监控esxi的实例2、VMwareCacheSize 用于存储VMware数据的共享内存大小3、VMwareFrequency 从单个VMware服务收集数据之间的延迟(秒)。4、VMwarePerfFrequency 从单个VMware服务检索性能计数器统计信息之间的延迟(秒)。4、VMwareTimeout 响应超时时间


三、VMware虚拟化平台对接配置

参考链接:

https://www.bilibili.com/read/cv11668253/

1、zabbix创建主机

注意:提前放行zabbix服务器到vmware平台的10050端口网络策略。

2、Zabbix配置模板

打开主机的模板选项卡,选择模板,直接搜索Template VM VMware这一个模板就可以了。

3、zabbix配置宏

主机和模板配置完毕之后,我们要在宏选项卡配置三个参数,用来告诉模板如何去目标esxi集群获取信息。

正确的参数应该为

{$VMWARE.URL}

{$VMWARE.PASSWORD}

{$VMWARE.USERNAME}

相关解释如下:

{$VMWARE.URL}:写esxi或者是vcenter主机的sdk地址,格式为 https://IP或域名/sdk。

{$VMWARE.PASSWORD}:vcenter上面的账号

{$VMWARE.USERNAME}:对应账户密码

填写完毕后,点击更新,回到主机列表,静待vcenter上的主机被发现。

四、配置企业微信群机器人告警

参考链接:

https://blog.csdn.net/weixin_44857388/article/details/134415430

https://blog.csdn.net/qq_29410215/article/details/139094596

1、消息模板配置

### 【Zabbix监控告警】IP:<font color="warning">{HOST.IP}</font>
> 主机名称:**<font color="comment">{HOST.NAME}</font>**> 主机IP:<font color="comment">{HOST.IP}</font>> 事件名称:**<font color="warning">{EVENT.NAME}</font>**> 告警时间:<font color="comment">{EVENT.DATE}-{EVENT.TIME}</font>> 监控项:<font color="comment">{ITEM.NAME}</font>> 监控详情:<font color="comment">{ITEM.VALUE}</font>

2、企业微信对接脚本:

var Wechat = {    token: null,    to: null,    message: null,    parse_mode: null,
sendMessage: function() { var params = { msgtype: "markdown", chat_id: Wechat.to, markdown: { content:Wechat.message }, disable_web_page_preview: true, disable_notification: false }, data, response, request = new CurlHttpRequest(), url = 'https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=' + Wechat.token;
if (Wechat.parse_mode !== null) { params['parse_mode'] = Wechat.parse_mode; }
request.AddHeader('Content-Type: application/json'); data = JSON.stringify(params);
// Remove replace() function if you want to see the exposed token in the log file. Zabbix.Log(4, '[Wechat Webhook] URL: ' + url.replace(Wechat.token, '<TOKEN>')); Zabbix.Log(4, '[Wechat Webhook] params: ' + data); response = request.Post(url, data); Zabbix.Log(4, '[Wechat Webhook] HTTP code: ' + request.Status()); Zabbix.Log(4, '[Wechat Webhook] response: ' + response);
try { response = JSON.parse(response); } catch (error) { response = null; Zabbix.Log(4, '[Wechat Webhook] response parse error'); }
if (request.Status() !== 200 || response.errcode !== 0 || response.errmsg !== 'ok') { if (typeof response.errmsg === 'string') { throw response.errmsg; } else { throw 'Unknown error. Check debug log for more information.' } } }}
try { var params = JSON.parse(value);
if (typeof params.Token === 'undefined') { throw 'Incorrect value is given for parameter "Token": parameter is missing'; }
Wechat.token = params.Token;
if (['Markdown', 'HTML', 'MarkdownV2'].indexOf(params.ParseMode) !== -1) { Wechat.parse_mode = params.ParseMode; }
Wechat.to = params.To; Wechat.message = params.Subject + '\n' + params.Message; Wechat.sendMessage();
return 'OK';}catch (error) { Zabbix.Log(4, '[Wechat Webhook] notification failed: ' + error); throw 'Sending failed: ' + error + '.';}


五、部署问题处置

问题:界面显示 zabbix server is not running错误

(1)查看zabbix的运行日志

ls /var/log/zabbix/zabbix_server.log

(2)通过日志分析,发下出现内存溢出问题

__zbx_mem_realloc(): out of memory

(3)需要增加CacheSize的大小,找到/etc/zabbix/zabbix_server.conf参数文件,检查发现CacheSize参数没有设置,使用默认的值,将其调整为2048M大小。

(4)重启Zabbix Server服务,问题解决。


六、参考链接

https://www.cnblogs.com/lvxuede/p/18057580

https://www.cnblogs.com/kerrycode/p/13291509.html

https://blog.csdn.net/qq_35700085/article/details/127859483

https://blog.51cto.com/u_16213715/10717216

https://blog.51cto.com/u_16213661/10054791

https://blog.csdn.net/weixin_65562581/article/details/136024219


【声明】内容源于网络
0
0
数据库运维之道
数据库领域原创技术号,专注于Oracle、MySQL、TDSQL、HotDB、TiDB、达梦等数据库研究,深入数据库技术原理,分布式数据库,开源数据库,国产数据库,前沿数据库技术。
内容 50
粉丝 0
数据库运维之道 数据库领域原创技术号,专注于Oracle、MySQL、TDSQL、HotDB、TiDB、达梦等数据库研究,深入数据库技术原理,分布式数据库,开源数据库,国产数据库,前沿数据库技术。
总阅读24
粉丝0
内容50