Plugin Apps-OPNSense-API

De SLM - MediaWiki

Précédent

Installation

Sur serveur centreon

mkdir /usr/lib/centreon/plugins/apps/opnsense/snmp -p
cd /usr/lib/centreon/plugins/apps/opnsense/snmp
git clone https://github.com/nbuchwitz/check_opnsense.git
cp check_opnsense/* ./
rm check_opnsense -rf

Créer une clé API sur opnsense

Système: Accès: Utilisateurs

Editer l'utilisateur remote-centreon

Privilèges effectifs: System: Firmware

Clés d'API cliquer sur +

Téléchargement d'un fichier .txt contenant la clé et le secret.

Ce fichier devrait ressembler à celui-ci:

key=w86XNZob/8Oq8aC5r0kbNarNtdpoQU781fyoeaOBQsBwkXUt
secret=XeD26XVrJ5ilAc/EmglCRC+0j2e57tRsjHwFepOseySWLM53pJASeTA3

Commande

/usr/lib/centreon/plugins/apps/opnsense/snmp/check_opnsense.py -H 10.10.10.1:8443 --api-key E/QJ64ddg...MX+fJ+B+7856 --api-secret GVf77emB8...peXAHAwjb -m updates --insecure

Plugin

Source: https://exchange.icinga.com/nicolaiB/check_opnsense

Adapter le plugin

Par defaut, si la mise à jour nécessite un redemarrage, le status passe en critical (rouge)

Afin de ne pas en tenir compte et laisser le status en warning (orange) il faut modifier le plugin.

nano /usr/lib/centreon/plugins/apps/opnsense/snmp/check_opnsense.py

Commenter les lignes comme ci dessous

# if data['upgrade_needs_reboot']: # self.checkResult = NagiosState.CRITICAL # self.checkMessage = "{}. Subsequent reboot required.".format(self.checkMessage)

Le template d’hôte

Nous regrouperons les services dans un template dhôte

1 clapi -o HTPL -a add -v "APP-OPNSense-API-SLM;APP-OPNSense-API-SLM;;;;"
2 clapi -o HTPL -a addtemplate -v "APP-OPNSense-API-SLM;generic-active-host-custom"
3 clapi -o HTPL -a setmacro -v "APP-OPNSense-API-SLM;PORTAPI;443"
4 clapi -o HTPL -a setmacro -v "APP-OPNSense-API-SLM;APIKEY;"
5 clapi -o HTPL -a setmacro -v "APP-OPNSense-API-SLM;APISECRET;"

Version

 1 #Création commande
 2 clapi -o CMD -a ADD -v "Check_APP_OPNSense_API_Version;2;/usr/lib/centreon/plugins/apps/opnsense/snmp/check_opnsense.py -H \$HOSTADDRESS\$:\$_HOSTPORTAPI\$ --api-key \$_HOSTAPIKEY\$ --api-secret \$_HOSTAPISECRET\$ \$_HOSTEXTRAOPTIONS\$ \$_SERVICEEXTRAOPTIONS\$ -m updates"
 3 clapi -o CMD -a setparam -v "Check_APP_OPNSense_API_Version;enable_shell;0"
 4 clapi -o CMD -a setparam -v "Check_APP_OPNSense_API_Version;command_activate;1"
 5 clapi -o CMD -a setparam -v "Check_APP_OPNSense_API_Version;command_locked;0"
 6 
 7 #Création template service
 8 clapi -o STPL -a add -v "Stpl_APP_OPNSense_API_Version;Version;generic-active-service-custom"
 9 clapi -o STPL -a setparam -v "Stpl_APP_OPNSense_API_Version;check_command;Check_APP_OPNSense_API_Version"
10 clapi -o STPL -a setmacro -v "Stpl_APP_OPNSense_API_Version;EXTRAOPTIONS;--insecure"
11 
12 #Ajout de la template service à la template d hôte
13 clapi -o STPL -a addhost -v "Stpl_APP_OPNSense_API_Version;APP-OPNSense-API-SLM"