PDA

View Full Version : Liste "Commande de check" incomplète.


shutdown76
7th February 2008, 13:30
Bonjour, ma liste des commandes dans centreon n'est pas complete, voici ce quelle contient:

check_centreon_dummy
check_centreon_load_average
check_centreon_nt
check_centreon_ping
check_centreon_process
check_centreon_process_exists
check_centreon_remote_storage
check_centreon_traffic
check_centreon_traffic_limited
check_dhcp
check_dig
check_disk_smb
check_distant_disk_space
check_dns
check_ftp
check_host_alive
check_hpjd
check_http
check_https
check_local_disk
check_local_load
check_local_procs
check_local_swap
check_local_users
check_nntp
check_nt_cpu
check_nt_disk
check_nt_memuse
check_nt_service_state
check_pop
check_smtp
check_snmp
check_tcp
check_telnet
check_udp


Alors que dans /usr/lib/nagios/plugins/ j'ai:

check_apt
check_breeze
check_by_ssh
check_centreon_dummy
check_centreon_MS_multiple_services
check_centreon_nt
check_centreon_ping
check_centreon_snmp_cpu
check_centreon_snmp_loadaverage
check_centreon_snmp_multiple_process
check_centreon_snmp_packetErrors
check_centreon_snmp_process
check_centreon_snmp_process_detailed
check_centreon_snmp_remote_storage
check_centreon_snmp_TcpConn
check_centreon_snmp_traffic
check_centreon_snmp_uptime
check_centreon_snmp_value
check_clamd
check_cluster
check_cpq
check_dhcp
check_dig
check_disk
check_disk_smb
check_dns
check_dummy
check_file_age
check_flexlm
check_fping
check_ftp
check_game
check_hparray
check_hpjd
check_http
check_icmp
check_ide_smart
check_ifoperstatus
check_ifstatus
check_imap
check_ircd
check_jabber
check_ldap
check_load
check_log
check_mailq
check_meta_service
check_mrtg
check_mrtgtraf
check_mysql
check_mysql_query
check_nagios
check_nntp
check_nntps
check_nt
check_ntp
check_ntp_peer
check_ntp_time
check_nwstat
check_oracle
check_overcr
check_pgsql
check_ping
check_pop
check_procs
check_real
check_rpc
check_sensors
check_simap
check_smtp
check_snmp
check_snmp_boostedge.pl
check_snmp_cpfw.pl
check_snmp_cpqHealth.pl
check_snmp_css_main.pl
check_snmp_css.pl
check_snmp_env.pl
check_snmp_int.pl
check_snmp_linkproof_nhr.pl
check_snmp_load.pl
check_snmp_mem.pl
check_snmp_nsbox.pl
check_snmp_process.pl
check_snmp_processus_loaded.pl
check_snmp_script_result.pl
check_snmp_storage.pl
check_snmp_vrrp.pl
check_snmp_win.pl
check_spop
check_ssh
check_ssmtp
check_swap
check_tcp
check_time
check_udp
check_ups
check_users
check_wave

Dans les Options Générales de centreon, le répertoire sondes indique bien /usr/lib/nagios/plugins/, je ne pense pas que sa puissent venir des droits car ils ont presque tous les même... J'ai penser que les script perl (avec extension .pl) n'etait pas suporter mais même en les renomant ca ne change pas.
Je n'ai plus d'idée. y a t'il un moyen de "synchroniser" cette liste?

Merci.

-Archi-
8th February 2008, 12:57
Attention la liste des commandes n'a rien à voir avec le contenu du répertoire de plugins. Une commande est un appel à un script avec des paramètres précis, dépendant de la configuration de tes services. Tu dois ajouter une nouvelle commande (sur le modèle de celles existantes) via le menu de configuration pour que tes propres commandes soient prises en compte. A ce moment-là seulement elles seront utilisables.

shutdown76
11th February 2008, 17:01
Ah ok, j'avais pas vu cette onglet merci.

chri2be
5th November 2009, 11:32
Bonjour,
j'ai un script sous python qui récupère les puissances consommées par un serveur , alors je voulais intégrer ce script dans une ligne de check_command de Centreon pour affiches des graphes .

vous avez une idée de comment on peut faire
merci.

voici un exemple de mon script:

from xml.dom.minidom import parseString, getDOMImplementation, Document

import re
import os
import sys
import socket,ssl, pprint
import string

"""
INFO: Classe iLO Checker
Utilise l'interface WEB des modules d'administration de HP
Pour interroger et recupperer des informations sur l'état général
"""
class iLOChecker():
def __init__(self, Address):
""" Definition de l'objet"""
self.POWERREADING = "GET_POWER_READINGS"
self.POWERSTATUS = "GET_HOST_POWER_STATUS"
self.HEALTH = "GET_EMBBEDED_HEALTH"
self.AUTOPOWER = "GET_SERVER_AUTO_PWR"
self.HOSTDATA = "GET_HOST_DATA"

self._connected = False

self.Username = None
self.Password = None
self.Value = None
self.Mode = "read"
self.Address =Address
self.Port = 443

self.Socket = ssl.wrap_socket(socket.socket(socket.AF_INET, socket.SOCK_STREAM))

def connect(self):
if not(self._connected):
self.Socket.connect((self.Address, self.Port))
else:
"""RaiseError"""

def sendRequest(self):
"""
Type de requete :
- CPU
- Health
- Status
- Temperature
"""
self.Socket.write(self.constAuth())

def getRespond(self):
""" Reponse"""
dRead = self.Socket.read()
final = None
while dRead:
if dRead:
if not(final):
final = dRead
else:
final = final + dRead
dRead = self.Socket.read()
return final

def getData(self, badxml, value_info):
ret = None
p = re.compile("(<|<\/)" + value_info +"(>)")
a = 0
sp = badxml.split("\n")
for line in sp:
if a==0:
if p.match(line):
a=a+1
if not(ret):
ret = line
else:
ret = ret + line
else:
if a != 0:
a = a+1
ret = ret + "\n" + line

if a > 2 and p.match(line):
break

return ret

def constAuth(self):
docget = Document()
ribcl = docget.createElement("RIBCL")
ribcl.setAttribute("VERSION", "2.22")
docget.appendChild(ribcl)
login = docget.createElement("LOGIN")
login.setAttribute("USER_LOGIN", self.Username)
ribcl.appendChild(login)
login.setAttribute("PASSWORD", self.Password)
srv_info = docget.createElement("SERVER_INFO")
srv_info.setAttribute("MODE", self.Mode)
login.appendChild(srv_info)
info = docget.createElement(self.Value)
srv_info.appendChild(info)
return docget.toprettyxml() + "\r\n\r\n"

if __name__ == "__main__":
ch = iLOChecker("ipAdd_Host")
ch.Username = "username"
ch.Password = "****"
ch.Value = ch.POWERREADING
ch.connect()
ch.sendRequest()
data = ch.getRespond()
xml = ch.getData(data, ch.POWERREADING)
print xml