J'essaie de mettre en place le Check_MK avec launchd sur un serveur Mac, pour renvoyer des données sur le port 6556 lorsqu'une autre machine s'y connecte.
(L'agent lui-même est essentiellement juste un shell script qui sort diverses informations sur l'état de la machine dans un format vaguement lisible par la machine).
Je suis capable de m'y connecter depuis la machine elle-même, par exemple avec curl localhost:6556
mais si j'essaie de me connecter en externe, il s'arrête.
J'ai un fichier .plist configuré comme celui qui se trouve à l'adresse suivante de.mathias-kettner.check_mk.plist stocké dans /Library/LaunchDaemon :
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>EnvironmentVariables</key>
<dict>
<key>HOME</key>
<string>/var/root</string>
<key>PATH</key>
<string>/sbin:/usr/sbin:/usr/local/sbin:/bin:/usr/bin:/usr/local/bin</string>
</dict>
<key>Label</key>
<string>de.mathias-kettner.check_mk</string>
<key>ProgramArguments</key>
<array>
<string>/usr/local/bin/check_mk_agent</string>
</array>
<key>Sockets</key>
<dict>
<key>Listeners</key>
<dict>
<key>SockServiceName</key>
<string>6556</string>
</dict>
</dict>
<key>inetdCompatibility</key>
<dict>
<key>Wait</key>
<false/>
</dict>
<key>AbandonProcessGroup</key>
<true/>
<key>StandardErrorPath</key>
<string>/var/log/check_mk.err</string>
<key>WorkingDirectory</key>
<string>/var/root</string>
</dict>
</plist>
(La seule différence est que le check_mk_agent est /usr/local/bin au lieu de /usr/bin, car je n'ai pas pu y créer le fichier).
Le fichier check_mk_agent lui-même se trouve à l'adresse suivante : check_mk_agent.macosx
Ce qui est étrange, c'est que si je dirige le fichier .plist vers quelque chose comme /bin/date
alors cela fonctionne aussi à l'extérieur.
La seule chose que je puisse conclure est que la tâche s'exécute avec des autorisations différentes selon l'IP ou l'interface d'où provient la connexion, mais je ne sais pas comment modifier les autorisations avec lesquelles elle tente de s'exécuter.
0 votes
Je n'ai aucun problème pour curler une machine distante et obtenir tous les détails avec vérifier_mk_agent y courir. Le plist est Root:wheel. Le fichier vérifier_mk_agent est également Root:wheel et chmod +x. Vérifier votre fichier d'erreur à /var/log/check_mk.err ! Supplémentaire : avez-vous modifié
export MK_LIBDIR
yexport MK_CONFDIR
sur check_mk_agent.macosx et avez-vous créé les fichiers et dossiers appropriés dans le système ?0 votes
Bonjour, merci pour les suggestions. J'ai créé les dossiers nécessaires, et vérifié les permissions. Le fichier d'erreur est vide. Mais il continue à n'autoriser que les connexions à localhost.