您现在的位置是:首页 > 文章详情

zabbix企业应用:利用自动发现监控IIS站点

日期:2016-09-28点击:599

    如果一台windows server有许多个IIS站点,我们想实现这样一个监控目标:监控每个站点的状态、请求、流量、连接数,而且以后新增加的站点也可以自动加入到监控里,不需要再手动添加。

    利用zabbix的自动发现(LLD)功能结合脚本可以实现上面的需求,实现对IIS站点的动态添加,动态监控。

    先看一下监控的效果:

wKioL1freg2x7hmnAAD8an9MQZM495.png

    上图中的“Web Service(wskh)”是指IIS网站名称为wskh;“Web Service(_Total)”是指IIS下所有的站点。

    网站流量:

wKiom1freiCy1bbuAANQh_IHAS8159.png

    网站请求:

wKiom1frejKySVgXAAKxxKGb9_U419.png

    下面讲一下监控方法:

一、zabbix服务端配置

   1、配置过滤正则表达式

    依次选择Administration->General->Regular expressions。创建新的正则表达式“IIS Site for discovery”,会在后面的模板中引用。正则表达式的名字不能有错,否则导入模板报错。

    表达式的内容填“^none$”,表达式类型选择“Result is FALSE”,意思是过滤掉内容是none的结果。这么填写是为了配合自动发现的脚本,脚本内容见后面客户端的配置。

   zabbix2.2版本配置方法:

wKioL1frekSwWog0AAB7vwyJGgM513.png

    zabbix3.0版本配置方法:

wKioL1frelygIOLUAABM_TsbYeo573.png

    2、导入模板

    现在可以导入模板了,模板见本文的附件。下面介绍一下模板的监控项和告警的配置:

  • 监控项原型Item prototypes

wKioL1fremaTGiQuAAELvgvWKtU518.png

    这里使用了windows性能计数器来监控IIS站点各项指标。下面介绍下各监控项的含义:

{#WEB_SERVICE} Bytes Received/sec:IIS站点接收数据字节的速率

{#WEB_SERVICE} Bytes Sent/sec:IIS站点发送数据字节的速率

{#WEB_SERVICE} Bytes Total/sec:IIS站点的总传输数据字节的速率,是Received/sec和Sent/sec的和。

{#WEB_SERVICE} Get Requests/sec:IIS站点的GET请求速率

{#WEB_SERVICE} Post Requests/sec:IIS站点的POST请求速率

    以上5个监控项是取的平均值,使监控数据更加准确、平滑。

{#WEB_SERVICE} Current Connections:当前与IIS站点建立连接的数量

{#WEB_SERVICE} Service Uptime:IIS站点的启动时间

    以上2个监控项是取的当前瞬时值。

  • 触发器原型Trigger prototypes

wKiom1frenTztGuhAACWJ8O0iRw031.png

{#WEB_SERVICE} on {HOST.NAME} has just been restarted:重启IIS站点的报警

  • 图形原型Graph prototypes

wKiom1freoCQw3x8AACRX_dm_lY340.png

{#WEB_SERVICE} Bytes/sec:数据传输速率图形,包括数据接收速率、发送速率、总的速率。

{#WEB_SERVICE} Requests/sec:http请求速率图形,包括GET请求速率和POST请求速率。

    zabbix server会根据以上原型对发现出来的每一个站点创建相应的监控项、触发器、图形。

二、zabbix客户端配置

    下面要在被监控的IIS服务器上做配置。

    首先上传IIS站点自动发现脚本LLD_Web_Service.bat到C盘根目录。

    脚本内容如下:

@echo off SETLOCAL ENABLEDELAYEDEXPANSION  echo { echo     "data":[ for /F "tokens=* delims= " %%i IN ('typeperf -qx^|find "Web Service"^|find "Current Connections"') DO (     set j=%%i for /F "tokens=1 delims=\" %%k in ("%%i") DO ( echo         { echo             "{#WEB_SERVICE}": "%%k" echo         }, ) ) echo         { echo             "{#WEB_SERVICE}": "none" echo         } echo     ] echo }

    然后修改zabbix agent的配置文件,增加自定义参数:

UserParameter=iis.site.discovery,C:\LLD_Web_Service.bat

wKioL1freo7C_mY6AABNTWheIjE788.png

    修改完毕重启zabbix agent使配置生效。

    在zabbix server上测试一下客户端是否配置成功:使用zabbix_get命令获取脚本执行结果,脚本返回一段json数据。

wKioL1frepvi9sI5AABUYh1MNNQ192.png

   最后在zabbix web上创建主机并导入模板,监控完成!


    其他zabbix自动发现LLD的应用文章:

zabbix应用之Low-level discovery监控磁盘IO:http://qicheng0211.blog.51cto.com/3958621/1599776

zabbix应用之nginx统一监控:http://qicheng0211.blog.51cto.com/3958621/1557695

zabbix应用之low-level discovery监控mysql:http://qicheng0211.blog.51cto.com/3958621/1539101


原文链接:https://blog.51cto.com/qicheng0211/1857398
关注公众号

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。

持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

文章评论

共有0条评论来说两句吧...

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章