Snmp : Différence entre versions

De Wiki NCad
Aller à : navigation, rechercher
(Finalisation)
(Configuration de snmptt)
 
(3 révisions intermédiaires par le même utilisateur non affichées)
Ligne 85 : Ligne 85 :
  
 
  mysql_dbi_password = mdpsnmpttuser
 
  mysql_dbi_password = mdpsnmpttuser
 +
 +
* Création des tables '''SQL''' pour la base '''snmpttdb''' :
 +
<nowiki>
 +
USE snmpttuser;
 +
DROP TABLE snmptt;
 +
CREATE TABLE snmptt (
 +
  id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
 +
  eventname VARCHAR(50),
 +
  eventid VARCHAR(50),
 +
  trapoid VARCHAR(100),
 +
  enterprise VARCHAR(100),
 +
  community VARCHAR(20),
 +
  hostname VARCHAR(100),
 +
  agentip  VARCHAR(16),
 +
  category VARCHAR(20),
 +
  severity VARCHAR(20),
 +
  uptime  VARCHAR(20),
 +
  traptime VARCHAR(30),
 +
  formatline VARCHAR(255)
 +
);
 +
 +
USE snmpttuser;
 +
DROP TABLE snmptt_unknown;
 +
CREATE TABLE snmptt_unknown (
 +
  trapoid VARCHAR(100),
 +
  enterprise VARCHAR(100),
 +
  community VARCHAR(20),
 +
  hostname VARCHAR(100),
 +
  agentip  VARCHAR(16),
 +
  uptime  VARCHAR(20),
 +
  traptime VARCHAR(30),
 +
  formatline VARCHAR(255)
 +
);
 +
 +
USE snmpttuser;
 +
DROP TABLE snmptt_statistics;
 +
CREATE TABLE snmptt_statistics (
 +
  stat_time VARCHAR(30),
 +
  total_received BIGINT,
 +
  total_translated BIGINT,
 +
  total_ignored BIGINT,
 +
  total_unknown BIGINT
 +
);
 +
</nowiki>
  
 
{{ Box Remarque | objet=Si aucune base MySQL n'est définie, les traps seront enregistrées dans des fichiers de journalisation sous la racine /var/log/snmptt. }}
 
{{ Box Remarque | objet=Si aucune base MySQL n'est définie, les traps seront enregistrées dans des fichiers de journalisation sous la racine /var/log/snmptt. }}
Ligne 90 : Ligne 134 :
 
==== Finalisation ====
 
==== Finalisation ====
  
* Pour terminer l'installation, il est nécessaire de redémarrer le daemon snmp :
+
* Pour terminer l'installation, il est nécessaire de redémarrer les daemon '''snmpd''' et '''snmptt''' :
 +
 
 +
{{ Box Console | objet=sudo service snmpd restart<br />
 +
sudo service snmptt restart }}
 +
 
 +
== Sources ==
  
{{ Box Console | objet=sudo service snmpd restart }}
+
* Configuration '''MySQL''' pour '''snmptt''' : http://snmptt.sourceforge.net/docs/snmptt.shtml#LoggingDatabase-MySQL

Version actuelle en date du 25 juillet 2016 à 16:59

Recevoir les Traps

Les traps sont des messages snmp envoyés par un équipement réseau à la station de supervision pour l'avertir sur un événement. Cet événement peut être matériel - changement d'état d'une interface - mais aussi logiciel - modification de la configuration de l'équipement'. Suivant le type de matériel, les traps envoyées peuvent être variées.

Installation

  • Par défaut, lors de l'installation du daemon snmp, le programme snmptrap est intégré à l'installation. Cependant, ce programme ne permette pas de traduire les traps reçus si ces dernières sont spécifiques au constructeur. L'installation du service snmptt est alors envisagée.
ICON Terminal.png

sudo apt-get install snmptt

  • Le programme ne fonctionnera pas comme un service indépendant. Il sera appelé par le programme snmptrap lors de la réception d'une trap.

Configuration

Configuration de snmp

  • Editer le fichier de configuration /etc/default/snmpd, puis remplacer la ligne :
TRAPDRUN=no
  • Par :
TRAPDRUN=yes
  • Remplacer également la ligne :
TRAPDOPTS='-Lsd -p /var/run/snmptrapd.pid'
  • Par :
TRAPDOPTS='-On -Lsd -p /var/run/snmptrapd.pid'

Configuration de snmptrapd

  • Editer le fichier de configuration /etc/snmp/snmptrapd.conf, puis ajouter à la fin du fichier les lignes suivants :
ignoreAuthFailure yes
authCommunity log,execute,net pfalk
traphandle default /usr/sbin/snmptt
donotlogtraps no

Configuration de snmptt

  • Editer le fichier de configuration /etc/snmp/snptt.ini, puis rechercher la ligne :
unknown_trap_log_enable = 0

Par :

unknown_trap_log_enable = 1
  • Pour activer la prise en charge de MySQL, affecter la valeur 1 au paramètre :
mysql_dbi_enable = 1
  • Rechercher la ligne suivante et indiquer l'adresse IP du serveur MySQL. Si le serveur MySQL est hébergé sur la même machine que le programme snmptt, laisser la valeur localhost.
mysql_dbi_host = localhost
  • Renseigner le port d'écoute du serveur MySQL. Par défaut le serveur écoute sur le port TCP 3306.
mysql_dbi_port = 3306
  • Indiquer le nom de la base de données MySQL.
mysql_dbi_database = snmpttdb
  • Indiquer le nom de la table ou seront enregistrés les traps snmp :
mysql_dbi_table = snmptt
  • Indiquer le nom de la table ou seront enregistrés les traps snmp non traduites :
mysql_dbi_table_unknown = snmptt_unknown
  • Indiquer le nom de la table ou seront enregistrés les statistiques snmp :
mysql_dbi_table_statistics = snmptt_statistics
  • Indiquer le nom d'utilisateur MySQL :
mysql_dbi_username = snmpttuser
  • Indiquer le mot de passe du compte MySQL :
mysql_dbi_password = mdpsnmpttuser
  • Création des tables SQL pour la base snmpttdb :
USE snmpttuser;
DROP TABLE snmptt;
CREATE TABLE snmptt (
  id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
  eventname VARCHAR(50),
  eventid VARCHAR(50),
  trapoid VARCHAR(100),
  enterprise VARCHAR(100),
  community VARCHAR(20),
  hostname VARCHAR(100),
  agentip  VARCHAR(16),
  category VARCHAR(20),
  severity VARCHAR(20),
  uptime  VARCHAR(20),
  traptime VARCHAR(30),
  formatline VARCHAR(255)
);

USE snmpttuser;
DROP TABLE snmptt_unknown;
CREATE TABLE snmptt_unknown (
  trapoid VARCHAR(100),
  enterprise VARCHAR(100),
  community VARCHAR(20),
  hostname VARCHAR(100),
  agentip  VARCHAR(16),
  uptime  VARCHAR(20),
  traptime VARCHAR(30),
  formatline VARCHAR(255)
);

USE snmpttuser;
DROP TABLE snmptt_statistics;
CREATE TABLE snmptt_statistics (
  stat_time VARCHAR(30),
  total_received BIGINT,
  total_translated BIGINT,
  total_ignored BIGINT,
  total_unknown BIGINT
);

ICON Light.png
Si aucune base MySQL n'est définie, les traps seront enregistrées dans des fichiers de journalisation sous la racine /var/log/snmptt.

Finalisation

  • Pour terminer l'installation, il est nécessaire de redémarrer les daemon snmpd et snmptt :
ICON Terminal.png

sudo service snmpd restart
sudo service snmptt restart

Sources