5ol.cc 发表于 2018-12-8 08:28:16

zabbix3.0自动发现监控IIS

  

  说明此处配置针对的是zabbix3.0版本
  利用zabbix的自动发现(LLD)功能结合脚本可以实现上面的需求,实现对IIS站点的动态添加,动态监控。
  效果图:
  https://s2.运维网.com/wyfs02/M01/91/A4/wKiom1j3KEryTIEEAAHDdBki6D4139.png-wh_500x0-wm_3-wmp_4-s_156622250.png
  
https://s1.运维网.com/wyfs02/M01/91/A3/wKioL1j3KKmg02HfAAFBOjoV80Y312.png-wh_500x0-wm_3-wmp_4-s_3917397518.png
https://s2.运维网.com/wyfs02/M00/91/A4/wKiom1j3KKniIT18AAEETkcf1N4220.png-wh_500x0-wm_3-wmp_4-s_1233181617.png
  具体配置步骤:
  1、zabbix服务端配置

[*]  配置过滤正则表达式:
  依次选择Administration->General->Regular expressions。创建新的正则表达式“IISSite for discovery”,会在后面的模板中引用。正则表达式的名字不能有错,否则导入模板报错。
  https://s1.运维网.com/wyfs02/M00/91/A4/wKiom1j3KVXhULh0AACFu4bIAmY108.png-wh_500x0-wm_3-wmp_4-s_1367543634.png
  

[*]  导入模块
  
  将内容拷贝到文本文件后缀名改为”.xml”,如:Template IIS Web Site3.0.xml 也可以下载附件!
  然后在WEB页面分别选择:配置è模版è导入,选择编辑的文件TemplateIIS Web Site3.0.xml,提示导入成功就OK了


    3.0
   2016-09-22T03:55:42Z
   
      
            Templates
      
   
   
      
            Template IIS WebSite
            Template IIS WebSite
            
            
               
                   Templates
               
            
            
               
                  IIS WebSite
               
            
            
            
               
                  IIS Web Sitediscovery
                  0
                  
                  
                   iis.site.discovery
                   600
                  0
                  
                  
                  
                   0
                  0
                  
                   0
                  
                  
                  
                  
                   0
                  
                  
                  
                  
                  
                  
                     0
                        
                        
                           
                               {#WEB_SERVICE}
                               @IIS Site for discovery
                               8
                               A
                           
                        
                  
                   0
                  
                  
                        
                           {#WEB_SERVICE} Current Connections
                           0
                           
                           0
                           
                           perf_counter[\{#WEB_SERVICE}\Current Connections]
                           30
                           90
                           365
                           0
                            3
                           
                           
                           0
                           
                           
                            0
                           0
                           
                           0
                           
                           1
                           
                           
                           
                           0
                           0
                           
                           
                           
                           
                           
                           
                           0
                           
                              
                                 IIS Web Site
                              
                           
                           
                           
                           
                        
                        
                           {#WEB_SERVICE} Service Uptime
                           0
                           
                           0
                           
                           perf_counter[\{#WEB_SERVICE}\Service Uptime]
                           30
                           90
                           365
                           0
                           3
                           
                           s
                           0
                           
                           
                            0
                           0
                           
                           0
                           
                           1
                           
                           
                           
                           0
                           0
                           
                           
                           
                           
                           
                           
                           0
                           
                              
                                 IIS Web Site
                              
                           
                           
                           
                           
                        
                        
                           {#WEB_SERVICE} Bytes Received/sec
                           0
                           
                           0
                           
                           perf_counter[\{#WEB_SERVICE}\Total BytesReceived]
                           30
                           90
                           365
                           0
                           0
                           
                            B/s
                           1
                           
                           
                           0
                           0
                           
                           0
                           
                           1
                           
                           
                           
                           0
                            0
                           
                           
                           
                           
                           
                           
                           0
                           
                              
                                 IIS Web Site
                              
                           
                           
                           
                           
                        
                        
                           {#WEB_SERVICE} Bytes Sent/sec
                           0
                           
                           0
                           
                           perf_counter[\{#WEB_SERVICE}\Total Bytes Sent]
                           30
                           90
                            365
                           0
                           0
                           
                           B/s
                           1
                           
                           
                           0
                           0
                           
                           0
                           
                           1
                           
                           
                           
                           0
                           0
                           
                           
                           
                           
                           
                           
                           0
                           
                              
                                 IIS Web Site
                              
                           
                           
                           
                           
                        
                        
                           {#WEB_SERVICE} Bytes Total/sec
                           0
                           
                           0
                           
                           perf_counter[\{#WEB_SERVICE}\Total BytesTransferred]
                           30
                           90
                           365
                           0
                            0
                           
                           B/s
                           1
                           
                           
                           0
                           0
                           
                           0
                           
                           1
                           
                           
                           
                           0
                           0
                           
                           
                           
                           
                           
                           
                           0
                           
                              
                                 IIS Web Site
                              
                           
                           
                           
                           
                        
                        
                           {#WEB_SERVICE} Get Requests/sec
                           0
                           
                           0
                           
                           perf_counter[\{#WEB_SERVICE}\Total Get Requests]
                           30
                           90
                           365
                           0
                           0
                           
                           req/s
                           1
                           
                           
                            0
                           0
                           
                           0
                           
                           1
                           
                           
                           
                            0
                           0
                           
                           
                           
                           
                           
                           
                           0
                           
                              
                                    IIS WebSite
                              
                           
                           
                           
                           
                        
                        
                           {#WEB_SERVICE} Post Requests/sec
                           0
                           
                            0
                           
                           perf_counter[\{#WEB_SERVICE}\Total Post Requests]
                           30
                            90
                           365
                           0
                           0
                           
                            req/s
                           1
                           
                           
                           0
                           0
                           
                           0
                           
                            1
                           
                           
                           
                           0
                            0
                           
                           
                           
                           
                           
                           
                           0
                           
                              
                                 IIS Web Site
                              
                           
                           
                           
                           
                        
                  
                  
                     
                           {Template IIS WebSite:perf_counter[\{#WEB_SERVICE}\ServiceUptime].change(0)}<0
                           {#WEB_SERVICE} on {HOST.NAME} has just beenrestarted
                           
                           0
                           2
                           
                           0
                           
                     
                  
                  
                        
                           {#WEB_SERVICE} Bytes/sec
                           900
                           200
                           0.0000
                            100.0000
                           1
                           1
                           0
                           1
                           0
                           0.0000
                           0.0000
                           0
                            0
                           0
                           0
                           
                              
                                 0
                                 0
                                 C80000
                                 0
                                    2
                                 0
                                 
                                       Template IIS Web Site
                                       perf_counter[\{#WEB_SERVICE}\Total BytesTransferred]
                                 
                              
                              
                                 1
                                 0
                                 00C800
                                 0
                                 2
                                    0
                                 
                                       Template IIS Web Site
                                       perf_counter[\{#WEB_SERVICE}\Total BytesReceived]
                                    
                              
                              
                                 2
                                 0
                                 0000C8
                                 0
                                 2
                                 0
                                    
                                       Template IIS Web Site
                                       perf_counter[\{#WEB_SERVICE}\Total Bytes Sent]
                                 
                              
                           
                     
                        
                           {#WEB_SERVICE} Requests/sec
                            900
                           200
                           0.0000
                           100.0000
                           1
                            1
                           0
                           1
                           0
                           0.0000
                           0.0000
                           0
                           0
                           0
                            0
                           
                              
                                 0
                                 0
                                 C80000
                                 0
                                 2
                                 0
                                    
                                       Template IIS Web Site
                                       perf_counter[\{#WEB_SERVICE}\Total Get Requests]
                                 
                              
                              
                                 1
                                 0
                                 00C800
                                    0
                                 2
                                 0
                                 
                                       Template IIS Web Site
                                       perf_counter[\{#WEB_SERVICE}\Total Post Requests]
                                 
                              
                           
                     
                  
                  
               
            
            
            
            
      
   
  查看模版内容:
https://s4.运维网.com/wyfs02/M02/91/A3/wKioL1j3Kn6ANU7cAADgm5ZaJ_s141.png-wh_500x0-wm_3-wmp_4-s_1677847548.png
https://s4.运维网.com/wyfs02/M00/91/A4/wKiom1j3Kn7ivF-9AACcgfKbStU519.png-wh_500x0-wm_3-wmp_4-s_1970013466.png
  监控项:
https://s1.运维网.com/wyfs02/M01/91/A4/wKiom1j3Kn_Tf3D8AAEAXJZS3kM640.png-wh_500x0-wm_3-wmp_4-s_1440469071.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个监控项是取的当前瞬时值。
https://s1.运维网.com/wyfs02/M00/91/A3/wKioL1j3Kn-wtfNpAAEg5ipuC7I792.png-wh_500x0-wm_3-wmp_4-s_1466894892.png
  触发器:
  {#WEB_SERVICE}on {HOST.NAME} has just been restarted:重启IIS站点的报警
https://s1.运维网.com/wyfs02/M01/91/A4/wKiom1j3Kn_A1yU_AAB_dYicz2o930.png-wh_500x0-wm_3-wmp_4-s_3060699573.png
  图形:
  {#WEB_SERVICE} Bytes/sec:数据传输速率图形,包括数据接收速率、发送速率、总的速率。
  {#WEB_SERVICE} Requests/sec:http请求速率图形,包括GET请求速率和POST请求速率。
  zabbix server会根据以上原型对发现出来的每一个站点创建相应的监控项、触发器、图形。
https://s1.运维网.com/wyfs02/M01/91/A3/wKioL1j3KoCxlHy2AABllfDybVc584.png-wh_500x0-wm_3-wmp_4-s_2886210019.png
  2、zabbix客户端配置
  
  下面要在被监控的IIS服务器上做配置。
   首先上传IIS站点自动发现脚本LLD_Web_Service.bat到C盘根目录。
   脚本内容如下:
  C:\ LLD_Web_Service.bat
@echo off
SETLOCAL ENABLEDELAYEDEXPANSION
echo {
echo   "data":[
for /F "tokens=* delims=" %%i IN ('typeperf -qx^|find "Web Service"^|find "CurrentConnections"') 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 }  
  然后修改zabbixagent的配置文件,增加自定义参数:
  UnsafeUserParameters=1      #开启用户自定义脚本功能
  UserParameter=iis.site.discovery,C:\LLD_Web_Service.bat   #建立客户机监控项
https://s1.运维网.com/wyfs02/M01/91/A3/wKioL1j3KoCThcTFAAAxggSbz_8789.png-wh_500x0-wm_3-wmp_4-s_407001917.png
  修改完毕重启zabbix agent使配置生效。
  

  
  在zabbix server服务器上测试下客户端是否配置成功:使用zabbix_get命令获取脚本执行结果,脚本返回一段json数据就算成功了:
https://s1.运维网.com/wyfs02/M02/91/A4/wKiom1j3KoDx-HMLAAB3Ghx1mU8075.png-wh_500x0-wm_3-wmp_4-s_3977388635.png
  将模版应用到主机,查看监控结果:
https://s1.运维网.com/wyfs02/M02/91/A3/wKioL1j3LISyFWQ4AAG46wAEx8Q047.png-wh_500x0-wm_3-wmp_4-s_603261508.png


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

页: [1]
查看完整版本: zabbix3.0自动发现监控IIS