Projet

Général

Profil

Supervision et Log » Historique » Version 1

Mehdi Abaakouk, 06/01/2012 11:31

1 1 Mehdi Abaakouk
h1. Supervision et Log
2 1 Mehdi Abaakouk
3 1 Mehdi Abaakouk
h2. Présentation
4 1 Mehdi Abaakouk
5 1 Mehdi Abaakouk
La supervision utilise nagios, pnp4nagios et check_mk sur la machine [http://nagios.tetaneutral.net nagios.tetaneutral.net]
6 1 Mehdi Abaakouk
[http://mathias-kettner.de/check_mk.html check_mk] est à la fois:
7 1 Mehdi Abaakouk
* un outils qui génère la configuration de nagios
8 1 Mehdi Abaakouk
* une "commande" au sens nagios.
9 1 Mehdi Abaakouk
* une interface Web 2.0
10 1 Mehdi Abaakouk
pnp4nagios est un grapher des perfdatas de nagios, et il est intégré parfaitement à l'interface de check_mk
11 1 Mehdi Abaakouk
La gestion des logs s'effectue avec rsyslog sur la machine ttnnlog
12 1 Mehdi Abaakouk
13 1 Mehdi Abaakouk
h2. Ajouter un machine à la supervision
14 1 Mehdi Abaakouk
15 1 Mehdi Abaakouk
Dans le fichier /etc/check_mk/main.mk ajouter dans le tableau "all_hosts" le nom de la vm suivie de tags comme ceci:
16 1 Mehdi Abaakouk
17 1 Mehdi Abaakouk
<pre>
18 1 Mehdi Abaakouk
nomdelavme|vm|ssh-2222|smtp|http
19 1 Mehdi Abaakouk
nomdelamahcine|phy|ssh-22|https|imaps
20 1 Mehdi Abaakouk
</pre>
21 1 Mehdi Abaakouk
22 1 Mehdi Abaakouk
Les fameux tag permet d'associé la machine à des check de services, des hostgroups et des servicesgroups
23 1 Mehdi Abaakouk
Par défaut seul le ping est effectué.
24 1 Mehdi Abaakouk
On peut ensuite étendre rapidement les checks avec les contrôles système.
25 1 Mehdi Abaakouk
Pour ceci il faut installé un agent sur la machine superviser, soit check-mk-agent, soit net-snmp.
26 1 Mehdi Abaakouk
27 1 Mehdi Abaakouk
h2. Configuration du serveur de log
28 1 Mehdi Abaakouk
29 1 Mehdi Abaakouk
30 1 Mehdi Abaakouk
<pre>
31 1 Mehdi Abaakouk
echo '*.*     @91.224.149.204' > /etc/rsyslog.d/ttnnlog.conf
32 1 Mehdi Abaakouk
/etc/init.d/rsyslog restart
33 1 Mehdi Abaakouk
</pre>
34 1 Mehdi Abaakouk
35 1 Mehdi Abaakouk
36 1 Mehdi Abaakouk
h2. Installation de check-mk-agent
37 1 Mehdi Abaakouk
38 1 Mehdi Abaakouk
Sur la machine cible, il faut installer les xinetd et check-mk-agent_1.1.13i2_all.deb
39 1 Mehdi Abaakouk
dans /etc/xinetd.d/check_mk ajouter:
40 1 Mehdi Abaakouk
41 1 Mehdi Abaakouk
<pre>
42 1 Mehdi Abaakouk
only_from       = 91.224.149.236
43 1 Mehdi Abaakouk
</pre>
44 1 Mehdi Abaakouk
Puis on redémarre xinetd
45 1 Mehdi Abaakouk
46 1 Mehdi Abaakouk
<pre>
47 1 Mehdi Abaakouk
etc/init.d/xinetd restart
48 1 Mehdi Abaakouk
</pre>
49 1 Mehdi Abaakouk
sur nagios:
50 1 Mehdi Abaakouk
51 1 Mehdi Abaakouk
<pre>
52 1 Mehdi Abaakouk
check_mk -II nommachine && check_mk -O
53 1 Mehdi Abaakouk
</pre>
54 1 Mehdi Abaakouk
55 1 Mehdi Abaakouk
h2. Installation rapide de check-mk-agent dans une vm
56 1 Mehdi Abaakouk
57 1 Mehdi Abaakouk
sur h1:
58 1 Mehdi Abaakouk
59 1 Mehdi Abaakouk
<pre>
60 1 Mehdi Abaakouk
cd nagios
61 1 Mehdi Abaakouk
./install_in_vm.sh nomvm 2222
62 1 Mehdi Abaakouk
</pre>
63 1 Mehdi Abaakouk
64 1 Mehdi Abaakouk
sur nagios:
65 1 Mehdi Abaakouk
66 1 Mehdi Abaakouk
<pre>
67 1 Mehdi Abaakouk
check_mk -II nommachine && check_mk -O
68 1 Mehdi Abaakouk
</pre>
69 1 Mehdi Abaakouk
70 1 Mehdi Abaakouk
h2. Remonter d'alert a partir des fichiers de log
71 1 Mehdi Abaakouk
72 1 Mehdi Abaakouk
Sur ttnnlog ou sur la machine elle même (si elle a check-mk-agent-logwatch d'installer)
73 1 Mehdi Abaakouk
Dans le fichier /etc/check_mk/logwatch.cfg ajouté des lignes comme:
74 1 Mehdi Abaakouk
75 1 Mehdi Abaakouk
<pre>
76 1 Mehdi Abaakouk
/var/log/messages
77 1 Mehdi Abaakouk
# Patterns are indented with one space are prefixed with:
78 1 Mehdi Abaakouk
# C: Critical messages
79 1 Mehdi Abaakouk
# W: Warning messages
80 1 Mehdi Abaakouk
# I: ignore these lines (OK)
81 1 Mehdi Abaakouk
# The first match decided. Lines that do not match any pattern
82 1 Mehdi Abaakouk
# are ignored
83 1 Mehdi Abaakouk
C Fail event detected on md device
84 1 Mehdi Abaakouk
I mdadm.*: Rebuild.*event detected
85 1 Mehdi Abaakouk
W mdadm\[
86 1 Mehdi Abaakouk
/data/www/*/*/syslog /data/www/*/*/kern.log
87 1 Mehdi Abaakouk
C Panic
88 1 Mehdi Abaakouk
C Oops
89 1 Mehdi Abaakouk
</pre>
90 1 Mehdi Abaakouk
91 1 Mehdi Abaakouk
Puis sur la machine nagios détecté la nouvelle config de l'agent:
92 1 Mehdi Abaakouk
93 1 Mehdi Abaakouk
<pre>
94 1 Mehdi Abaakouk
cmk -II ttnnlog
95 1 Mehdi Abaakouk
cmk -O
96 1 Mehdi Abaakouk
</pre>
97 1 Mehdi Abaakouk
98 1 Mehdi Abaakouk
99 1 Mehdi Abaakouk
h2. Fichier de configuration de check_mk
100 1 Mehdi Abaakouk
101 1 Mehdi Abaakouk
Les fichiers de configuration sont dans /etc/check_mk/
102 1 Mehdi Abaakouk
Le fichier principal est main.mk, la liste des contacts se trouve dans conf.d/contacts.mk
103 1 Mehdi Abaakouk
Les fichiers conf.d/vm_auto.mk et conf.d/vm_parent.mk sont générer par le script update_vm_parents_and_update_automap.sh
104 1 Mehdi Abaakouk
Il génère la liste des vm qui ne sont pas pressente dans main.mk avec les dépendances avec leurs nodes du cluster (avec l'api rapi de ganeti)
105 1 Mehdi Abaakouk
Il génère aussi la map automap pour nagvis (/usr/local/nagvis/etc/Automap.cfg
106 1 Mehdi Abaakouk
Il est exécute toutes les 20 minutes
107 1 Mehdi Abaakouk
108 1 Mehdi Abaakouk
h2. Voir le diff entre la conf nagios et la page Architecture du Wiki
109 1 Mehdi Abaakouk
110 1 Mehdi Abaakouk
111 1 Mehdi Abaakouk
<pre>
112 1 Mehdi Abaakouk
/etc/check_mk/diff-nagios-wiki.sh
113 1 Mehdi Abaakouk
</pre>
114 1 Mehdi Abaakouk
Le script contrôle le VLAN admin et le 91.224.149.128/25.