设为首页 收藏本站
查看: 1163|回复: 0

[经验分享] zabbix配置使用(三)

[复制链接]

尚未签到

发表于 2019-1-23 14:32:55 | 显示全部楼层 |阅读模式
  4.15 添加对Windows服务器的监控 4.15.1为Windows模板添加自定义监控项
  Zabbix能对Windows服务器进行监控,但是zabbix默认Windows监控模板并没有提供更多更好的监控项目。很多监控项目需要自己手工添加或是在zabbix.agentd,conf文件中进行自定义。
  1zabbix自定义监控Windows服务器的原理
  Zabbix为Windows服务器的监控提供了PerfCounter(性能计数器)这个功能。Zabbix客户端通过PerfCounter获取Windows服务器上的相关性能信息,然后发送给服务器端。
  2、如何获取Windows服务器的PerfCounter表达式
  方法一:
  在Windows服务器的控制面板->管理工具->性能的系统监视器中,可以看到这些性能监控。

  点击添加计数器后,在弹出的添加计数器对话框中,可以在性能对象下拉菜单中选择相应的监控项目,然后在下面的列表中选择需要使用的计数器,在右边的里表中选择范例。点击添加。

  添加后的计数器在下面列表中可以看到

  在添加的计数器上面右键选择属性,在弹出的窗口中的数据选项卡中可以看到具体的perfCounter表达式

  方法二:
  进入开始->运行,输入CMD进入命令窗口。输入typeperf –qx| more 获取相关PerfCounter表达式。也可以配合管道输出给find,查找想要的相关表达式。以获取网卡PerfCounter为例,在命令行输入:typeperf –qx |find “Network Interface”|find /V “LoopBack”

  命令的意思是,查找和“Network Interface”相关的PerfCounter。/V是忽略和”LoopBack”回环接口的PerfCounter
  3、在zabbix中使用PerfcounterWindows模板添加监控项
  在zabbix中,使用PerfCounter的方法有两种:
  方法一:
  在模板添加监控项时使用perf_counter作为key表达式:
  以添加CPU空闲时间监控为例:
  系统配置->模板,选择Windows监控模板。进入监控项,点击右上角的Create Item,创建监控项,在key中添加PerfCounter相关的参数,然后在设置一下其他选项,保存即可。

  方法二:
  在客户端配置文件zabbix_agentd.conf文件中添加类似于Parameter自定义监控的PerfCounter参数。具体使用格式如下
  PerfCounter=,
  以添加网卡监控为例:
  修改Windows服务器上的zabbix客户端配置文件zabbix_agentd.conf,添加通过typeperf-qx命令获取的和网卡相关信息
  #Network
  PerfCounter=NetAllInt0,"\Network Interface(Intel[R] PRO_1000 MT Network Connection)\Bytes Total/sec",30
  PerfCounter=NetInInt0,"\Network Interface(Intel[R] PRO_1000 MT Network Connection)\Bytes Received/sec",30
  PerfCounter=NetOutInt0,"\Network Interface(Intel[R] PRO_1000 MT Network Connection)\Bytes Sent/sec",30
  PerfCounter=NetBandInt0,"\Network Interface(Intel[R] PRO_1000 MT Network Connection)\Current Bandwidth",30
  4.15.2 Windows服务器网卡流量监控
  方法一:
  windows的key的关键字可以使用网卡的ip地址来替代。例如:net.if.out[192.168.101.1,bytes]
  方法二:
  如果更改了ip地址,上面的方法就不灵了。使用Macro能比较好的解决监控本地网卡的需求net.if.out[{IPADDRESS},bytes]
  方法三:
  Macro中的{IPADDRESS}只是获取主机的外网IP地址,对于多网卡的主机来说内网网卡就监控不到了。在客户端配置文件中使用PerfCounter可以解决这个问题。但每个机器的网卡型号不一定相同,因此typeperf的输出也不一样。我写了个perl脚本,来解决这个问题。
  use strict;
  use warnings;
  #添加对网卡的监控
  my @network=`typeperf -qx |find "Network Interface"|find /V "Loopback"|find "Bytes Total"`;
  my $i=0;
  foreach my $int (@network)
  {
  if($int=~ /^(\\Network Interface.*\\).*$/)
  {
  my $intname=($1);
  open OUT_FILE, ">>c:\\zabbix\\zabbix_agentd.conf" or die("Could not write the file");
  print OUT_FILE <<EOF;
  #Network
  PerfCounter=NetAllInt${i},"${intname}Bytes Total/sec",30
  PerfCounter=NetInInt${i},"${intname}Bytes Received/sec",30
  PerfCounter=NetOutInt${i},"${intname}Bytes Sent/sec",30
  PerfCounter=NetBandInt${i},"${intname}Current Bandwidth",30
  EOF
  close(OUT_FILE);
  $i++;
  }
  }
  不同的windows服务器只要运行这个脚本,就可以根据服务器上网卡型号还有网卡数量,将监控写入到zabbix_agentd.conf配置文件中。


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-666737-1-1.html 上篇帖子: 通过zabbix_sender实现批量传递key值 下篇帖子: Ubuntu、CentOS、debian下Zabbix agent自动安装脚本
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表