Supervision et Log » Historique » Version 17
Mehdi Abaakouk, 19/12/2014 07:59
1 | 1 | Mehdi Abaakouk | h1. Supervision et Log |
---|---|---|---|
2 | 1 | Mehdi Abaakouk | |
3 | 3 | Mehdi Abaakouk | {{>toc}} |
4 | 3 | Mehdi Abaakouk | |
5 | 16 | 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 | 16 | Mehdi Abaakouk | "check_mk":http://mathias-kettner.de/check_mk.html est à la fois: |
9 | 16 | 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 | 16 | 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 | 16 | 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 | 16 | 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 | 16 | Mehdi Abaakouk | Les fameux tag permet d'associé la machine à des check de services, des hostgroups et des servicesgroups |
31 | 16 | Mehdi Abaakouk | Par défaut seul le ping est effectué. |
32 | 16 | Mehdi Abaakouk | On peut ensuite étendre rapidement les checks avec les contrôles système. |
33 | 16 | 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 | 16 | 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 | 16 | Mehdi Abaakouk | Sur ttnnlog ou sur la machine elle même (si elle a check-mk-agent-logwatch d'installer) |
81 | 16 | 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 | 16 | 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 | 16 | Mehdi Abaakouk | Les fichiers conf.d/autogen_*.mk sont générer par le script update_vm_parents_and_update_automap.sh |
112 | 16 | 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 | 16 | Mehdi Abaakouk | Il génère aussi la map automap pour nagvis (/usr/local/nagvis/etc/Automap.cfg |
114 | 16 | 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 | 16 | Mehdi Abaakouk | Le script contrôle le VLAN admin et le 91.224.149.128/25. |
123 | 16 | Mehdi Abaakouk | |
124 | 16 | Mehdi Abaakouk | h2. Configuration d'un nuc utilisé pour tunnel ADSL: |
125 | 16 | Mehdi Abaakouk | |
126 | 16 | Mehdi Abaakouk | |
127 | 16 | Mehdi Abaakouk | Sur le nuc: |
128 | 16 | Mehdi Abaakouk | |
129 | 16 | Mehdi Abaakouk | |
130 | 16 | Mehdi Abaakouk | <pre> |
131 | 16 | Mehdi Abaakouk | $ apt-get install puppet |
132 | 16 | Mehdi Abaakouk | $ puppet agent --enable |
133 | 16 | Mehdi Abaakouk | $ puppet agent --server puppet.tetaneutral.net --certname=flambere.tunnel --pluginsync -vt |
134 | 16 | Mehdi Abaakouk | info: Creating a new SSL certificate request for flambere.tunnel |
135 | 16 | Mehdi Abaakouk | info: Certificate Request fingerprint (md5): 3F:E2:E2:14:B3:24:52:51:9D:DE:87:33:E8:2A:BB:7B |
136 | 16 | Mehdi Abaakouk | Exiting; no certificate found and waitforcert is disabled |
137 | 16 | Mehdi Abaakouk | |
138 | 16 | Mehdi Abaakouk | </pre> |
139 | 16 | Mehdi Abaakouk | |
140 | 17 | Mehdi Abaakouk | Sur la machine puppet dans le fichier /etc/puppet/manifests/nodes/adsl-tunnel.pp ajouter: |
141 | 16 | Mehdi Abaakouk | |
142 | 16 | Mehdi Abaakouk | <pre> |
143 | 16 | Mehdi Abaakouk | node "flambere.tunnel" { |
144 | 16 | Mehdi Abaakouk | $puppet_certname="flambere.tunnel" |
145 | 16 | Mehdi Abaakouk | class{'tsf_nuc':} |
146 | 16 | Mehdi Abaakouk | } |
147 | 16 | Mehdi Abaakouk | </pre> |
148 | 16 | Mehdi Abaakouk | |
149 | 16 | Mehdi Abaakouk | Puis taper: |
150 | 16 | Mehdi Abaakouk | <pre> |
151 | 16 | Mehdi Abaakouk | $ puppet ca sign flambere.tunnel |
152 | 16 | Mehdi Abaakouk | Notice: Signed certificate request for flambere.tunnel |
153 | 16 | Mehdi Abaakouk | Notice: Removing file Puppet::SSL::CertificateRequest flambere.tunnel at '/var/lib/puppet/ssl/ca/requests/flambere.tunnel.pem' |
154 | 16 | Mehdi Abaakouk | "-----BEGIN CERTIFICATE-----XXXXXXXXXXXXXXXXX\n-----END CERTIFICATE-----\n" |
155 | 16 | Mehdi Abaakouk | </pre> |
156 | 16 | Mehdi Abaakouk | |
157 | 16 | Mehdi Abaakouk | Retourner sur le nuc et faire: |
158 | 16 | Mehdi Abaakouk | |
159 | 16 | Mehdi Abaakouk | <pre> |
160 | 16 | Mehdi Abaakouk | $ puppet agent --server puppet.tetaneutral.net --certname=flambere.tunnel --pluginsync -vt |
161 | 16 | Mehdi Abaakouk | </pre> |
162 | 16 | Mehdi Abaakouk | |
163 | 16 | Mehdi Abaakouk | |
164 | 16 | Mehdi Abaakouk | Sur la machine nagios ajouter le host avec son ip: |
165 | 16 | Mehdi Abaakouk | |
166 | 16 | Mehdi Abaakouk | all_host = [ |
167 | 16 | Mehdi Abaakouk | ... |
168 | 16 | Mehdi Abaakouk | "flambere.tunnel|noipv6|noapt|adsltunnel", |
169 | 16 | Mehdi Abaakouk | ... |
170 | 16 | Mehdi Abaakouk | ] |
171 | 16 | Mehdi Abaakouk | |
172 | 6 | Mehdi Abaakouk | ipaddresses['flambere.tunnel'] = '10.0.12.2' |
173 | 6 | Mehdi Abaakouk | |
174 | 6 | Mehdi Abaakouk | h2. Liens vers outils de visualisation des logs |
175 | 6 | Mehdi Abaakouk | - http://logstash.net/ |
176 | 6 | Mehdi Abaakouk | - http://kibana.org/ |