2017-07-05 3 views
0

J'ai des scripts python qui vérifie les processus importation subprocessComment écrire check_mk contrôles manuels

s = subprocess.check_output('tasklist', shell=True) 
if "cmd.exe" in s: 
    if "java.exe" not in str(s): 
     print "selenium server is not up" 
    if "FreeSSHDService.exe" not in str(s): 
     print "SSH is not up" 
    else: 
     print "Everything is awesome" 

Je veux ajouter un contrôle sur le tableau de bord de check_mk, quelles sont les étapes pour ajouter cette vérification et où je avoir à monter ce script.

import subprocess 

s = subprocess.check_output('tasklist', shell=True) 
if "cmd.exe" in s: 
    if "java.exe" not in str(s): 
     return 2, "selenium server is not up") 
    if "FreeSSHDService.exe" not in str(s): 
     return 2, "SSH is not up" 
    else: 
     return 0, "Everything is awesome" 

Répondre

0

D'abord je suppose le nœud que vous voulez vérifier est MS Windows basé, dans ce cas, je ne peux pas vous aider beaucoup parce que mon expertise est sur UNIX et Linux.

Cette web link vous aidera à vérifier vos nœuds Windows, en particulier le paragraphe 10. Extending the Windows agent.

Sous Linux, une fois que check_mk_agent est installé, il existe trois méthodes selon la profondeur d'entrée dans check_mk guts. Dans Windows je pense qu'il y a les mêmes méthodes.

  1. En tant que service local: vous copiez votre code python dans le dossier local, quel qu'il soit situé dans Windows, et édite la section [global] du fichier de configuration check_mk.ini pour faire exécuter les py et pyc extensions de nom de fichier.

  2. En tant que chèque de MRPE: vous faire votre programme python imprimer sa sortie en fonction du Nagios output check format et de modifier la section [mrpe] du fichier de configuration check_ini selon the notes in the paragraph 10.2. En tant qu'inconvénient, les valeurs/plages AVERTISSEMENT et CRITIQUE sont fixées dans le fichier check_ini - elles ne peuvent pas être modifiées dans WATO.

  3. En tant qu'agent check_mk: vous mettez votre programme python dans un agent de check_mk. Je pense que c'est le plus difficile car chaque agent check_mk doit avoir un fichier de définition/déclaration/inventaire de contrepartie dans le serveur check_mk pour être utilisé dans WATO et pour configurer ses paramètres. Je n'en ai jamais noté une, mais si vous êtes intéressé, vous devriez lire this guidelines.

Cordialement.