Problème plugin python avec module paramiko et scp sur Nagios
voila j'ai un serveur distant qui recolte des données dans un fichier et j'ai mon serveur de prod nagios (CentOS) j'ai crée un plugin en python qui fait un ssh sur le serveur distant et scp du fichier sur nagios et ensuite fait un parse des données du fichier avec gestion des alertes etc...
le probleme c'est que en ligne de commande mon plugin marche mais quand je l'implemente sur nagios sa ne marche pas il ne "scp" pas le fichier en question:
voila le debut du code python avec le module scp et paramiko :
quelqu'un a-t-il une solution ?
merci d'avance
le probleme c'est que en ligne de commande mon plugin marche mais quand je l'implemente sur nagios sa ne marche pas il ne "scp" pas le fichier en question:
voila le debut du code python avec le module scp et paramiko :
#!/usr/bin/env python
# -*- coding: utf-8 -*-
#########script permettant de recuperer les données des fichiers OIF d'omni fonction GPS#############################
import sys
import os
import paramiko
import scp
#passage du fichier en argument
try:
fichier = sys.argv[1]
except IndexError:
print"""
plugin GPS Nagios pour fichiers .oif des stations
usage : check_oif_files_gps.py [NOM DE LA STATION]
"""
sys.exit(1)
#connection en ssh a omni
from paramiko import SSHClient
from scp import SCPClient
server='mon serveur'
port=22
user='toto'
password='titi'
def createSSHClient(server, port, user, password):
client = paramiko.SSHClient()
client.load_system_host_keys()
client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
client.connect(server, port, user, password)
return client
ssh = createSSHClient(server, port, user, password)
#copie du fichier oif d'omni au serveur nagios
scp = SCPClient(ssh.get_transport())
scp.get('/home/omni/%s/%s.oif' % (fichier, fichier))
ssh.close()
quelqu'un a-t-il une solution ?
merci d'avance
A voir également:
- Problème plugin python avec module paramiko et scp sur Nagios
- Citizen code python avis - Accueil - Outils
- Igfxtray module ✓ - Forum Virus
- Pas de module ci - Forum TV & Vidéo
- Manque cam module - Forum TNT / Satellite / Réception
- Persistence module - Forum logiciel systeme
1 réponse
Le truc qui serait pas mal c'est de comprendre à quel endroit le script plante. On peut imaginer que pour ça tu fasses un gros "try ... except Exception e:" qui englobe ton programme et écrive l'éventuelle exception rattrapée dans un fichier quelconque (mettons /tmp/toto).
En outre les import peuvent lever une exception ImportError, peut-être que nagios n'instancie pas ton script comme tu le crois et du coup tout plante. De plus, si nagios lance ton programme sans argument, ton script plantera. Ici aussi, cette exception devrait être logguée dans un fichier quelconque pour s'assurer qu'elle n'a pas lieu...
Bonne chance
En outre les import peuvent lever une exception ImportError, peut-être que nagios n'instancie pas ton script comme tu le crois et du coup tout plante. De plus, si nagios lance ton programme sans argument, ton script plantera. Ici aussi, cette exception devrait être logguée dans un fichier quelconque pour s'assurer qu'elle n'a pas lieu...
Bonne chance