Contenu

Introduction

Conditions préalables

Conditions requises

Components Used

Informations générales

Configuration

Installer le référentiel Epel

Installer Erlang

Installer Redis, RabbitMQ et configurer RabbitMQ

Enregistrer le référentiel Sensu

Installation et configuration de Sensu

Activer les services Sensu

Installer et configurer Uchiwa

Vérifier si le serveur fonctionne

Configurer les vérifications

Redémarrer Sensu

Mettre à jour les scripts d'action

Créer des actions Sensu

Informations connexes

Introduction

Ce document décrit comment configurer un serveur Sensu et d'autres actions sur CloudCenter pour ajouter ou supprimer des machines virtuelles (VM) de travail du serveur.

Conditions préalables

Conditions requises

Cisco vous recommande de prendre connaissance des rubriques suivantes :

- Actions CloudCenter

- Sensu

Components Used

Ce document n'est pas limité à des versions de matériel et de logiciel spécifiques.

The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. If your network is live, make sure that you understand the potential impact of any command.

Informations générales

Sensu est un programme conçu pour surveiller divers aspects d'une machine. Il peut être intégré dans CloudCenter pour fournir une capacité de surveillance accrue à toutes les machines virtuelles déployées. Cette procédure pas à pas est conçue comme un exemple qui montre comment intégrer Sensu à CloudCenter avec l'utilisation d'actions.

Configuration

Il est conçu pour fonctionner sur une machine virtuelle CentOS 7 qui dispose d'un accès direct à Internet. Si vous devez vous connecter à un proxy, exécutez cette configuration avant de continuer.

Ouvrez ces ports pour les ports entrants et sortants : 3000, 3030, 4567, 5671, 5672, 6379.

Assurez-vous que le serveur Sensu a une adresse IP statique.

Note: Tout ce qui se trouve dans les blocs de code est conçu pour être copié et collé dans le terminal.

Installer le référentiel Epel

sudo yum -y install epel-release

Installer Erlang

sudo yum -y install erlang

Installer Redis, RabbitMQ et configurer RabbitMQ

sudo rpm --import http://www.rabbitmq.com/rabbitmq-signing-key-public.asc

sudo rpm -Uvh http://www.rabbitmq.com/releases/rabbitmq-server/v3.4.1/rabbitmq-server-3.4.1-1.noarch.rpm

sudo rabbitmq-plugins enable rabbitmq_management

sudo yum -y install redis

sudo chkconfig redis on

sudo service redis start

sudo chkconfig rabbitmq-server on

sudo /etc/init.d/rabbitmq-server start

sudo rabbitmqctl add_vhost /sensu

sudo rabbitmqctl add_user sensu secret

sudo rabbitmqctl set_permissions -p /sensu sensu ".*" ".*" ".*"

Enregistrer le référentiel Sensu

echo '[sensu]

name=sensu-main

baseurl=http://repositories.sensuapp.org/yum/el/7/x86_64/

gpgcheck=0

enabled=1' |sudo tee /etc/yum.repos.d/sensu.repo

Installation et configuration de Sensu

sudo yum -y install sensu

sudo rm -f /etc/sensu/config.json.example

echo '{

"api": {

"host": "localhost",

"bind": "0.0.0.0",

"port": 4567

}

}' |sudo tee /etc/sensu/conf.d/api.json

echo '{

"client": {

"name": "sensu-server",

"address": "127.0.0.1",

"environment": "sensu",

"subscriptions": [ "linux"],

"keepalive":

{

"handler": "mailer",

"thresholds": {

"warning": 250,

"critical": 300

}

},

"socket": {

"bind": "127.0.0.1",

"port": 3030

}

}

}' |sudo tee /etc/sensu/conf.d/client.json

echo '{

"rabbitmq": {

"host": "127.0.0.1",

"port": 5672,

"vhost": "/sensu",

"user": "sensu",

"password": "secret"

}

}' |sudo tee /etc/sensu/conf.d/rabbitmq.json

echo '{

"redis": {

"host": "127.0.0.1",

"port": 6379

}

}' |sudo tee /etc/sensu/conf.d/redis.json

echo '{

"transport": {

"name": "rabbitmq",

"reconnect_on_error": true

}

}' |sudo tee /etc/sensu/conf.d/transport.json

Activer les services Sensu

sudo chkconfig sensu-server on

sudo chkconfig sensu-client on

sudo chkconfig sensu-api on

sudo service sensu-server start

sudo service sensu-client start

sudo service sensu-api start

Installer et configurer Uchiwa

sudo yum -y install uchiwa

echo '{

"sensu": [

{

"name": "sensu",

"host": "localhost",

"port": 4567,

"timeout": 10

}

],

"uchiwa": {

"host": "0.0.0.0",

"port": 3000,

"refresh": 10

}

}' |sudo tee /etc/sensu/uchiwa.json

sudo chown uchiwa:uchiwa /etc/sensu/uchiwa.json

sudo chmod 664 /etc/sensu/uchiwa.json

sudo chkconfig uchiwa on

sudo service uchiwa start

Vérifier si le serveur fonctionne

Accédez à IPAddress : 3 000/#/événements

À ce stade, vous devriez avoir un client appelé Sensu-server.

Configurer les vérifications

echo '{

"checks": {

"check-cpu-linux": {

"handlers": ["mailer"],

"command": "/opt/sensu/embedded/bin/check-cpu.rb -w 80 -c 90 ",

"interval": 60,

"occurrences": 5,

"subscribers": [ "linux" ]

}

}

}' |sudo tee /etc/sensu/conf.d/check_cpu_linux.json

echo '{

"checks": {

"check-disk-usage-linux": {

"handlers": ["mailer"],

"type": "metric",

"command": "/opt/sensu/embedded/bin/check-disk-usage.rb",

"interval": 60,

"occurrences": 5,

"subscribers": [ "linux" ]

}

}

}' |sudo tee /etc/sensu/conf.d/check_disk_usage_linux.json

echo '{

"checks": {

"check_memory_linux": {

"handlers": ["mailer"],

"command": "/opt/sensu/embedded/bin/check-memory-percent.rb -w 80 -c 90 ",

"interval": 60,

"occurrences": 5,

"refresh": 1800,

"subscribers": [ "linux" ]

}

}

}' |sudo tee /etc/sensu/conf.d/check_memory_linux.json

sudo sensu-install -p cpu-checks

sudo sensu-install -p disk-checks

sudo sensu-install -p memory-checks

Redémarrer Sensu

sudo service sensu-client restart && sudo service sensu-server restart && sudo service sensu-api restart

Au bout d'une minute, vous devriez avoir trois chèques listés.

Si vous cliquez sur le client Sensu-server, les trois vérifications de ce périphérique vous fournissent des informations détaillées.

Mettre à jour les scripts d'action

1. Téléchargez Sensu.zip.

2. Décompressez le fichier.

3. Modifier sensuinstall.sh.

4. Remplacez l'hôte de ligne par "SensuServerIP" pour avoir l'adresse IP du serveur Sensu.

5. Modifier sensuuninstall.sh.

6. Modifiez la courbe de ligne -s -i -X DELETE http://SensuServerIP:4567/clients/$cliqrNodeHostname pour obtenir l'adresse IP du serveur Sensu.

7. Rendez les fichiers modifiés sur Sensu.zip.

8. Télécharger vers un référentiel configuré par CloudCenter Manager (CCM).

Créer des actions Sensu

Accédez à Bibliothèque d'actions et sélectionnez Nouvelle action.

type : Commande ou script

Nom de l'action : Inscription Sensu

Description: Installe le client Sensu et l'enregistre auprès du serveur

Exécuter l'action : Sur le système d'exploitation des machines virtuelles

Mappage d'objet :

Type de ressource : MV déployées dans CloudCenter

Profil d'application : all

Région cloud : all

Compte cloud : all

Tous les services

Type de ressource : VM importées (avec l'agent installé)

Région cloud : all

Compte cloud : all

Types de système d'exploitation : all

Définition de l'action :

Exécuter à partir du bundle : Oui

Emplacement: Le repo vers lequel vous l'avez téléchargé et le chemin d'accès au fichier Sensu.zip

Script de l'offre groupée : sensuinstall.sh

Enregistrer l'action et créer une autre action

type : Commande ou script

Nom de l'action : Annuler l'inscription du sensu

Description: Arrête le client Sensu et l'annule avec le serveur

Exécuter l'action : Sur le système d'exploitation des machines virtuelles

Mappage d'objet :

Type de ressource : MV déployées dans CloudCenter

Profil d'application : all

Région cloud : all

Compte cloud : all

Tous les services

Type de ressource : VM importées (avec l'agent installé)

Région cloud : all

Compte cloud : all

Types de système d'exploitation : all

Définition de l'action :

Exécuter à partir du bundle : Oui

Emplacement: Le repo vers lequel vous l'avez téléchargé et le chemin d'accès au fichier Sensu.zip

Script de l'offre groupée : sensuuninstall.sh

Enregistrer l'action

Vous pouvez maintenant utiliser ces actions sur n'importe quelle machine virtuelle déployée pour l'enregistrer sur votre serveur Sensu et annuler l'inscription. Notez que la désinscription ne désinstalle pas le client Sensu, elle arrête le service et le supprime de la base de données du serveur.

Informations connexes

- Sensu

- Bibliothèque d'actions

- Support et documentation techniques - Cisco Systems