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

[经验分享] zabbix企业应用:利用自动发现监控IIS站点

[复制链接]

尚未签到

发表于 2018-12-8 09:15:27 | 显示全部楼层 |阅读模式
  如果一台windows server有许多个IIS站点,我们想实现这样一个监控目标:监控每个站点的状态、请求、流量、连接数,而且以后新增加的站点也可以自动加入到监控里,不需要再手动添加。

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

  先看一下监控的效果:

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

  网站请求:

  下面讲一下监控方法:
  一、zabbix服务端配置

     1、配置过滤正则表达式

  依次选择Administration->General->Regular expressions。创建新的正则表达式“IIS Site for discovery”,会在后面的模板中引用。正则表达式的名字不能有错,否则导入模板报错。
  表达式的内容填“^none$”,表达式类型选择“Result is FALSE”,意思是过滤掉内容是none的结果。这么填写是为了配合自动发现的脚本,脚本内容见后面客户端的配置。
  zabbix2.2版本配置方法:


  zabbix3.0版本配置方法:

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

  •   监控项原型Item prototypes

  这里使用了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

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

  •   图形原型Graph prototypes

  {#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

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

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

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

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

  zabbix应用之Low-level discovery监控磁盘IO:http://qicheng0211.blog.运维网.com/3958621/1599776
  zabbix应用之nginx统一监控:http://qicheng0211.blog.运维网.com/3958621/1557695
  zabbix应用之low-level discovery监控mysql:http://qicheng0211.blog.运维网.com/3958621/1539101
  



附件:http://down.运维网.com/data/2368189


运维网声明 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-644538-1-1.html 上篇帖子: FastCGI轻松搞定IIS7.5+PHP5.6.0环境 下篇帖子: 安装IIS6,不能复制文件的解决办法
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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