2 # -*- encoding: utf-8; py-indent-offset: 4 -*-
3 # +------------------------------------------------------------------+
4 # | ____ _ _ __ __ _ __ |
5 # | / ___| |__ ___ ___| | __ | \/ | |/ / |
6 # | | | | '_ \ / _ \/ __| |/ / | |\/| | ' / |
7 # | | |___| | | | __/ (__| < | | | | . \ |
8 # | \____|_| |_|\___|\___|_|\_\___|_| |_|_|\_\ |
10 # | Copyright Mathias Kettner 2016 mk@mathias-kettner.de |
11 # +------------------------------------------------------------------+
13 # This file is part of Check_MK.
14 # The official homepage is at http://mathias-kettner.de/check_mk.
16 # check_mk is free software; you can redistribute it and/or modify it
17 # under the terms of the GNU General Public License as published by
18 # the Free Software Foundation in version 2. check_mk is distributed
19 # in the hope that it will be useful, but WITHOUT ANY WARRANTY; with-
20 # out even the implied warranty of MERCHANTABILITY or FITNESS FOR A
21 # PARTICULAR PURPOSE. See the GNU General Public License for more de-
22 # tails. You should have received a copy of the GNU General Public
23 # License along with GNU Make; see the file COPYING. If not, write
24 # to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
25 # Boston, MA 02110-1301 USA.
27 # these defaults were specified by customer
28 factory_settings
['skype_mobile_defaultlevels'] = {'requests_processing': {"upper": (10000, 20000)}}
30 factory_settings
['skype_xmpp_defaultlevels'] = {
31 'failed_outbound_streams': {
34 'failed_inbound_streams': {
39 factory_settings
['skype_edgeauth_defaultlevels'] = {
45 factory_settings
['skype_mediation_server_defaultlevels'] = {
46 'load_call_failure_index': {
49 'failed_calls_because_of_proxy': {
52 'failed_calls_because_of_gateway': {
55 'media_connectivity_failure': {
60 factory_settings
['skype_sip_defaultlevels'] = {
61 'message_processing_time': {
63 }, # for edge servers: < 3
64 'incoming_responses_dropped': {
67 'incoming_requests_dropped': {
76 'throttled_requests': {
79 'local_503_responses': {
82 'timedout_incoming_messages': {
85 'holding_time_incoming': {
88 'flow_controlled_connections': {
91 'outgoing_queue_delay': {
97 'authentication_errors': {
102 factory_settings
['skype_conferencing_defaultlevels'] = {
103 'incomplete_calls': {
106 'create_conference_latency': {
107 "upper": (5000, 10000)
109 'allocation_latency': {
110 "upper": (5000, 10000)
114 factory_settings
["skype_edge_defaultlevels"] = {
115 'authentication_failures': {
118 'allocate_requests_exceeding': {
126 factory_settings
["skype_proxy_defaultlevels"] = {
127 'throttled_connections': {
132 factory_settings
['skype_defaultlevels'] = {
133 'failed_search_requests': {
136 'failed_locations_requests': {
139 'timedout_ad_requests': {
140 "upper": (0.01, 0.02)
145 'asp_requests_rejected': {
148 'failed_file_requests': {
154 'failed_validate_cert': {
160 def check_skype(item
, params
, parsed
):
161 # LS:WEB - Address Book Web Query\WEB - Failed search requests/sec
162 # LS:WEB - Location Information Service\WEB - Failed Get Locations Requests/Second
163 # LS:WEB - Distribution List Expansion\WEB - Timed out Active Directory Requests/sec
164 # LS:WEB - UCWA\UCWA - HTTP 5xx Responses/Second
165 # ASP.NET Apps v4.0.30319(*)\Requests Rejected
167 # LS:WEB - Address Book File Download\WEB – Failed File Requests/Second
168 # LS: JoinLauncher – Join Launcher Service Failures\JOINLAUNCHER – Join Failures
169 # LS:WEB – Auth Provider related calls\WEB – Failed validate cert calls to the cert auth provider
171 yield wmi_yield_raw_persec(
172 parsed
["LS:WEB - Address Book Web Query"],
174 "WEB - Failed search requests/sec",
175 label
=" failed search requests/sec",
176 perfvar
="failed_search_requests",
177 levels
=params
['failed_search_requests'])
179 yield wmi_yield_raw_persec(
180 parsed
["LS:WEB - Location Information Service"],
182 "WEB - Failed Get Locations Requests/Second",
183 label
=" failed location requests/sec",
184 perfvar
="failed_location_requests",
185 levels
=params
['failed_locations_requests'])
187 yield wmi_yield_raw_persec(
188 parsed
["LS:WEB - Distribution List Expansion"],
190 "WEB - Timed out Active Directory Requests/sec",
191 label
=" timeout AD requests/sec",
192 perfvar
="failed_ad_requests",
193 levels
=params
['timedout_ad_requests'])
195 yield wmi_yield_raw_persec(
196 parsed
["LS:WEB - UCWA"],
198 "UCWA - HTTP 5xx Responses/Second",
199 label
=" HTTP 5xx/sec",
201 levels
=params
['5xx_responses'])
203 yield wmi_yield_raw_counter(
204 parsed
["ASP.NET Apps v4.0.30319"],
207 label
=" requests rejected",
208 perfvar
="asp_requests_rejected",
209 levels
=params
['asp_requests_rejected'])
211 if "LS:WEB - Address Book File Download" in parsed
:
212 yield wmi_yield_raw_persec(
213 parsed
["LS:WEB - Address Book File Download"],
215 "WEB - Failed File Requests/Second",
216 label
=" failed file requests/sec",
217 perfvar
="failed_file_requests",
218 levels
=params
['failed_file_requests'])
220 if "LS:JoinLauncher - Join Launcher Service Failures" in parsed
:
221 yield wmi_yield_raw_counter(
222 parsed
["LS:JoinLauncher - Join Launcher Service Failures"],
224 "JOINLAUNCHER - Join failures",
225 label
=" join failures",
226 perfvar
="join_failures",
227 levels
=params
['join_failures'])
229 if "LS:WEB - Auth Provider related calls" in parsed
:
230 yield wmi_yield_raw_counter(
231 parsed
["LS:WEB - Auth Provider related calls"],
233 "WEB - Failed validate cert calls to the cert auth provider",
234 label
=" failed cert validations",
235 perfvar
="failed_validate_cert_calls",
236 levels
=params
['failed_validate_cert'])
239 check_info
['skype'] = {
240 'inventory_function': lambda table
: inventory_wmi_table(
243 "LS:WEB - Address Book Web Query", "LS:WEB - Location Information Service",
244 "LS:WEB - Distribution List Expansion", "LS:WEB - UCWA", "ASP.NET Apps v4.0.30319"
246 'check_function': check_skype
,
247 'parse_function': lambda info
: parse_wmi_table(info
, key
="instance"),
248 'has_perfdata': True,
249 'service_description': "Skype Web Components",
250 'includes': ['wmi.include'],
252 'default_levels_variable': 'skype_defaultlevels'
256 def check_skype_mcu(item
, params
, parsed
):
257 # LS:DATAMCU - MCU Health And Performance\DATAMCU - MCU Health State
258 # LS:AVMCU - MCU Health And Performance\AVMCU - MCU Health State
259 # LS:AsMcu - MCU Health And Performance\ASMCU - MCU Health State
260 # LS:ImMcu - MCU Health And Performance\IMMCU - MCU Health State
262 def health(value
, label
):
263 # The current health of the MCU. 0 = Normal. 1 = Loaded. 2 = Full. 3 = Unavailable.
268 "3": (2, "Unavailable")
269 }.get(value
, (2, "unknown (%s)" % value
))
271 return state
[0], "%s: %s" % (label
, state
[1])
274 parsed
["LS:DATAMCU - MCU Health And Performance"].get(0, "DATAMCU - MCU Health State"),
277 yield health(parsed
["LS:AVMCU - MCU Health And Performance"].get(0, "AVMCU - MCU Health State"),
280 yield health(parsed
["LS:AsMcu - MCU Health And Performance"].get(0, "ASMCU - MCU Health State"),
283 yield health(parsed
["LS:ImMcu - MCU Health And Performance"].get(0, "IMMCU - MCU Health State"),
287 check_info
['skype.mcu'] = {
288 'inventory_function': lambda parsed
: inventory_wmi_table(
291 "LS:DATAMCU - MCU Health And Performance",
292 "LS:AVMCU - MCU Health And Performance",
293 "LS:AsMcu - MCU Health And Performance",
294 "LS:ImMcu - MCU Health And Performance",
296 'check_function': check_skype_mcu
,
297 'service_description': "Skype MCU Health",
301 def check_skype_conferencing(item
, params
, parsed
):
302 # LS:CAA - Operations\CAA - Incomplete calls per sec
303 # LS:USrv - Conference Mcu Allocator\USrv - Create Conference Latency (msec)
304 # LS:USrv - Conference Mcu Allocator\USrv – Allocation Latency (msec)
306 yield wmi_yield_raw_persec(
307 parsed
["LS:CAA - Operations"],
309 "CAA - Incomplete calls per sec",
310 label
=" incomplete calls/sec",
311 perfvar
="caa_incomplete_calls",
312 levels
=params
['incomplete_calls'])
314 yield wmi_yield_raw_average(
315 parsed
["LS:USrv - Conference Mcu Allocator"],
317 "USrv - Create Conference Latency (msec)",
318 label
=" create conference latency",
319 perfvar
="usrv_create_conference_latency",
320 levels
=params
['create_conference_latency'])
322 yield wmi_yield_raw_average(
323 parsed
["LS:USrv - Conference Mcu Allocator"],
325 "USrv - Allocation Latency (msec)",
326 label
=" allocation latency",
327 perfvar
="usrv_allocation_latency",
328 levels
=params
['allocation_latency'])
331 check_info
['skype.conferencing'] = {
332 'inventory_function': lambda table
: inventory_wmi_table(
333 table
, required_tables
=[
334 "LS:CAA - Operations",
335 "LS:USrv - Conference Mcu Allocator",
337 'check_function': check_skype_conferencing
,
338 'parse_function': lambda info
: parse_wmi_table(info
, key
="instance"),
339 'has_perfdata': True,
340 'service_description': "Skype Conferencing",
341 'includes': ['wmi.include'],
342 'group': 'skype_conferencing',
343 'default_levels_variable': 'skype_conferencing_defaultlevels'
347 def check_skype_sip_stack(item
, params
, parsed
):
348 # LS:SIP - Protocol\SIP - Average Incoming Message Processing Time
349 # LS:SIP - Protocol\SIP - Incoming Responses Dropped /Sec
350 # LS:SIP - Protocol\SIP - Incoming Requests Dropped /Sec
351 # LS:USrv - DBStore\USrv - Queue Latency (msec)
352 # LS:USrv - DBStore\USrv - Sproc Latency (msec)
353 # LS:USrv - DBStore\USrv - Throttled requests/sec
355 # LS:SIP - Responses\SIP - Local 503 Responses/sec
356 # LS:SIP - Load Management\SIP - Incoming Messages Timed out
357 # LS:SIP - Load Management\SIP - Average Holding Time For Incoming Messages
358 # LS:SIP - Peers\SIP - Flow-controlled Connections
359 # LS:SIP - Peers\SIP - Average Outgoing Queue Delay
360 # LS:SIP - Peers(*)\SIP-Sends Timed-Out/sec
361 yield wmi_yield_raw_average_timer(
362 parsed
["LS:SIP - Protocol"],
364 "SIP - Average Incoming Message Processing Time",
365 label
=" avg incoming message processing time",
366 perfvar
="sip_message_processing_time",
367 levels
=params
['message_processing_time'])
369 yield wmi_yield_raw_persec(
370 parsed
["LS:SIP - Protocol"],
372 "SIP - Incoming Responses Dropped /Sec",
373 label
=" incoming responses dropped/sec",
374 perfvar
="sip_incoming_responses_dropped",
375 levels
=params
['incoming_responses_dropped'])
377 yield wmi_yield_raw_persec(
378 parsed
["LS:SIP - Protocol"],
380 "SIP - Incoming Requests Dropped /Sec",
381 label
=" incoming requests dropped/sec",
382 perfvar
="sip_incoming_requests_dropped",
383 levels
=params
['incoming_requests_dropped'])
385 yield wmi_yield_raw_average(
386 parsed
["LS:USrv - DBStore"],
388 "USrv - Queue Latency (msec)",
389 label
=" ms queue latency",
390 perfvar
="usrv_queue_latency",
392 levels
=params
['queue_latency'])
394 yield wmi_yield_raw_average(
395 parsed
["LS:USrv - DBStore"],
397 "USrv - Sproc Latency (msec)",
398 label
=" ms sproc latency",
399 perfvar
="usrv_sproc_latency",
401 levels
=params
['sproc_latency'])
403 yield wmi_yield_raw_persec(
404 parsed
["LS:USrv - DBStore"],
406 "USrv - Throttled requests/sec",
407 label
=" throttled requests/sec",
408 perfvar
="usrv_throttled_requests",
409 levels
=params
['throttled_requests'])
411 yield wmi_yield_raw_persec(
412 parsed
["LS:SIP - Responses"],
414 "SIP - Local 503 Responses /Sec",
415 label
=" local 503 responses/sec",
416 perfvar
="sip_503_responses",
417 levels
=params
['local_503_responses'])
419 yield wmi_yield_raw_counter(
420 parsed
["LS:SIP - Load Management"],
422 "SIP - Incoming Messages Timed out",
423 label
=" incoming messages timed out",
424 perfvar
="sip_incoming_messages_timed_out",
425 levels
=params
['timedout_incoming_messages'])
427 yield wmi_yield_raw_average_timer(
428 parsed
["LS:SIP - Load Management"],
430 "SIP - Average Holding Time For Incoming Messages",
431 label
=" avg holding time for incoming messages",
432 perfvar
="sip_avg_holding_time_incoming_messages",
433 levels
=params
['holding_time_incoming'])
435 yield wmi_yield_raw_counter(
436 parsed
["LS:SIP - Peers"],
438 "SIP - Flow-controlled Connections",
439 label
=" flow-controlled connections",
440 perfvar
="sip_flow_controlled_connections",
441 levels
=params
['flow_controlled_connections'])
443 yield wmi_yield_raw_average_timer(
444 parsed
["LS:SIP - Peers"],
446 "SIP - Average Outgoing Queue Delay",
447 label
=" avg outgoing queue delay",
448 perfvar
="sip_avg_outgoing_queue_delay",
449 levels
=params
['outgoing_queue_delay'])
451 yield wmi_yield_raw_persec(
452 parsed
["LS:SIP - Peers"],
454 "SIP - Sends Timed-Out /Sec",
455 label
=" sends timed out/sec",
456 perfvar
="sip_sends_timed_out",
457 levels
=params
['timedout_sends'])
459 if "LS:SIP - Authentication" in parsed
:
460 yield wmi_yield_raw_persec(
461 parsed
["LS:SIP - Authentication"],
463 "SIP - Authentication System Errors /Sec",
464 label
=" authentication errors/sec",
465 perfvar
="sip_authentication_errors",
466 levels
=params
['authentication_errors'])
469 check_info
['skype.sip_stack'] = {
470 'inventory_function': lambda parsed
: inventory_wmi_table(
475 "LS:SIP - Responses",
476 "LS:SIP - Load Management",
479 'check_function': check_skype_sip_stack
,
480 'has_perfdata': True,
481 'service_description': "Skype SIP Stack",
482 'group': 'skype_sip',
483 'default_levels_variable': 'skype_sip_defaultlevels'
487 def check_skype_mediation_server(item
, params
, parsed
):
488 # LS:MediationServer - Health Indices\- Load Call Failure Index
489 # LS:MediationServer - Global Counters\- Total failed calls caused by unexpected interaction from the Proxy
490 # LS:MediationServer - Global Per Gateway Counters(*)\- Total failed calls caused by unexpected interaction from a gateway
491 # LS:MediationServer - Media Relay\- Media Connectivity Check Failure
493 yield wmi_yield_raw_counter(
494 parsed
["LS:MediationServer - Health Indices"],
496 "- Load Call Failure Index",
497 label
=" load call failure index",
498 perfvar
="mediation_load_call_failure_index",
499 levels
=params
["load_call_failure_index"])
501 yield wmi_yield_raw_counter(
502 parsed
["LS:MediationServer - Global Counters"],
504 "- Total failed calls caused by unexpected interaction from the Proxy",
505 label
=" failed calls because of proxy",
506 perfvar
="mediation_failed_calls_because_of_proxy",
507 levels
=params
['failed_calls_because_of_proxy'])
509 yield wmi_yield_raw_counter(
510 parsed
["LS:MediationServer - Global Per Gateway Counters"],
512 "- Total failed calls caused by unexpected interaction from a gateway",
513 label
=" failed calls because of gateway",
514 perfvar
="mediation_failed_calls_because_of_gateway",
515 levels
=params
['failed_calls_because_of_gateway'])
517 yield wmi_yield_raw_counter(
518 parsed
["LS:MediationServer - Media Relay"],
520 "- Media Connectivity Check Failure",
521 label
=" media connectivity check failure",
522 perfvar
="mediation_media_connectivity_failure",
523 levels
=params
['media_connectivity_failure'])
526 check_info
['skype.mediation_server'] = {
527 'inventory_function': lambda parsed
: inventory_wmi_table(
530 "LS:MediationServer - Health Indices",
531 "LS:MediationServer - Global Counters",
532 "LS:MediationServer - Global Per Gateway Counters",
533 "LS:MediationServer - Media Relay",
535 'check_function': check_skype_mediation_server
,
536 'has_perfdata': True,
537 'service_description': "Skype Mediation Server",
538 'group': 'skype_mediation_server',
539 'default_levels_variable': 'skype_mediation_server_defaultlevels'
543 def check_skype_edge_auth(item
, params
, parsed
):
544 # LS:A/V Auth - Requests\- Bad Requests Received/sec
545 yield wmi_yield_raw_persec(
546 parsed
["LS:A/V Auth - Requests"],
548 "- Bad Requests Received/sec",
549 label
=" bad requests/sec",
550 perfvar
="avauth_failed_requests",
551 levels
=params
['bad_requests'])
554 check_info
['skype.edge_auth'] = {
555 'inventory_function': lambda parsed
: inventory_wmi_table(
556 parsed
, required_tables
=["LS:A/V Auth - Requests"]),
557 'check_function': check_skype_edge_auth
,
558 'has_perfdata': True,
559 'service_description': "Skype Edge Authentification",
560 'group': 'skype_edgeauth',
561 'default_levels_variable': 'skype_edgeauth_defaultlevels'
565 def check_skype_av_edge(item
, params
, parsed
):
566 # LS:A/V Edge - UDP Counters(*)\A/V Edge - Authentication Failures/sec
567 # LS:A/V Edge - TCP Counters(*)\A/V Edge - Authentication Failures/sec
568 # LS:A/V Edge - UDP Counters(*)\A/V Edge - Allocate Requests Exceeding Port Limit
569 # LS:A/V Edge - TCP Counters(*)\A/V Edge - Allocate Requests Exceeding Port Limit
570 # LS:A/V Edge - UDP Counters(*)\A/V Edge - Packets Dropped/sec
571 # LS:A/V Edge - TCP Counters(*)\A/V Edge - Packets Dropped/sec
572 yield wmi_yield_raw_persec(
573 parsed
["LS:A/V Edge - UDP Counters"],
575 "A/V Edge - Authentication Failures/sec",
576 label
=" UDP auth failures/sec",
577 perfvar
="edge_udp_failed_auth",
578 levels
=params
['authentication_failures'])
580 yield wmi_yield_raw_persec(
581 parsed
["LS:A/V Edge - TCP Counters"],
583 "A/V Edge - Authentication Failures/sec",
584 label
=" TCP auth failures/sec",
585 perfvar
="edge_tcp_failed_auth",
586 levels
=params
['authentication_failures'])
588 yield wmi_yield_raw_persec(
589 parsed
["LS:A/V Edge - UDP Counters"],
591 "A/V Edge - Allocate Requests Exceeding Port Limit/sec",
592 label
=" UDP allocate requests > port limit/sec",
593 perfvar
="edge_udp_allocate_requests_exceeding_port_limit",
594 levels
=params
['allocate_requests_exceeding'])
596 yield wmi_yield_raw_persec(
597 parsed
["LS:A/V Edge - TCP Counters"],
599 "A/V Edge - Allocate Requests Exceeding Port Limit/sec",
600 label
=" TCP allocate requests > port limit/sec",
601 perfvar
="edge_tcp_allocate_requests_exceeding_port_limit",
602 levels
=params
['allocate_requests_exceeding'])
604 yield wmi_yield_raw_persec(
605 parsed
["LS:A/V Edge - UDP Counters"],
607 "A/V Edge - Packets Dropped/sec",
608 label
=" UDP packets dropped/sec",
609 perfvar
="edge_udp_packets_dropped",
610 levels
=params
['packets_dropped'])
612 yield wmi_yield_raw_persec(
613 parsed
["LS:A/V Edge - TCP Counters"],
615 "A/V Edge - Packets Dropped/sec",
616 label
=" TCP packets dropped/sec",
617 perfvar
="edge_tcp_packets_dropped",
618 levels
=params
['packets_dropped'])
621 check_info
['skype.edge'] = {
622 'inventory_function': lambda parsed
: inventory_wmi_table(
623 parsed
, required_tables
=["LS:A/V Edge - TCP Counters", "LS:A/V Edge - UDP Counters"]),
624 'check_function': check_skype_av_edge
,
625 'has_perfdata': True,
626 'service_description': "Skype AV Edge %s",
627 'group': 'skype_edge',
628 'default_levels_variable': 'skype_edge_defaultlevels'
632 def check_skype_data_proxy(item
, params
, parsed
):
633 # LS:DATAPROXY - Server Connections(*)\DATAPROXY - Current count of server connections that are throttled
634 # LS:DATAPROXY - Server Connections(*)\DATAPROXY - System is throttling
635 yield wmi_yield_raw_counter(
636 parsed
["LS:DATAPROXY - Server Connections"],
638 "DATAPROXY - Current count of server connections that are throttled",
639 label
=" server connections throttled",
640 perfvar
="dataproxy_connections_throttled",
641 levels
=params
['throttled_connections'])
643 throttling
= int(parsed
["LS:DATAPROXY - Server Connections"].get(
644 0, "DATAPROXY - System is throttling"))
647 yield 2, "System is throttling"
650 check_info
['skype.data_proxy'] = {
651 'inventory_function': lambda parsed
: inventory_wmi_table_instances(
652 parsed
, required_tables
=["LS:DATAPROXY - Server Connections"]),
653 'check_function': check_skype_data_proxy
,
654 'has_perfdata': True,
655 'service_description': "Skype Data Proxy %s",
656 'group': 'skype_proxy',
657 'default_levels_variable': 'skype_proxy_defaultlevels'
661 def check_skype_xmpp_proxy(item
, params
, parsed
):
662 # LS:XmppFederationProxy - Streams\XmppFederationProxy - Failed outbound stream establishes/sec
663 # LS:XmppFederationProxy - Streams\XmppFederationProxy - Failed inbound stream establishes/sec
664 yield wmi_yield_raw_persec(
665 parsed
["LS:XmppFederationProxy - Streams"],
667 "XmppFederationProxy - Failed outbound stream establishes/sec",
668 label
=" failed outbound streams",
669 perfvar
="xmpp_failed_outbound_streams",
670 levels
=params
['failed_outbound_streams'])
672 yield wmi_yield_raw_persec(
673 parsed
["LS:XmppFederationProxy - Streams"],
675 "XmppFederationProxy - Failed inbound stream establishes/sec",
676 label
=" failed inbound streams",
677 perfvar
="xmpp_failed_inbound_streams",
678 levels
=params
['failed_inbound_streams'])
681 check_info
['skype.xmpp_proxy'] = {
682 'inventory_function': lambda parsed
: inventory_wmi_table(
683 parsed
, required_tables
=["LS:XmppFederationProxy - Streams"]),
684 'check_function': check_skype_xmpp_proxy
,
685 'has_perfdata': True,
686 'service_description': "Skype XMPP Proxy",
687 'group': 'skype_xmpp',
688 'default_levels_variable': 'skype_xmpp_defaultlevels'
692 def check_skype_mobile(item
, params
, parsed
):
694 # LS:WEB - Throttling and Authentication\WEB - Total Requests in Processing
696 for instance
, name
in [
697 ("AndroidLync", "Android"),
698 ("iPadLync", "iPad"),
699 ("iPhoneLync", "iPhone"),
700 ("LyncForMac", "Mac"),
702 status
, infotext
, perfdata
=\
703 wmi_yield_raw_counter(parsed
["LS:WEB - UCWA"], instance
,
704 "UCWA - Active Session Count",
706 perfvar
="ucwa_active_sessions")
708 perfdata
= [('%s_%s' % (p
[0], name
.lower()),) + p
[1:] for p
in perfdata
]
709 yield status
, "%s: %s" % (name
, infotext
), perfdata
712 # add a perfcounter with 0 sessions for all missing devices so we can
713 # still properly build a combined graph for active sessions
714 yield 0, "", [("active_sessions_%s" % name
.lower(), 0, None, None, None, None)]
716 yield wmi_yield_raw_counter(
717 parsed
["LS:WEB - Throttling and Authentication"],
719 "WEB - Total Requests In Processing",
721 perfvar
="web_requests_processing",
722 levels
=params
['requests_processing'])
725 check_info
['skype.mobile'] = {
726 'inventory_function': lambda parsed
: inventory_wmi_table(
727 parsed
, required_tables
=[
729 "LS:WEB - Throttling and Authentication",
731 'check_function': check_skype_mobile
,
732 'has_perfdata': True,
733 'service_description': "Skype Mobile Sessions",
734 'group': 'skype_mobile',
735 'default_levels_variable': 'skype_mobile_defaultlevels'