Projet

Général

Profil

Supervision et Log » Historique » Version 3

Mehdi Abaakouk, 19/03/2012 14:55

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