Algunes vegades ens pot aparèixer un error en PNP4Nagios del tipus “No DS called ...”, veurem com solucionar-ho, perquè passa i com evitar-ho.
Comencem explicant una mica el funcionament l'emmagatzematge de dades de PNP4Nagios:
- PNP4Nagios utilitza RRD per a emmagatzemar dades.
- Disposem d'un directori on es tenim un subdirectori per cadascun dels “hosts” configurats en Nagios: /usr/local/pnp4nagios/var/perfdata/HOST
- Dins d'aquest directori disposem de dos fitxers per servei:
o XML que emmagatzema l'estructura de la base de dades.
o RRD és la base de dades.
Algunes característiques a tenir en compte:
- RRD modifica el XML en funció de les dades rebudes durant el “check”.
- Per defecte només pot haver-hi un RRD per servei.
Com afecta aquest funcionament?
El problema es genera quan un servidor “X” té un servei “I” i modifiquem el plugin per a “I”. Un nou plugin per al servei pot comportar un format diferent de sortida de dades a gravar en la base de dades.
El que passa en aquests casos és que es genera un nou XML, però el RRD continua tenint l'estructura de l'antic XML.
Si es dóna aquest cas, un XML amb una definició diferent al RRD és quan ens apareix l'error “No DS called ...”.
Aquest funcionament es pot solucionar de dues formes:
- Podem eliminar el XML i RDD. D'aquesta manera en el següent check es creessin tots dos fitxers correctament.
- Existeix un paràmetre en la configuració de PNP4Nagios crida: RRD_STORAGE_TYPE, amb dos possibles valors, SINGLE i MULTIPLE.
o Si ho tenim en SINGLE (ve així per defecte), el funcionament és l'explicat anteriorment.
o Amb opció MULTIPLE, en canviar el XML es crea un nou RRD, deixant l'antic. Això provoca que l'espai requerit sigui major alhora que els IO del disc augmenten. L'opció MULTIPLE no s'aplica quan ja tenim l'error, només funcionés si quan hi ha el canvi de format ja està actiu el valor.
Recomanem valorar aquesta opció abans d'arrencar un sistema, més espai més recursos ens permetran més flexibilitat si l'entorn és canviant. Menys espai i menys recursos ens permeten menys flexibilitat.