Übersicht über verteilte Plugins / local checks

Hi,
eine Frage, gibt es innerhalb von checkmk irgendwo die Möglichkeit, ohne Verwendung der Bakery zu sehen, auf welchem System welche Plugins/local Checks verteilt sind? Ich hätte das irgendwie mit Hilfe des Inventories erwartet, aber bisher habe ich nichts gefunden.

VG
Christian

1 Like

hust
Feature Request :frowning:

Ja wäre in der Tat hilfreich und brauchbar. Ist ein Schritt weiter als das was wir mal angefragt hatten.

oh nee… warum muss man sowas anfordern… das das hilfreich wäre, sollte ja jedem Entwickler klar sein. Ich stelle den request…

2 Likes

Hi @CFriedrich
ja das geht. Zumindest seit der 2.1 von Checkmk und mit ein paar “Umwegen”.

Voraussetzung ist, dass du den 2.1er Agent installiert hast. Dieser liefert im Agent Output mit welche Plugins und Localchecks installiert sind. Das sieht bei mir so aus:

Und der Agent Output hat folgende Sektion:

<<<checkmk_agent_plugins_lnx:sep(0)>>>
pluginsdir /usr/lib/check_mk_agent/plugins
localdir /usr/lib/check_mk_agent/local
/usr/lib/check_mk_agent/plugins/apache_status:CMK_VERSION="unversioned"
/usr/lib/check_mk_agent/plugins/mk_inventory.linux:CMK_VERSION="2.1.0p19"
/usr/lib/check_mk_agent/plugins/mk_logwatch:CMK_VERSION="unversioned"
/usr/lib/check_mk_agent/plugins/mk_mysql:CMK_VERSION="unversioned"
/usr/lib/check_mk_agent/plugins/netstat.linux:CMK_VERSION="unversioned"
/usr/lib/check_mk_agent/plugins/systemtime:CMK_VERSION="unversioned"
/usr/lib/check_mk_agent/plugins/3600/apt:CMK_VERSION="unversioned"
/usr/lib/check_mk_agent/local/ipsec.sh:CMK_VERSION="unversioned"
/usr/lib/check_mk_agent/local/3600/checkreboot.sh:CMK_VERSION="unversioned"
/usr/lib/check_mk_agent/local/3600/ipoutbound.sh:CMK_VERSION="unversioned"
/usr/lib/check_mk_agent/local/86400/check-os.py:CMK_VERSION="unversioned"

Da kann man ganz klar sehen welche Agentplugins / Localchecks bestehen. :wink:

Gruß
Norm

2 Likes

tja - da gibt es so viel was wir als selbstverständlich ansehen…
Muss leider erst freigegeben werden dein Request - würde es erst dann posten

Ok mache ich, danke :slight_smile:

Man hätte diese Informationen einfach als Tabelle ins Inventar aufnehmen und so den Kunden in auswertbarer Form zur Verfügung stellen können.

Wir hatten das dazumal als Feedback an Tribe29 gemeldet. Zu unserem Bedauern hat das Product Managmenent aber aus Zeit- und Ressourcen Gründen davon abgesehen das weiter auszubauen.

@martin.hirschvogel
Ein weiterer Punkt für das “Fix inconsistencies and increase usability of the product” Thema

1 Like

Deine Anfrage @CFriedrich macht absolut Sinn. Aber das kommt ja auch nicht magisch auf einmal ins Inventory, sondern einerseits muss der Agent die Info liefern (den Teil haben wir 2.1 schon gebaut wie von @Norm erwähnt).
Und dann muss man es im Inventory implementieren.

Nur weil es nicht drin ist, heißt es nicht, dass wir das nicht auch als sinnvoll sehen.

EDIT: Dieser Teil war nicht an Christian gerichtet, sondern an Daniel.
Ich kann hier nur wiederholen, dass wir nicht unendliche Ressourcen haben. Deshalb müssen wir alle möglichen Anfragen priorisieren.

Hi @martin.hirschvogel ,
danke dir für das Feedback, welches ich natürlich verstehe. Mein Gedanke war halt nur, wie lange dieses Feature schon Sinn macht… es ist ja nicht so, dass es das Inventory, local checks und plugins erst seit 1-2 Jahren gäbe. Aber ich bin auf jeden Fall froh, wenn es mittelfristig eingebaut wird. Wir haben aktuell den Need für diese Informationen und ich habe dazu meinen Kollegen aus der System-Discovery (CMDB) ein Ticket erstellt, diese haben zurückgefragt, warum das Monitoring-Tool das nicht selber weiß. Das war quasi der Grund für den Post hier :slight_smile:

Viele Grüße

→ In Global Community → Deutsch verschoben

Hi,
als Zwischenlösung könnte man die Verzeichnisse local und plugins mit dem Fileinfo-Check überwachen.

Karl

Hi @kdeutsch
ja, wir könnten auch ein eigenes kleines local script schreiben, aber die Services kosten dann Lizenzen und wir müssten es tausendfach ausrollen. Aber klar, in kleineren Umgebungen eine Möglichkeit. Ich denke ich lasse es in meinem Fall dann von den Kollegen discovern und bei denen im Tool anzeigen.

VG

@CFriedrich man sollte Lizenz bezahlen für eigene lokal Skript schreiben und überwachen auch als Test?

Ich habe ein kleines Script service geschrieben und in der dashboard checkmk zu sehen als undecided Service wie in der offizielle Doku steht und klappt nicht…

Naja, due bezahlst ja pro Service. Wenn wir nun selber scripts schreiben, welche einen weiteren Messpunkt oder sogar mehrere erstellen, dann sind das bei 2000 Servern, 2000+ Messpunkte und für die zahlst du ja.
Mag sein das es bei deinem Vertrag für 100k services nicht ins Gewicht fällt - trotzdem zahlst du.

@CFriedrich Habe gerade mal in die 2.1 reingesehen, das sollte unter Software -> Applications -> Checkmk-Agent -> Plugins/Local Cchecks auftauchen. Das Ganze kommt aus checkmk_agent_plugins.py.

Hi @thl-cmk ,
hast du vielleicht mal einen Screenshot davon? Momentan habe ich erst mal das Problem, dass ich den Punkt in meiner 2.1 gar nicht finde. Mit “Software” meinst du das Inventory? Also wie kommst du zu Plugins/Local Checks?

VG

Das ist von einem 2.1er Testsystem. nur der Agent + Inventory. Der CMK Server ist ein 2.1.0p22.

@thl-cmk, achsooo…an der Stelle hab ich nicht gesucht.
ich möchte ja nicht bei einem einzelnen System gucken können, welches Plugin verteilt ist. Sondern ich möchte eine View/Liste: zeig mir alle Systeme wo das Plugin xy verteilt ist.
Aber so wie ich Martin verstanden habe, wird daran gearbeitet und die von dir geposteten Infos sind ja quasi die Basis für eine solche View :slight_smile:
Danke auf jeden Fall schon mal für die Info!
VG

da fehlt soweit ich sehe nur die Declaration für die Suchfunktion im view.

Sieht mit der Declaration dann so aus

hier der zugehörige Codeschnipsel

~/local/lib/check_mk/gui/plugins/views$ cat inventory_cmk_agent_plugins.py

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
#

from cmk.gui.plugins.views.utils import (
    inventory_displayhints,
)
from cmk.gui.plugins.views.inventory import (
    declare_invtable_view,
    )
from cmk.gui.i18n import _

inventory_displayhints.update({
   ".software.applications.checkmk-agent.plugins:": {
        "title": _l("Agent plugins"),
        "keyorder": ["name", "version", "cache_interval"],
        'view': 'invcmkagentplugins_of_host',
    },
})

declare_invtable_view('invcmkagentplugins', '.software.applications.checkmk-agent.plugins:', _('CMK Agent Plugins'), _('CMK Agent Plugins'))

3 Likes