Zabbix在 windows下监控网卡
1、zabbix自定义监控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中使用Perfcounter为Windows模板添加监控项
在zabbix中,使用PerfCounter的方法有两种:
方法一:
在模板添加监控项时使用perf_counter作为key表达式:
以添加CPU空闲时间监控为例:
系统配置->模板,选择Windows监控模板。进入监控项,点击右上角的Create Item,创建监控项,在key中添加PerfCounter相关的参数,然后在设置一下其他选项,保存即可。

方法二:
在客户端配置文件zabbix_agentd.conf文件中添加类似于Parameter自定义监控的PerfCounter参数。具体使用格式如下
|
PerfCounter=<监控项key表达式>,<性能计数器名称> |
以添加网卡监控为例:
修改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配置文件中。
Zabbix在 windows下监控网卡的更多相关文章
- Linux下监控网卡流量的软件Nload
Linux下监控网卡流量的软件Nload 安装nload: # wget http://www.roland-riegel.de/nload/nload-0.7.2.tar.gz # tar zxvf ...
- Zabbix添加windows主机监控
zabbix监控windows主机 1.官网下载zabbix的windows-agent(选择相应版本): https://www.zabbix.com/cn/download_agents 2.将下 ...
- Linux下监控网卡流量的软件iftop
官网上说使用iftop需要libpcap和libcurses这两个包. 用命令查找了一下 # rpm -qa | grep libpcap libpcap-0.9.4-15.el5 只找到了这个,缺 ...
- windows 下双网卡在不同网络切换设置
首先你的机器需要有两块网卡,分别接到两台交换机上, ine rnet地址:192.168.1.8,子网掩码:255.255.255.0,网关:192.168.1.1 内部网地址:172. ...
- windows下监控进程的脚本
相信大家都有这样的需求,某程序(进程)在运行的时候可能挂掉,需要去监控该程序,并在它挂掉的时候重启之,确保该程序能一直运行.比如土net就经常挂,需要监控程序去监控.Linux下面似乎有守护进程的概念 ...
- Python监控Windows下的文件变化
windows下监控文件系统的变化.用python非常方便.实例代码例如以下,非常easy.也不多说了. import os import win32file import win32con ACTI ...
- 分布式系统监视zabbix讲解十之监控tomcat--技术流ken
前言 在Zabbix中,JMX监控数据的获取由专门的代理程序来实现,即Zabbix-Java-Gateway来负责数据的采集,Zabbix-Java-Gateway和JMX的Java程序之间通信获取数 ...
- 【zabbix】Windows服务器获取IIS站点以及程序池状态
在使用zabbix做Windows服务器监控的时候遇到一个比较棘手的问题,检测IIS站点状态. 普通情况下,只要用浏览器访问iis站点测试一下返回码是不是200即可判断状态,但是我这次遇到的是iis使 ...
- 16 利用Zabbix完成windows监控
点击返回:自学Zabbix之路 16 利用Zabbix完成windows监控 1.安装zabbix_agentd 1.1.下载zabbix_agentd监控客户端软件安装包(windows操作系统客户 ...
随机推荐
- maven_nexus私服搭建
搭建很简单,但是新版本运行方式有所区别,于此记录一下: 1.下载程序包:http://www.sonatype.org/nexus/downloads/ 官网比较慢,下了一小时.期间在csdn花了一积 ...
- HTML end~
一.浏览器的兼容问题(关于浏览器的兼容问题 有很多大佬已经解释的很清楚了 这个得自己百度去多花点时间去了解 这里咱们只说一下前面的漏点) 浏览器兼容性问题又被称为网页兼容性或网站兼容性问题,指网页在各 ...
- C++类的完美单元测试方案——基于C++11扩展的friend语法
版权相关声明:本文所述方案来自于<深入理解C++11—C++11新特性解析与应用>(Michael Wong著,机械工业出版社,2016.4重印)一书的学习. 项目管理中,C语言工程做单元 ...
- c#基础三
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.I ...
- linux 多主机间快速跳转脚本
#!/usr/bin/env python #coding=utf8 ''' 用于多机器间相互跳转,如有新机器加入,需要更新ip_list文件 ''' from prettytable import ...
- C++ 洛谷 P1273 有线电视网 题解
P1273 有线电视网 很明显,这是一道树形DP(图都画出来了,还不明显吗?) 未做完,持续更新中…… #include<cstdio> #include<cstring> ...
- Golang之mirco框架部分浅析
在实习中使用 micro 框架,但是挺多不懂的,看了部分源码搞懂了一些,还是有一些比较复杂没搞懂. 第一部分:初始化 service 并修改端口 main.go // waitgroup is a h ...
- Linux虚拟机怎么添加磁盘?
一.VMware workstation菜单栏
- Disruptor 详解 二
Disruptor 的大名从很久以前就听说了,但是一直没有时间:看完以后才发现其内部的思想异常清晰,很容易就能前移到其他的项目,所以仔细了解一下还是很有必要的这.篇博客将主要从源码角度分析,Disru ...
- Java是如何实现平台无关性的
相信对于很多Java开发来说,在刚刚接触Java语言的时候,就听说过Java是一门跨平台的语言,Java是平台无关性的,这也是Java语言可以迅速崛起并风光无限的一个重要原因.那么,到底什么是平台无关 ...