
Sensu est une solution open source de surveillance des applications et des infrastructures, conçue pour résoudre les problèmes de surveillance introduits par une combinaison d'infrastructures (c'est-à-dire, des clouds publics, privés et hybrides).
Les services Sensu utilisent un bus de messages (c'est-à-dire RabbitMQ) pour communiquer les demandes de vérification et vérifier les résultats, les données relatives aux vérifications, aux événements et aux informations client sont stockées de manière persistante dans le magasin de données (c'est-à-dire Redis).
Le serveur Sensu publie et planifie les demandes d'exécution de vérification pour les abonnements des clients. Les abonnements peuvent être simplement référencés sous la forme d'une liste de rôles (c'est-à-dire serveur Web, base de données, type de système d'exploitation), détermine quelles vérifications sont exécutées par le client.
La machine cliente exécute le logiciel client Sensu, un agent de surveillance complet qui effectue l'enregistrement du client, les abonnements, l'exécution des vérifications locales (planifiées par le client Sensu, et non par le serveur Sense) et les demandes de vérification planifiées par le serveur Sensu.
Lorsqu'il y a un chèque, par ex. pour vérifier l'état du serveur Web Apache. La vérification s'exécutera sur le client Sensu. Si la vérification signale un service en panne, le serveur Sensu transmettra le résultat au processeur d'événements qui traitera les résultats de la vérification et prendra des mesures telles que l'envoi d'un e-mail ou la notification dans le tableau de bord via l'API RESTful.
Série d'articles :
PARTIE 1 : Installer Sensu sur Ubuntu 16.04 / Debian 9 / Debian 8
PARTIE 2 :Installer Uchiwa - Tableau de bord pour l'outil de surveillance Sensu Core
PARTIE 3 :Comment ajouter un hôte Linux distant dans l'outil de surveillance Sensu
Libérer :
Core Sensu - un projet de logiciel open source, publié sous une licence MIT permissive.
Entreprise Sensu - la version commerciale de Sense Core avec des fonctionnalités supplémentaires, une assistance, une formation et de nombreux autres avantages.
Caractéristiques :
Voici les avantages de Sensu,
- Surveiller les serveurs, l'état des applications, les services et les KPI métier
- Alertes et notifications
- Inscription et désinscription dynamiques des clients
- Peut être automatisé avec Chef, Puppet et Ansible
- Disponibilité de l'assistance commerciale
Environnement :
Nom d'hôte | Adresse IP | SE | Objectif |
---|---|---|---|
server.itzgeek.local | 10.128.0.3 | Ubuntu 16.04 | Serveur Sensu (Redis, RabbitMQ et Uchiwa) |
debian.itzgeek.local | 10.128.0.4 | Debian 9 | Client Sensu |
Ce guide vous guidera tout au long de l'installation de Sensu sur Ubuntu 16.04 / Debian 8.
Installez Redis :
Pour commencer, installez Redis sur le serveur Sensu.
sudo apt-get update sudo apt-get -y install redis-server apt-transport-https
Démarrez le service Redis, si nécessaire.
sudo service redis-server start
Vérifiez que Redis est prêt à être utilisé en exécutant la commande ci-dessous.
redis-cli ping
Sortie
PONG
Installez RabbitMQ :
Ajoutez le référentiel Erlang car RabbitMQ s'exécute sur le runtime Erlang.
wget https://packages.erlang-solutions.com/erlang-solutions_1.0_all.deb sudo dpkg -i erlang-solutions_1.0_all.deb
Ajoutez la clé publique Erlang à votre liste de clés de confiance.
wget -O- https://packages.erlang-solutions.com/ubuntu/erlang_solutions.asc | sudo apt-key add -
Installez RabbitMQ avec le runtime Erlang à l'aide de la commande suivante.
sudo apt-get update && sudo apt-get install -y socat erlang-nox=1:19.3-1
RabbitMQ est inclus dans les référentiels Ubuntu et Debian standard, mais les versions sont souvent assez anciennes. Ce guide vous recommande d'installer la dernière version de RabiitMQ via le référentiel officiel.
wget http://www.rabbitmq.com/releases/rabbitmq-server/v3.6.10/rabbitmq-server_3.6.10-1_all.deb
Installez le package de référentiel RabbitMQ.
sudo dpkg -i rabbitmq-server_3.6.10-1_all.deb
Procédez à l'installation du serveur RabbitMQ.
sudo apt-get update && sudo apt-get install -y rabbitmq-server
Démarrez le service RabbbitMQ.
sudo service rabbitmq-server start
Créer un vhost et un utilisateur RabbitMQ pour Sensu. Remplacer le mot de passe avec le mot de passe de votre choix. Vous aurez besoin de ces détails de compte plus tard pour configurer le serveur Sensu.
sudo rabbitmqctl add_vhost /sensu sudo rabbitmqctl add_user sensu password sudo rabbitmqctl set_permissions -p /sensu sensu ".*" ".*" ".*"
Installer Sensu Core :
Sensu propose des dépôts officiels pour les systèmes d'exploitation Debian et Ubuntu. Le package Sensu Core inclut sensu-server , sensu-api , et sensu-client .
Installez la clé publique GPG et ajoutez le fichier de configuration APT à /etc/apt/sources.list.d/sensu.list .
wget -O- https://sensu.global.ssl.fastly.net/apt/pubkey.gpg | sudo apt-key add - echo "deb https://sensu.global.ssl.fastly.net/apt sensu main" | sudo tee /etc/apt/sources.list.d/sensu.list
Installez Sensu à l'aide de la commande suivante.
sudo apt-get update && sudo apt-get install -y sensu
Configurer le serveur Sensu :
Sur les systèmes Debian et Ubuntu, Sensu chargera la configuration depuis /etc/sensu/config.json et /etc/sensu/conf.d/ répertoire.
Les processus Sensu nécessitent une configuration supplémentaire pour leur indiquer comment se connecter au bus de transport RabbitMQ.
sudo nano /etc/sensu/conf.d/rabbitmq.json
Mettez à jour le fichier avec les valeurs suivantes. Remplacer le mot de passe avec le mot de passe que vous avez choisi quelques pas en arrière.
{ "rabbitmq": { "host": "127.0.0.1", "port": 5672, "vhost": "/sensu", "user": "sensu", "password": "password" } }
Ce guide ne couvre pas la sécurisation du transport (RabbitMQ), mais nous vous recommandons fortement de sécuriser une installation Sensu.
LIRE :Sécuriser le transport Sensu via le cryptage SSL
Créer redis.json fichier pour inclure les informations de connexion permettant à Sensu d'accéder à Redis.
sudo nano /etc/sensu/conf.d/redis.json
Ajoutez les lignes ci-dessous au fichier ci-dessus.
{ "redis": { "host": "127.0.0.1", "port": 6379 } }
Créer api.json fichier pour inclure les informations de connexion permettant à Sensu d'accéder au service API.
sudo nano /etc/sensu/conf.d/api.json
Ajoutez les lignes ci-dessous au fichier ci-dessus.
{ "api": { "host": "localhost", "bind": "0.0.0.0", "port": 4567 } }
Sensu core n'est pas livré avec le tableau de bord de surveillance, vous devez donc installer Uchiwa qui est un tableau de bord open source pour Sensu.
LIRE :Comment installer le tableau de bord Uchiwa.
C'est tout pour le moment. Restez à l'écoute pour plus d'articles sur Sensu Monitoring Tool.