Projet

Général

Profil

Supervision et Log » Historique » Version 5

Mehdi Abaakouk, 23/03/2012 16:18

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