GNU/Linux >> Tutoriels Linux >  >> Debian

Comment ajouter un hôte Linux distant dans l'outil de surveillance Sensu

Les clients Sensu sont des agents de surveillance installés et exécutés sur chaque serveur surveillé par l'outil Sensu. Le travail d'un client Sensu consiste à enregistrer un système auprès de Sensu , envoyer des messages Keepalive et exécuter des vérifications de surveillance .

Chaque client peut être membre d'un ou plusieurs abonnements - vous pouvez simplement dire; une liste des rôles qui leur sont attribués (Ex, serveur web, base de données, etc. ).

Lorsqu'un client s'abonne aux requêtes de vérification publiées par le serveur Sensu (via RabbitMQ - transport Sensu), il les exécute localement et publie le résultat de la vérification sur le transport Sensu, puis un serveur Sensu traitera les résultats.

Dans ce guide, nous allons configurer les machines clientes pour envoyer les résultats des contrôles de service au serveur Sensu. En supposant que vous ayez suivi nos précédents articles sur Sensu core.

LIRE  :Installer Sensu sur Ubuntu 16.04 / Debian 8

Sensu core n'est pas livré avec le tableau de bord graphique, vous devez donc installer Uchiwa - un tableau de bord open source pour l'outil de surveillance Sensu.

LIRE  :Comment installer Uchiwa – Tableau de bord Open Source pour l'outil de surveillance Sensu

Ajouter des référentiels Sensu :

En fonction de votre système d'exploitation, configurez le référentiel Sensu pour récupérer le package sur le site officiel.

### CentOS 7 / RHEL 7 ###

echo '[sensu]
name=sensu
baseurl=https://sensu.global.ssl.fastly.net/yum/7/x86_64/
gpgcheck=0
enabled=1' | sudo tee /etc/yum.repos.d/sensu.repo

### Ubuntu 16.04 / Debian 8 ###

sudo apt-get update && sudo apt-get -y install apt-transport-https
wget -q https://sensu.global.ssl.fastly.net/apt/pubkey.gpg -O- | sudo apt-key add -
echo "deb     https://sensu.global.ssl.fastly.net/apt sensu main" | sudo tee /etc/apt/sources.list.d/sensu.list
sudo apt-get update

Installez Sensu à l'aide de la commande suivante.

### CentOS 7 / RHEL 7 ### 

yum -y install sensu

### Ubuntu 16.04 / Debian 8 ###

sudo apt-get -y install sensu

Enregistrer un système :

Le répertoire de configuration par défaut de Sensu est /etc/sensu/config.d , dans certains cas, vous devrez peut-être créer ce répertoire manuellement s'il n'est pas disponible.

Les fichiers de configuration doivent être au format JSON . Créer client.json fichier.

vi /etc/sensu/conf.d/client.json

Placez le contenu suivant dans le fichier ci-dessus.

{
"client": {
  "name": "debian.itzgeek.local",
  "address": "10.128.0.4",
  "environment": "production",
  "subscriptions": [
    "web",
    "debian"
  ]
 }
}

Où,

client – ​​Nom du client, doit être un nom unique. Ma machine est Debian 8 .

adresse :  adresse IP ou nom d'hôte du client.

environnement – Un attribut personnalisé, qui ne fait pas partie des spécifications du client Sensu. Ces attributs personnalisés sont vérifiés par des filtres Sensu qui vous aident à effectuer des actions spécifiques en fonction de l'environnement (par exemple, alerter uniquement sur les événements dans l'environnement de production)

abonnements – Liste des rôles ou des responsabilités attribués au client.

Configurez le client Sensu pour qu'il se connecte au transport Sensu. Créez le fichier transport.json.

vi /etc/sensu/conf.d/transport.json

Placez le contenu suivant dans le fichier ci-dessus.

{
 "transport": {
   "name": "rabbitmq",
   "reconnect_on_error": true
  }
 }

Configurez les détails du transport Sensu en créant rabbitmq.json.

vi /etc/sensu/conf.d/rabbitmq.json

Copiez et collez le contenu ci-dessous dans le fichier ci-dessus. Remplacez les valeurs vertes en fonction de votre configuration Sensu.

{
  "rabbitmq": {
    "host": "10.128.0.3",
    "port": 5672,
    "vhost": "/sensu",
    "user": "sensu",
    "password": "password"
  }
}

Où,

hôte - IP du serveur RabbitMQ (serveur Sensu)

port – port du serveur RabbitMQ

vhost, utilisateur et mot de passe – hôte virtuel RabbitMQ, utilisateur et mot de passe que nous avons créés lors de l'installation du serveur Sensu.

Redémarrez le service client Sensu à l'aide de la commande suivante.

service sensu-client restart

Ouvrez le tableau de bord Uchiwa et voir si le nouveau client est enregistré avec succès sur le serveur Sensu.

La capture d'écran ci-dessous vous montre les détails d'un client nouvellement ajouté.

Il est maintenant temps de configurer Sensu pour surveiller votre infrastructure.

Surveiller un service :

Sensu utilise des contrôles (commandes) pour surveiller une infrastructure, il est exécuté par le client Sensu pour surveiller une condition (par exemple, vérifier l'état du service) ou collecter des mesures (par exemple, la quantité de mémoire utilisée).

Les données de résultat des vérifications standard sont généralement dans un message lisible par l'homme, et les vérifications métriques contiendraient généralement des mesures recueillies par vérification. En outre, l'état du code de sortie indique l'état ; 0 – D'accord , 1 - AVERTISSEMENT , et 2 - CRITIQUE , semblable à Nagios; signifie que vous pouvez utiliser les plugins Nagios avec Sensu sans modification.

Ces vérifications sont planifiées soit par le serveur Sensu, soit par le client Sensu.

Vérifications d'abonnement :

Ces contrôles sont définis et planifiés de manière centralisée par le serveur Sensu, et ils ont un ensemble défini d'abonnés (vous pourriez dire - un rôle) et les clients sensu deviennent abonnés à ces rôles (c'est-à-dire abonnement) via "abonnement ” attribut.

Surveillons le service Apache à l'aide des "vérifications d'abonnement ” avec l'intervalle de 60 secondes. Sur le serveur sensu, créez un fichier de configuration pour "vérifications d'abonnement ” sur le serveur Sensu.

raj@server:~$ sudo vi /etc/sensu/conf.d/apache_check.json

Placez le contenu suivant dans .json ci-dessus fichier.

Si le client est Ubuntu 16.04 / Debian 8 :

{
  "checks": {
    "apache-status": {
      "command": "check-process.rb -p apache2",
      "subscribers": [
        "web"
      ],
      "interval": 60    
    }
  }
}

Si le client est CentOS 7 / RHEL 7 :

{
  "checks": {
    "apache-status": {
      "command": "check-process.rb -p httpd",
      "subscribers": [
        "web"
      ],
      "interval": 60    
    }
  }
}

Redémarrez le "sensu-server ” en utilisant la commande suivante.

raj@server:~$ sudo service sensu-server restart

Assurez-vous que la machine cliente (par exemple, debian.itzgeek.local ) est abonné à "web ", sinon, mettez à jour le fichier client.json fichier.

vi /etc/sensu/conf.d/client.json

Le fichier devrait ressembler à ci-dessous.

{
"client": {
  "name": "debian.itzgeek.local",
  "address": "10.128.0.4",
  "environment": "production",
  "subscriptions": [
    "web",
    "debian"
  ]
 }
}

Les plugins Sensu fournissent un script exécutable qui peut être utilisé comme contrôles sensu pour surveiller les ressources système, les services et la santé des applications. Installez le plugin Sensu pour les vérifications de processus "sensu-plugins-process-checks ” en utilisant la commande gem sur la machine cliente (debian.itzgeek.local ).

/opt/sensu/embedded/bin/gem install sensu-plugins-process-checks

Ouvrez le tableau de bord Uchiwa et attendez un certain temps, nouvelle vérification "apache-status ” apparaîtra dans une minute. Si le processus Apache n'est pas en cours d'exécution ou introuvable, vous pouvez recevoir un message d'événement critique comme ci-dessous dans le tableau de bord.

Si le processus Apache est en cours d'exécution, le tableau de bord peut ressembler à celui ci-dessous.

J'espère que vous avez maintenant compris comment "les vérifications d'abonnement » travail à Sensu. Nous verrons "Vérifications autonomes ” dans la section suivante.

Vérifications autonomes :

Ces vérifications sont définies sur un client Sensu (debian.itzgeek.local ) avec l'attribut de vérification "standalone " défini sur "vrai “. Ici, le client Sensu utilise son propre planificateur pour planifier les vérifications autonomes et envoie le résultat des vérifications au serveur Sensu.

Surveillons l'espace disque à l'aide des "vérifications autonomes ” avec l'intervalle de 60 secondes. Sur la machine cliente (debian.itzgeek.local ), installez le plug-in d'espace disque Sensu à l'aide de la commande suivante.

/opt/sensu/embedded/bin/gem install sensu-plugins-disk-checks

Créez un fichier de configuration pour la vérification du disque sous "/etc/sensu/conf.d ” répertoire.

vi /etc/sensu/conf.d/disk_check.json

Utilisez le contenu ci-dessous pour cette vérification.

{
  "checks": {
    "disk-status": {
      "command": "check-disk-usage.rb -w 70 -c 90",
      "standalone": true,
      "interval": 60
   }
 }
}

Redémarrez le service sensu-client.

service sensu-client restart

Ouvrez le tableau de bord Uchiwa et voir si la nouvelle vérification est visible sur le tableau de bord.

L'image ci-dessous montre que l'utilisation du disque est en condition d'avertissement.

Intéressé par la surveillance des serveurs :

LIRE  :Installer et configurer Nagios sur CentOS 7 / Ubuntu 16.04 / Debian 8

LIRE  :Installez Icinga2 sur Ubuntu 16.04 / 14.04, Debian et Mint

LIRE :Comment installer Zabbix Server 3.2 sur CentOS 7 / Ubuntu 16.04 / Debian 8

LIRE  :Installez Monitorix sur CentOS 7 / Ubuntu 16.04 / Fedora 24 / Debian 8 - Outil de surveillance système léger OpenSource

LIRE  :Netdata – Outil de surveillance des performances en temps réel pour Linux

C'est tout. Merci d'avoir lu.


Debian
  1. Comment ajouter un hôte Linux et Windows distant à Icinga 2 pour la surveillance

  2. Comment ajouter un hôte Windows et Linux au serveur Nagios pour la surveillance

  3. Comment ajouter un hôte Linux distant à Cacti pour la surveillance

  4. Comment mettre une adresse IP en liste blanche dans Fail2ban sur Debian Linux

  5. Comment ajouter une connexion MySQL distante sous Linux ?

Comment SSH dans un répertoire particulier sous Linux

Comment installer l'outil de surveillance du système Gtop sous Linux

Comment ajouter un hôte Linux au serveur Nagios Ubuntu - Partie 2

Comment installer l'outil de surveillance Pandora FMS dans Ubuntu Linux

Comment installer le client de bureau à distance Remmina dans Ubuntu Linux

Comment installer l'outil de surveillance Icinga 2 sur Rocky Linux 8