Pas 1: afegiu el dipòsit de Sensu
Pas 2: instal·leu els connectors necessaris
Pas 3: afegiu fitxers de configuració
Pas 4: doneu permisos a l'usuari sensu
A la guia " Com instal·lar i configurar el monitoratge Sensu a CentOS 7 ", heu après a configurar un servidor Sensu. Aquest tutorial és la segona part, on aprendràs a afegir un client Sensu. Un client Sensu és un servidor que Sensu supervisa.
Suposo que el client Sensu és una màquina virtual CentOS 7. Inicieu sessió a SSH i seguiu els passos següents. No haureu d'alterar res al servidor Sensu. Mentre el client Sensu s'autentiqui amb èxit amb el servidor Sensu, les comprovacions s'executaran automàticament.
Abans de començar, assegureu-vos que el vostre tallafoc està configurat correctament. Amb una configuració predeterminada, obriu els ports TCP de sortida 5671i 5672.
Pas 1: afegiu el repositori Sensu
El paquet sensu-clientno es troba als dipòsits predeterminats de CentOS. Afegiu el repositori enganxant el contingut següent al fitxer /etc/yum.repos.d/sensu.repo:
[sensu]
name=sensu
baseurl=https://sensu.global.ssl.fastly.net/yum/$releasever/$basearch/
gpgcheck=0
enabled=1
A continuació, actualitzeu yumi instal·leu sensu-client:
yum update
yum install sensu
Tots els serveis ( sensu-server, sensu-clienti sensu-api) s'instal·laran instal·lant el sensupaquet. Podeu ignorar tots els serveis, excepte el sensu-clientque farem servir. No inicieu el servei encara.
Pas 2: instal·leu els connectors necessaris
El model de Sensu és distribuir la càrrega sobre els clients que resulta de l'execució de comprovacions i l'impuls dels resultats de la comprovació. Com a resultat, cal instal·lar els connectors de Sensu als propis clients en comptes de fer-ho al servidor Sensu. Alguns connectors es compilen localment, el que significa que necessitarem eines de creació als clients:
yum groupinstall "Development tools"
Els connectors següents són molt populars i s'utilitzen per a moltes comprovacions. Executeu cadascuna d'aquestes ordres per instal·lar els connectors un cop instal·lats els paquets d'eines de desenvolupament. Depenent de la mida del vostre servidor, això pot trigar una estona:
sensu-install -p uptime-checks
sensu-install -p process-checks
sensu-install -p http
sensu-install -p filesystem-checks
sensu-install -p cpu-checks
sensu-install -p memory-checks
sensu-install -p disk-checks
sensu-install -p load-checks
sensu-install -p network-checks
Pas 3: afegiu fitxers de configuració
Afegirem quatre fitxers de configuració al client Sensu.
/etc/sensu/conf.d/client.json:
Aquest fitxer conté les subscripcions, l'adreça IP del client Sensu i el nom del client. Substituïu els valors ipaddressi hostnameper valors que descriguin el client que esteu afegint. A més, especifiqueu les subscripcions definides al servidor Sensu o, si no en teniu cap, elimineu tota la subscriptionssecció. No oblideu eliminar la coma després namesi ho feu:
{
"client": {
"address": "-----ipaddress-----",
"environment": "production",
"name": "-----hostname-----",
"subscriptions": [
"linux"
]
}
}
/etc/sensu/conf.d/transport.json:
En aquest fitxer, definim el transport utilitzat. Per defecte, el transport utilitzat és RabbitMQ. Enganxeu el contingut següent al fitxer. No cal canviar cap valor:
{
"transport": {
"name": "rabbitmq",
"reconnect_on_error": true
}
}
/etc/sensu/conf.d/rabbitmq.json:
El servidor RabbitMQ i les credencials s'especifiquen en aquest fitxer. Substituïu hostname-lo pel nom DNS. Per defecte, el port és 5672per a connexions sense xifrar. L'usuari i la contrasenya de RabbitMQ també s'han de substituir. Aquests detalls poden ser diferents per a cada client de Sensu o ser els mateixos per a tots els clients. Aquesta és una decisió pràctica que pren l'usuari.
El vhostés /per defecte, però sovint es canvia a /sensu. Si no esteu segur de quin utilitzar, proveu tots dos:
{
"rabbitmq": {
"host": "-----hostname-----",
"password": "-----rabbitmq_password-----",
"port": 5672,
"user": "-----username-----",
"vhost": "/sensu"
}
}
/etc/sensu/conf.d/checks.json:
Sensu admet dos tipus de comprovacions: comprovacions autònomes i comprovacions de subscripció. Les comprovacions de subscripcions es defineixen al servidor Sensu i les subscripcions es defineixen al client.jsonfitxer d'un client Sensu. Les comprovacions autònomes són comprovacions que es defineixen als mateixos clients de Sensu. Normalment són comprovacions que només s'apliquen a un servidor específic. Per exemple, una comprovació que hi hauria en una subscripció és una comprovació per veure si el servidor web encara s'està executant. Una comprovació autònoma podria ser una comprovació per veure si el servidor A pot arribar al servidor B. Cap altre servidor necessita aquesta comprovació.
Les comprovacions autònomes es defineixen en aquest fitxer. A continuació trobareu un exemple d'un checks.jsonfitxer amb alguns exemples de comprovacions autònomes:
{
"checks": {
"httpd": {
"command": "sudo check-process.rb -p httpd",
"handlers": [
"default",
"pushover"
],
"interval": 180,
"occurences": 3,
"refresh": "1800",
"standalone": true,
"ttl": 1200
},
"mysqld": {
"command": "sudo check-process.rb -p mysqld",
"handlers": [
"default",
"pushover"
],
"interval": 180,
"occurences": 3,
"refresh": "1800",
"standalone": true,
"ttl": 1200
}
}
}
Quan hàgiu acabat de configurar el client Sensu, canvieu els drets:
chown -R sensu:sensu /etc/sensu/conf.d
Pas 4: doneu permisos a l' sensuusuari
Les comprovacions s'executen com a usuari sensu. Naturalment, aquest usuari té drets limitats. Tanmateix, algunes comprovacions necessiten rootpermisos per executar-se. Permetrem a l'usuari sensuexecutar qualsevol comprovació, rootperò limitarem els seus altres permisos.
Enganxeu el contingut següent al fitxer /etc/sudoers.d/sensu:
Defaults:sensu
secure_path=/opt/sensu/embedded/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
sensu ALL=(ALL) NOPASSWD: /opt/sensu/embedded/bin/check*.rb *
sensu ALL=(ALL) NOPASSWD: /opt/sensu/embedded/bin/metrics*.rb *
Les dues primeres línies defineixen el camí predeterminat que us permet especificar només el nom de l'script a l'ordre de verificació en lloc de tot el camí. Per exemple, només utilitzar l'ordre sudo check-process.rb -p mysqldfuncionarà sense haver d'especificar tot el camí ( /opt/sensu/embedded/bin/check-process.rb -p mysqld).
Les altres línies permeten a l' sensuusuari executar qualsevol script de verificació com a root.
Finalment, inicieu el sensu-clientservei i inicieu-lo automàticament a l'arrencada:
systemctl start sensu-client
systemctl enable sensu-client
Si teniu Uchiwa instal·lat, el nou client hauria d'aparèixer a la llista. Si no, depureu el sensu-clientfitxer inspeccionant el fitxer de registre/var/log/sensu/sensu-client.log