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.

Could someone point what I missing? The man page it’s really so important?

@mike1098 Could you help me a little bit more?
I watched this https://endlessnow.com/ten/Video/checkmk_winperf-sm.mp4
And based on that I done exactly the same steps. But all I accomplish is above script. Nothing happen, no new services appear.

This topic was automatically closed 365 days after the last reply. New replies are no longer allowed. Contact an admin if you think this should be re-opened.