Vés al contingut (premeu Retorn)

Sou a: Inici / Monitoratge d'infraestructures / Documentació / Manuals / Instal·lació, ús i configuració de les Plantilles

Instal·lació, ús i configuració de les Plantilles

Què són les plantilles?

Les plantilles són un conjunt de configuracions inicials generades per facilitar la creació de servidors i alarmes als usuaris de MonitUPC. Cada usuari escollirà la que s’ajusti més a les seves necessitats.

Tipus de plantilles

Plantilla de Servidor

Quan es crea un servidor, se li dona un nom, una IP i una plantilla. Hi ha diverses plantilles creades, l'usuari haurà d'escollir la que més s'ajusti a les seves necessitats.

                    índice.png

                                            

Tenim tres tipus de maneres possibles de fer checks als servidors: amb client Nagios (NRPE / NSCLIENT++) o SNMP.


Si l'usuari farà checks fent servir el client Nagios, disposa de les plantilles de servidor ALL-Linux, ALL-Windows, ALL-Linux-MySQL i ALL-Windows-MySQL.

SI els checks els farà amb SNMP, disposa de les plantilles de servidor ALL-Linux_SNMP, ALL-Windows_SNMP, ALL-Linux_MySQL_SNMP i ALL-Windows_MySQL_SNMP.

Si només es necessita monitoritzar el PING,es te la plantilla ALL-Ping_Only.


Descripció de les plantilles de Servidor:


ALL-Linux

Aquesta plantilla determina que les alarmes associades a la màquina utilitzaran el protocol NRPE i tenen un sistema operatiu Linux.

Nota: Valors per defecte: Comprovació 24x7 amb un interval de 5 minuts amb 3 reintents com a màxim cada 1 minut en cas de fallada. 
Serveis associats al Host per defecte:
Ping, CPULoad, DiskUsage i Swap.



ALL-Windows

Aquesta plantilla determina que les alarmes associades a la màquina utilitzaran el protocol Nagios (nrpe / check_nt)  i tenen un sistema operatiu Windows.

Nota: Valors per defecte: Comprovació 24x7 amb un interval de 5 minuts amb 3 reintents com a màxim cada 1 minut en cas de fallada. Serveis associats al Host per defecte: Ping, CPULoad, DiskUsage i Virtual MemUse.

 

                      ALL-Linux-MySQL

Aquesta plantilla determina que les alarmes associades a la màquina utilitzaran el protocol NRPE i tenen un sistema operatiu Linux i un servidor de Bases de Dades MySQL.

Nota: Valors per defecte: Comprovació 24x7 amb un interval de 5 minuts amb 3 reintents com a màxim cada 1 minut en cas de fallada. 
Serveis associats al Host per defecte:
Ping, CPULoad, DiskUsage, Swap, Connection_Time, Long_Queries, OpenFiles, DBSize, Slow_Queries i Threads_connected.



ALL-Windows-MySQL

Aquesta plantilla determina que les alarmes associades a la màquina utilitzaran el protocol Nagios (nrpe / check_nt)  i tenen un sistema operatiu Windows.

Nota: Valors per defecte: Comprovació 24x7 amb un interval de 5 minuts amb 3 reintents com a màxim cada 1 minut en cas de fallada. Serveis associats al Host per defecte: Ping, CPULoad, DiskUsage, Virtual MemUse, Connection_Time, Long_Queries, OpenFiles, DBSize, Slow_Queries i Threads_connected.

 

ALL-Linux_SNMP

Aquesta plantilla determina que les alarmes associades a la màquina utilitzaran el protocol SNMP i tenen un sistema operatiu Linux.

Nota: Valors per defecte: Comprovació 24x7 amb un interval de 5 minuts amb 3 reintents com a màxim cada 1 minut en cas de fallada. Serveis associats al Host per defecte: Ping, CPULoad, DiskUsage i Swap.


ALL-Windows_SNMP

Aquesta plantilla determina que les alarmes associades a la màquina utilitzaran el protocol SNMP i tenen un sistema operatiu Windows.

Nota: Valors per defecte: Comprovació 24x7 amb un interval de 5 minuts amb 3 reintents com a màxim cada 1 minut en cas de fallada. Serveis associats al Host per defecte: Ping, CPULoad, DiskUsage i Virtual MemUse.

 

ALL-Linux_MySQL_SNMP

Aquesta plantilla determina que les alarmes associades a la màquina utilitzaran el protocol SNMP i tenen un sistema operatiu Linux.

Nota: Valors per defecte: Comprovació 24x7 amb un interval de 5 minuts amb 3 reintents com a màxim cada 1 minut en cas de fallada. Serveis associats al Host per defecte: Ping, CPULoad, DiskUsage, Swap, Connection_Time, Long_Queries, OpenFiles, DBSize, Slow_Queries i Threads_connected.


ALL-Windows_MySQL_SNMP

Aquesta plantilla determina que les alarmes associades a la màquina utilitzaran el protocol SNMP i tenen un sistema operatiu Windows.

Nota: Valors per defecte: Comprovació 24x7 amb un interval de 5 minuts amb 3 reintents com a màxim cada 1 minut en cas de fallada. Serveis associats al Host per defecte: Ping, CPULoad, DiskUsage, Virtual MemUse, Connection_Time, Long_Queries, OpenFiles, DBSize, Slow_Queries i Threads_connected.

 

ALL-Ping_Only

Aquesta plantilla té un únic servei definit, PING, per màquines on només es vol monitoritzar aquest servei.

Nota: Valors per defecte: Comprovació 24x7 amb un interval de 5 minuts amb 3 reintents com a màxim cada 1 minut en cas de fallada. 
Serveis associats al Host per defecte:
Ping


Plantilla de Servei


Un cop creat el servidor amb alguna de les plantilles anteriors, és possible que l'usuari vulgui afegir algun servei addicional a la monitorització diferent dels serveis bàsics.

Editant el servidor podrà afegir un servei. Caldrà posar un nom al servei (que sigui entenedor, per saber que es monitoritza), i escollir una plantilla de servei de les que hi ha predefinides.


                                             image12.jpg

 

Plantilles de servei definides:

Plantilles per client Nagios

Plantilla

Descripció

Paràmetres

ALL-Linux_CPULoad-SSL Consulta l’estat de la càrrega de la CPU via check_nrpe amb connectivitat SSL WARNING, CRITICAL
ALL-Linux_DiskUsage-SSL

Consulta l’estat de l'ús del disc via check_nrpe amb connectivitat SSL

WARNING, CRITICAL
ALL-Linux_Procs Consulta l’estat d’un servei de la màquina via check_nrpe ARGUMENTS

ALL-Linux_Swap-SSL

Consulta l’estat de la menòria Swap de la màquina vía check_nrpe amb connectivitat SSL

WARNING, CRITICAL

ALL-Windows_CPULoad

Consulta l’estat de la càrrega de la CPU via check_nt WARNING, CRITICAL, EXTRAOPTIONS

ALL-Windows_DiskUsage_[All]

Consulta l’estat de l'ús de tots els discs via check_nt

WARNING, CRITICAL,EXCLOUUNITATS

ALL-Windows_Unit_DiskUsage

Consulta l’estat de l'ús del disc UNIT via check_nt

UNIT, WARNING, CRITICAL, EXTRAOPTIONS

ALL-Windows_Service_Status

Consulta l’estat d’un servei de la màquina via check_nt

SERVEI

ALL-Windows_VirtMemUse

 

Consulta l'estat de la memòria virtual via check_nt

WARNING, CRITICAL, EXTRAOPTIONS

 

Plantilles per Client SNMP

Plantilla

Descripció

Paràmetres

SNMP CPU Load

Consulta l’estat de la càrrega de la CPU via SNMP.

WARNING, CRITICAL, EXTRAOPTIONS

SNMP Disk Saturation

Consulta l’estat de la saturació del disc via SNMP.

DISKNAME,    WARNINGREAD,    CRITICALREAD, WARNINGWRITE, CRITICALWRITE, EXTRAOPTIONS

SNMP DiskUsage

Consulta l’emmagatzematge del disc via SNMP.

WARNING, CRITICAL, EXTRAOPTIONS

SNMP Service

Consulta l’estat d’un servei de la màquina vía SNMP.

PROCESSNAME,    PROCESSPATH,    PROCESSARGS, WARNING, CRITICAL, EXTRAOPTIONS

SNMP Swap

Consulta l’estat de la memòria swap de la màquina vía SNMP.

WARNING, CRITICAL, EXTRAOPTIONS


Plantilles per consultar BD Mysql


Si el host s'ha creat amb una de les plantilles per servidors MySQL (ALL-Linux_MySQL, ALL-Windows_MySQL, ALL-Linux_MySQL_SNMP, ALL-Windows_MySQL_SNMP), les dades de Usuari/contrassenya/port del servidor Mysql estaran amb les dades del Host, i les plantilles de servei que s'usaran son:


Plantilla Descripció Paràmetres

ALL-HOST_MySQL_ConnectionTime

 

Consulta el temps que es triga a connectar amb el servidor MySQL.

 

WARNING, CRITICAL, EXTRAOPTIONS

 


ALL-HOST_MySQL_LongQueries

 

Consulta la mitja del número de queries llargues que s'estan executant al servidor MySQL.

 

WARNING, CRITICAL, FILTERUSER, SECONDS, FILTERCOMMAND, EXTRAOPTIONS

 

ALL-HOST_MySQL_OpenFiles

 

Consulta el tant per cent de fitxers oberts del servidor MySQL

 

WARNING, CRITICAL, EXTRAOPTIONS

 

ALL-HOST_MySQL_Size

Consulta el tamany de les base de dades MySQL.

WARNING, CRITICAL, EXCLUDEREGEXP, EXTRAOPTIONS

ALL-HOST_MySQL_Slow_Queries Consulta la mitja del número de queries lentes que s'estan executant al servidor MySQL

WARNING, CRITICAL, FILTERUSER, SECONDS, FILTERCOMMAND, EXTRAOPTIONS

ALL-HOST_MySQL-Threads_Connected

Consulta el nombre de clents connectats contra el servidor MySQL

WARNING, CRITICAL, EXTRAOPTIONS

ALL-HOST_MySQL_SQLStatement

Consulta l’estat d’un valor retornat a partir d’una query que es passa amb l’argument SQLSTATEMENT a la base de dades MySQL.

SQLSTATEMENT, WARNING, CRITICAL, EXTRAOPTIONS


Si el host NO s'ha creat amb una de les plantilles per servidors MySQL (ALL-Linux_MySQL, ALL-Windows_MySQL, ALL-Linux_MySQL_SNMP, ALL-Windows_MySQL_SNMP), les dades de Usuari/contrassenya/port del servidor Mysql NO estaran amb les dades del Host, i s'hauran d'emplenar a cada servei, les plantilles de servei que s'usaran son:


Plantilla Descripció Paràmetres

ALL-MySQL_ConnectionTime

 

Consulta el temps que es triga a connectar amb el servidor MySQL.

 

MYSQLUSERNAME, MYSQLPASSWORD, MYSQLPORT, WARNING, CRITICAL, EXTRAOPTIONS

 


ALL-MySQL_LongQueries

 

Consulta la mitja del número de queries llargues que s'estan executant al servidor MySQL.

 

MYSQLUSERNAME, MYSQLPASSWORD, MYSQLPORT, WARNING, CRITICAL, FILTERUSER, SECONDS, FILTERCOMMAND, EXTRAOPTIONS

 

ALL-MySQL_OpenFiles

 

Consulta el tant per cent de fitxers oberts del servidor MySQL

 

MYSQLUSERNAME, MYSQLPASSWORD, MYSQLPORT, WARNING, CRITICAL, EXTRAOPTIONS

 

ALL-MySQL_Size

Consulta el tamany de les base de dades MySQL.

MYSQLUSERNAME, MYSQLPASSWORD, MYSQLPORT, WARNING, CRITICAL, EXCLUDEREGEXP, EXTRAOPTIONS

ALL-MySQL_Slow_Queries Consulta la mitja del número de queries lentes que s'estan executant al servidor MySQL

MYSQLUSERNAME, MYSQLPASSWORD, MYSQLPORT, WARNING, CRITICAL, FILTERUSER, SECONDS, FILTERCOMMAND, EXTRAOPTIONS

ALL-MySQL-Threads_Connected

Consulta el nombre de clents connectats contra el servidor MySQL

MYSQLUSERNAME, MYSQLPASSWORD, MYSQLPORT, WARNING, CRITICAL, EXTRAOPTIONS

ALL-MySQL_SQLStatement

Consulta l’estat d’un valor retornat a partir d’una query que es passa amb l’argument SQLSTATEMENT a la base de dades MySQL.

MYSQLUSERNAME, MYSQLPASSWORD, MYSQLPORT, SQLSTATEMENT, WARNING, CRITICAL, EXTRAOPTIONS


Configuració MySQL

Per utilitzar la monitorització de mètriques d’una base de dades MySQL haurem de configurar prèviament l’accés que permetrà al servidor consultar les dades de la nostre BD. A continuació es detalla el procés:

Primer accedim a la màquina on tenim la base de dades i entrem a mysql per comanda amb un usuari amb privilegis, en el nostre cas es root.

       $ mysql -u root -p

Nota: -u per indicar l’usuari, -p per indicar que volem entrar la contrasenya de l'usuari


Entrem la contrasenya i ens trobarem en la terminal de comandes de la base de dades, ara haurem de crear el nou usuari el qual utilitzarem per monitoritzar les dades desde el servidor.


     create user 'NOM USUARI' identified by 'CONTRASENYA USUARI';


Es possible que si teniu una política de contrasenyes us doni el següent error al intentar crear l’usuari:


     ERROR 1819 (HY000) : Your password does not satisfy the current policy requirements


Si es dona el cas, podeu visualitzar la política amb la següent query.


     SHOW VARIABLES LIKE 'validate password%';

Suposant que hem aconseguit crear l’usuari ara hem de afegir-lo al nostre host de MonitUPC (si encara no heu creat el host podeu fer-ho seguint el punt
6 del document "Manual de l'usuari"). Per afegir-lo ens situem al host desitjat de la pestanya Configuració i editem amb el botó Editar. En aquesta finestra, dins de Editar Host hi ha un apartat anomenat Macros: on es poden definir paràmetres addicionals pel host. Hem d’afegir 2 macros de host, MYSQLUSERNAME i MYSQLPASSWORD, de tal forma que ens quedarà com a la següent imatge.

          image20.png

Ara ja podem utilitzar les plantilles de servei de MySQL.


Plantilles per client SSH

 

Plantilla

Descripció

Paràmetres

SSH Generic

Consulta l’estat d’una mètrica de la màquina executant un script local per SSH.

CHECKSCRIPT, WARNING, CRITICAL

SSH Generic amb Recover

Consulta l’estat d’una mètrica de la màquina executant un script local per SSH. En cas de fallada, executa un altre script local per intentar recuperarla.

CHECKSCRIPT, WARNING,    CRITICAL,    RECOVERSCRIPT

SSH Servei

Consulta l’estat d’un servei de la màquina executant un script local per SSH.

CHECKSCRIPT, CHECKSERVICE

SSH Servei amb Recover

Consulta l’estat d’un servei de la màquina executant un script local per SSH. En cas de fallada, executa un altre script local per intentar recuperar lo.

CHECKSCRIPT, CHECKSERVICE,    RECOVERSCRIPT

Paràmetres que apareixen a les plantilles de servei


Les plantilles de servei disposen de diferents paràmetres (MACROS) que cal omplir segons la plantilla escollida, a continuació es mostra una taula on es detallen aquests paràmetres.

 

Paràmetres Descripció
ARGUMENTS Noms dels serveis que es volen monitoritzar
CHECKSCRIPT Paràmetre per les plantilles que utilitzen SSH. Conté el path (a la màquina monitoritzada) cap a l’script que es vulgui executar. Exemple: /usr/lib/nagios/plugins/script.sh
CHECKSERVICE Paràmetre per les plantilles que utilitzen SSH. Conté el nom del servei que es monitoritzarà. Exemple: nginx
CRITICAL Valor amb el que es monitoritzarà l’estat del servei o mesura. L’estat serà CRITICAL si la mesura es igual o més gran que el valor de CRITICAL establert (per les plantilles de servei SNMP aquest ha de ser “1:” per tal de que salti si no hi ha cap executant-se).
CRITICALREAD El mateix que CRITICAL però pel valor de lectura de Disk.
CRITICALWRITE El mateix que CRITICAL però pel valor de escriptura de Disk.
DISKNAME Identificador del disk a monitoritzar.
EXCLOUUNITATS Paràmetre per excloure unitats del check de disk usage
EXCLUDEREGEXP Paràmetre per filtrar la base de dades pels checks.
EXTRAOPTIONS Paràmetre opcional que permet llegir opcions addicionals donat un arxiu de configuració.
FILTERCOMMAND Paràmetre que permet filtrar per command (pot ser un regexp. Per defecte es: “^(?!(sleep)$)”) ).
FILTERUSER Paràmetre que permet filtrar per usuari (pot ser un regexp).
PROCESSARGS Paràmetre que permet passar arguments del procés a mirar.
PROCESSNAME El mateix que CHECKSERVICE pero per SNMP.
PROCESSPATH Paràmetre per indicar el path del procés a mirar.
RECOVERSCRIPT Paràmetre per les plantilles que utilitzen SSH. Conté el path (a la màquina monitoritzada) cap a l’script de recuperació que es vulgui executar en cas de que hi hagi una fallada.
Exemple: /usr/lib/nagios/plugins/recover_script.sh
SECONDS Paràmetre per indicar a partir de quants segons una query es considera Long-Query.
SERVEI nom del servei del que es vol monitoritzar l'estat
SQLSTATEMENT Paràmetre per indicar la query SQL que s’utilitzarà al check.
UNIT Unitat de disk (C, D ...) per windows
WARNING Valor amb el que es monitoritzarà l’estat del servei o mesura. L’estat serà WARNING si la mesura es igual o més gran que el valor de WARNING establert i si és més petit que el CRITICAL.
WARNINGREAD El mateix que WARNING però pel valor de lectura de Disk.
WARNINGWRITE El mateix que WARNING però pel valor de escriptura de Disk.


Configuració scripts locals executats per SSH (Només Linux)


Per aquest tipus de configuració necessitarem fer un intercanvi de claus per a que el servidor pugui entrar a consultar les dades a la màquina client, abans de fer aquest pas serà necessari instal·lar els scripts en cas de no disposarlos ja i una petita configuració prèvia de la màquina. Aquesta s’explica a continuació.

Requeriments monitorització per SSH

Nagios-Plugins

Per a que es pugui monitoritzar via SSH es necessari disposar dels scripts de comprovació d’estat que proporciona Nagios, per tal de que sigui el que utilitzi SSH com a font d’informació.

Per instal·lar els plugins fem el següent:

CentOs 6 i CentOs 7

     $ yum install epel-release
     $ yum install nagios-plugins


RHEL

     $ yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
     $ yum install nagios-plugins


Ubuntu

     $ useradd nagios
     $ groupadd nagcmd
     $ usermod -a -G nagcmd nagios
     $ usermod -a -G nagios, nagcmd, www-data
     -- CD a Directori desitjat per guardar els plugins --
     $ wget https://nagios-plugins.org/download/nagios-plugins-2.1.2.tar.gz
     $ tar -xzf nagios-plugins*.tar.gz
     $ cd nagios-plugins-2.1.2/
     $ ./configure --with-nagios-user-nagios --with-nagios-group-nagios --with-openssl
     $ make
     $ make install
     -- En cas de no existir /usr/lib64/nagios es crea amb mkdir --
     $ cp -p ./plugins /usr/lib64/nagios


Configuració

A la màquina que serà monitoritzada creem un nou usuari (upcnet_monitor) fent:

     $ useradd -m -d /home/upcnet_monitor -s /bin/bash upcnet_monitor
     $ passwd upcnet_monitor
     -- Entreu la password que vulgueu --

 

 

Ara desde el servidor hauran de copiar la seva clau pública de SSH al vostre ordinador mitjançant ssh-copy-id amb les credencials del usuari creat anteriorment, per això es necessari Obrir un tiquet sol·licitant la comunicació amb el servidor per SSH i donar les següents dades:

- IP de la màquina

- Usuari per monitoritzar (hauria de ser upcnet_monitor)

- Contrasenya de l'usuari per monitoritzar

Fet això, la configuració per a la monitorització sense resposta automàtica via SSH ja estarà llesta.

Per tal de tenir disponible també l’opció d'autorecuperar un servei en cas de fallada d’aquest, s’ha de configurar el següent:

Amb usuari root obrim l’arxiu /etc/sudoers.

     $ visudo

 

I afegim:

     upcnet_monitor ALL: (ALL) NOPASSWD: /usr/lib64/nagios/custom_scripts/recover_service.sh

 

L’script  recover_service.sh serà el que s’executarà per intentar recuperar el servei i cada usuari s’ha de fer el seu propi per tal de que faci les operacions que es desitgi. En aquest cas de l’exemple, recover_service.sh conté el següent:


 

Nota: S’ha de tenir en compte que la sortida l’ha de entendre Centreon per tal de que la vista de monitorització sigui la correcta. Aquesta ha de ser “OK - text” amb exit = 0 en cas de correcte, “WARNING - text” amb exit = 1 en cas de warning, “CRITICAL - text” amb exit = 2 en cas de critical i “UNKNOWN - text” amb exit = 3 en cas d’UNKNOWN.

Nota:  Es  important  que els plugins  de Nagios estiguin  a /usr/lib/nagios/plugins ja que sinó no es podràn executar els scripts corresponents. En el cas dels scripts personals com els de recuperació de servei es poden tenir a una carpeta a part com al exemple, on recover_script.sh esta a /usr/lib/nagios/custom_scripts/recover_service.sh

 

 

Plantilles de servei amb resposta automàtica

Actualment, l’únic protocol que accepta la resposta automàtica és l’SSH. Això pot portar a confusions ja que naturalment aquest protocol es només utilitzat per establir una connexió entre dues màquines. La part on es monitoritza mitjançant SSH es deguda a un script anomenat check_by_ssh, el qual donats els paràmetres requerits com el path dels scripts de monitorització a la màquina client, els executa remotament i, en el cas de que es doni aquest canvi d’estat OK->CRITICAL executa un altre script de recuperació del qual també s’ha passat el path com a paràmetre.
                         image17.jpg

              Fig. 1: PATHS1: path al script consultor; SNAME: nom del servei a consultar; PATHSR: path al script de recover

Exemple:


Suposem que tenim una màquina A i volem afegir monitorització amb resposta automàtica sobre el servei nginx. En aquesta màquina disposem de dos scripts, un de consulta i un de recuperació. Per exemple:

     $ ls /home/user/scripts
     check_service.sh check_service_recover.sh

                 
D’aquesta forma al afegir el servei ALL-Linux_SSH_Service_Recover omplirem els paràmetres així:

                       índice.png

Aquest tipus de plantilles es diferencia de la resta per tenir la paraula “Recover” al final del nom.