【zabbix】Windows服务器获取IIS站点以及程序池状态
在使用zabbix做Windows服务器监控的时候遇到一个比较棘手的问题,检测IIS站点状态。
普通情况下,只要用浏览器访问iis站点测试一下返回码是不是200即可判断状态,但是我这次遇到的是iis使用了主机头,也就是说iis上的站点使用的是同一个IP地址,同一个端口号。外部请求是根据域名来判断访问哪个站点,并且IIS前面还有负载均衡器,这样我就不能让zabbix也通过域名的方式测试IIS了,因为这样不能判断是不是所有的IIS都没有问题。
为此,研究了如何在本地使用命令行的方式获取iis站点的运行状态,做成一个批处理文件供zabbix分析如下:
@echo off
C:\Windows\System32\inetsrv\appcmd.exe list site | find "Stopped" >> D:\zabbix\iis.txt
C:\Windows\System32\inetsrv\appcmd.exe list apppool | find "Stopped" >> D:\zabbix\iis.txt
for /f "tokens=1 delims=(" %%1 in (D:\zabbix\iis.txt)do (set x=%%1&& call set x=%%x:"=%%
call echo %%x%%)
cd.>D:\zabbix\iis.txt
脚本说明:
第一行:关闭echo输出。
第二行:获取所有站点的状态,查找状态为stopped的站点,将结果放在iis.txt文件里。
第三行:获取所有应用程序池的状态,查找状态为stopped的程序池,将结果放在iis.txt文件里。
第四行:以左括号为分隔符(delims指定分隔符),截取iis.txt里第一列的数据(tokens=1指定第一列),并去掉双引号(如果有双引号,zabbix使用微信告警的时候,引号后面的内容就没了)
第五行:将iis.txt文件清空。方便下次使用。
如果所有站点都正常,该脚本返回为空。
如果有站点异常,该脚本返回如下:
表示名字为:portal的站点停了,但是portal的程序池没有停
名字为:defaultapppool的程序池停了,但是站点没有停
第一列的site表示站点故障,apppool表示应用程序池故障。

zabbix里调用这个脚本即可实现对iis站点的监控,如何添加监控项这里就不讲了。触发器可以选择:最近获取到的字符串长度大于1即报警。原因为这个脚本只有在iis站点或者程序池有停止的时候,才会返回停止的值。
【zabbix】Windows服务器获取IIS站点以及程序池状态的更多相关文章
- [2015-11-23]分享一个批处理脚本,创建iis站点及程序池
建站批处理 batch_createSites.bat @echo off rem 以管理员身份执行本脚本,可添加多条call 以建立多个站点 call path\to\createSites.bat ...
- pageadmin建站软如何修改和设置iis站点应用程序池
很多用户第一次安装PageAdmin建站系统时候会出现这个错误,主要原因: 1.首选打开iis站点基本设置,可以看到当前站点对应的应用程序池,如下图: 可以看到当前站点用的程序池名为MyAppPool ...
- windows服务器下iis的性能优化 服务器
IIS性能优化 1.调整IIS高速缓存 HKEY_LOCAL_MACHINE SystemCurrentControlSetServicesInetInfoParametersMemoryCacheS ...
- 服务器资源共享--IIS站点/虚拟目录中访问共享目录(UNC)
本文重点描述如何使用IIS访问共享资源来架设站点或执行 ASP.Net 等脚本. 通常情况下,拥有多台服务器的朋友在使用IIS建立站点的时候,会遇到如何把多台服务器的资源合并到一起的问题.如何让A服务 ...
- C# 获取IIS站点及虚拟目录信息
using System; using System.DirectoryServices; using System.Collections.Generic; using System.Text; n ...
- IIS监控应用程序池和站点假死,自动重启IIS小工具
文章技术适合初学者.高级的C#开发工程师这些估计都熟悉到烂了,望不要喷. 第一.C#代码要操作IIS 就必须先导入 Microsoft.Web.Administration.dll ,方便控制台程序做 ...
- IIS7.5 用 IIS AppPool\应用程序池名 做账号 将各站点权限分开
IIS6里面,要把服务器上的各站点权限分开,要建一堆帐号,再一个一个站点绑定.IIS7.5就不用了. 选择 "应用程序用户" 选择 "应用程序用户",启动应用程 ...
- 【转载】Windows Server2012安装IIS服务器
在云服务器的使用过程中,很多人由于习惯或者实际需要,会选择Windows Server系统服务器,较常用的版本有Windows Server2008.Windows Server2012.在Windo ...
- 使用appcmd命令创建iis站点及应用程序池
参考文章:iis7 appcmd的基础命令及简单用法 验证环境:Windows 7 IIS7 AppCmd.exe工具所在目录 C:\windows\sytstem32\inetsrv\目录下, ...
随机推荐
- mac 安装 gensim包出错
安装时需要卸载scipy,结果显示 permission之类 加sudo也不行, 必须 得先disable 掉mac的SIP ,方法是重启系统 ,按住command+r ,进行recovers模式,然 ...
- 不让命令记录到history中
先执行export HISTCONTROL=ignoresapce 然后再敲命令时在命令前面加一个空格
- 开源 免费 java CMS - FreeCMS2.1 会员我的留言
项目地址:http://www.freeteam.cn/ 我的留言 从左側管理菜单点击我的留言进入.在这里能够查看当前登录会员的全部留言记录. 查看留言 点击留言标题能够查看留言具体内容. 删除留言 ...
- Jackson.jar的使用记录
Jackson.jar的使用记录 之前一直使用json-lib.jar,近期发现网上说这个jackson.jar比較好 package com.spring.controller; import ja ...
- Direct-X学习笔记--纹理映射
一.介绍 之前学习了如何绘制物体,还画了个DX自带的茶壶,然而这个东东并不怎么好看....离我们现实的物体简直相隔千里. 仅仅能说像美术他们用来写生的模型...那么要怎么样才干让我们的东西看起来更像真 ...
- Android 开发程序员必备网站
开发必备网站: Android 开发各种工具下载 Android 开发国内大牛集合 Android 开发技术博客周刊 Android 开发技术周报中文版 Android 优秀开源项目集合以及源码分析 ...
- ID3算法Java实现
ID3算法java实现 1 ID3算法概述 1.1 信息熵 熵是无序性(或不确定性)的度量指标.假如事件A的全概率划分是(A1,A2,...,An),每部分发生的概率是(p1,p2,...,pn).那 ...
- springMVC --@RequestParam注解(后台控制器获取參数)
在SpringMVC后台控制层获取參数的方式主要有两种,一种是request.getParameter("name"),第二种是用注解@RequestParam直接获取. 1.获取 ...
- nyist oj 37 回文字符串 (动态规划经典)
回文字符串 时间限制:3000 ms | 内存限制:65535 KB 难度:4 描写叙述 所谓回文字符串,就是一个字符串.从左到右读和从右到左读是全然一样的.比方"aba".当 ...
- 【设计模式】C++单例模式的几种写法——Java自动加载内部类对象,C++怎么破?
单例模式是最简单的设计模式,就让我像玩简单的游戏一样写下去吧. v1: 简单模式 和这个版本有过一面之缘,但不敢苟同. class Singleton { private: Singleton() { ...