IIS monitoring, agent has information

CMK version: 1.6.0p3
OS version: Windows Server 2012 x64

Output of “cmk --debug -vvn hostname”: This is part of output:

<<<wmi_webservices:sep(124)>>>
AnonymousUsersPersec|BytesReceivedPersec|BytesSentPersec|BytesTotalPersec|Caption|CGIRequestsPersec|ConnectionAttemptsPersec|CopyRequestsPersec|CurrentAnonymousUsers|CurrentBlockedAsyncIORequests|Currentblockedbandwidthbytes|CurrentCALcountforauthenticatedusers|CurrentCALcountforSSLconnections|CurrentCGIRequests|CurrentConnections|CurrentISAPIExtensionRequests|CurrentNonAnonymousUsers|DeleteRequestsPersec|Description|FilesPersec|FilesReceivedPersec|FilesSentPersec|Frequency_Object|Frequency_PerfTime|Frequency_Sys100NS|GetRequestsPersec|HeadRequestsPersec|ISAPIExtensionRequestsPersec|LockedErrorsPersec|LockRequestsPersec|LogonAttemptsPersec|MaximumAnonymousUsers|MaximumCALcountforauthenticatedusers|MaximumCALcountforSSLconnections|MaximumCGIRequests|MaximumConnections|MaximumISAPIExtensionRequests|MaximumNonAnonymousUsers|MeasuredAsyncIOBandwidthUsage|MkcolRequestsPersec|MoveRequestsPersec|Name|NonAnonymousUsersPersec|NotFoundErrorsPersec|OptionsRequestsPersec|OtherRequestMethodsPersec|PostRequestsPersec|PropfindRequestsPersec|ProppatchRequestsPersec|PutRequestsPersec|SearchRequestsPersec|ServiceUptime|Timestamp_Object|Timestamp_PerfTime|Timestamp_Sys100NS|TotalAllowedAsyncIORequests|TotalAnonymousUsers|TotalBlockedAsyncIORequests|Totalblockedbandwidthbytes|TotalBytesReceived|TotalBytesSent|TotalBytesTransferred|TotalCGIRequests|TotalConnectionAttemptsallinstances|TotalCopyRequests|TotalcountoffailedCALrequestsforauthenticatedusers|TotalcountoffailedCALrequestsforSSLconnections|TotalDeleteRequests|TotalFilesReceived|TotalFilesSent|TotalFilesTransferred|TotalGetRequests|TotalHeadRequests|TotalISAPIExtensionRequests|TotalLockedErrors|TotalLockRequests|TotalLogonAttempts|TotalMethodRequests|TotalMethodRequestsPersec|TotalMkcolRequests|TotalMoveRequests|TotalNonAnonymousUsers|TotalNotFoundErrors|TotalOptionsRequests|TotalOtherRequestMethods|TotalPostRequests|TotalPropfindRequests|TotalProppatchRequests|TotalPutRequests|TotalRejectedAsyncIORequests|TotalSearchRequests|TotalTraceRequests|TotalUnlockRequests|TraceRequestsPersec|UnlockRequestsPersec|WMIStatus

My question is how to transfer some of this metrics as service to check_mk server.
At this moment I have only 1 service per IIS “service”, it is Web Service SERVICENAME.
As I can see at output from cmk -d HOSTNAME there are lots of info about IIS server but how to make it avaible at GUI. It is possible at all?

I am afraid you have to extend the check wmi_webservices

BR

MF

If its about iis app pool, thats available since 2.0.0p8:

But it juts monitor the state of the app pool.

regards

Michael

I unfortunately not a administrator of this check_mk instance and my ability to upgrade it to newer version is limited. But @mike1098 what you mean in case of extend the check wmi_webservice? And could you point mi some direction? I’m complete newbie in chek_mk env but i have some experience with nagios-like stuff so maybe I can handle it :wink: Please just point direction :slight_smile:

For 1.6 you may read:

Its not complete but could give you an idea how it works.
Basically you copy the check wmi_webservices from ~/share/checkm/checks to ~/local/share/check_mk/checks and then start altering the code. Anyway you should not do this in a productive environmnet.

For 2.0 its better documented and there is a standardized check API.

1 Like

Ok I think I get part of it. My new “fancy” file at ~local/share/check_mk/checks/wmi_webservices_anonymus_user_per_sec
Looks like it:

#!/usr/bin/python
def check_wmi_webservices_anonymus_per_sec(item, params, parsed):
    yield wmi_yield_raw_persec(parsed[""],
                               item,
                               "AnonymousUsersPersec",
                               label=" anonymous users per sec",
                               perfvar="anon_users_sec")


check_info['wmi_webservices_anon_ups'] = {
    'inventory_function': inventory_wmi_table_instances,
    'check_function': check_wmi_webservices_anonymus_per_sec,
    'parse_function': parse_wmi_table,
    'has_perfdata': True,
    'service_description': "Web Service %s AnonymousUsersPersec",
    'includes': ["wmi.include"]
}

To be honest i start to like this way of extend monitoring, but how I can get it work? It stops threw errors at GUI but no new services appear.

At link you provide I see something about man_pages.py but I can’t found it so far. Also I not believe that this is so important and stops adding services to my hosts.