Supervision et Log » Historique » Version 26
Mehdi Abaakouk, 19/12/2014 08:20
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 | 24 | Mehdi Abaakouk | h2. Installation rapide de check-mk-agent: |
36 | 1 | Mehdi Abaakouk | |
37 | 21 | Mehdi Abaakouk | sur la machine, c'est automatiquement fait avec puppet. |
38 | 1 | Mehdi Abaakouk | |
39 | 1 | Mehdi Abaakouk | sur nagios: |
40 | 1 | Mehdi Abaakouk | |
41 | 1 | Mehdi Abaakouk | <pre> |
42 | 1 | Mehdi Abaakouk | check_mk -II nommachine && check_mk -O |
43 | 1 | Mehdi Abaakouk | </pre> |
44 | 1 | Mehdi Abaakouk | |
45 | 1 | Mehdi Abaakouk | h2. Remonter d'alert a partir des fichiers de log |
46 | 1 | Mehdi Abaakouk | |
47 | 25 | Mehdi Abaakouk | Sur puppet on peut modifier le fichier https://chiliproject.tetaneutral.net/projects/git-tetaneutral-net/repository/puppetmaster/revisions/master/entry/manifests/files/check-mk-agent-logwatch.cfg.erb |
48 | 25 | Mehdi Abaakouk | comme ceci: |
49 | 1 | Mehdi Abaakouk | |
50 | 1 | Mehdi Abaakouk | <pre> |
51 | 1 | Mehdi Abaakouk | /var/log/messages |
52 | 1 | Mehdi Abaakouk | # Patterns are indented with one space are prefixed with: |
53 | 1 | Mehdi Abaakouk | # C: Critical messages |
54 | 1 | Mehdi Abaakouk | # W: Warning messages |
55 | 1 | Mehdi Abaakouk | # I: ignore these lines (OK) |
56 | 1 | Mehdi Abaakouk | # The first match decided. Lines that do not match any pattern |
57 | 1 | Mehdi Abaakouk | # are ignored |
58 | 1 | Mehdi Abaakouk | C Fail event detected on md device |
59 | 1 | Mehdi Abaakouk | I mdadm.*: Rebuild.*event detected |
60 | 1 | Mehdi Abaakouk | W mdadm\[ |
61 | 1 | Mehdi Abaakouk | /data/www/*/*/syslog /data/www/*/*/kern.log |
62 | 1 | Mehdi Abaakouk | C Panic |
63 | 1 | Mehdi Abaakouk | C Oops |
64 | 1 | Mehdi Abaakouk | </pre> |
65 | 1 | Mehdi Abaakouk | |
66 | 25 | Mehdi Abaakouk | Puis sur la machine nagios, dans le cas ou un nouveau fichier est ajouté: |
67 | 1 | Mehdi Abaakouk | |
68 | 1 | Mehdi Abaakouk | <pre> |
69 | 25 | Mehdi Abaakouk | cmk -II mon machine |
70 | 1 | Mehdi Abaakouk | cmk -O |
71 | 1 | Mehdi Abaakouk | </pre> |
72 | 1 | Mehdi Abaakouk | |
73 | 1 | Mehdi Abaakouk | h2. Fichier de configuration de check_mk |
74 | 1 | Mehdi Abaakouk | |
75 | 1 | Mehdi Abaakouk | Les fichiers de configuration sont dans /etc/check_mk/ |
76 | 1 | Mehdi Abaakouk | Le fichier principal est main.mk, la liste des contacts se trouve dans conf.d/contacts.mk |
77 | 16 | Mehdi Abaakouk | Les fichiers conf.d/autogen_*.mk sont générer par le script update_vm_parents_and_update_automap.sh |
78 | 26 | 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 d'openstack |
79 | 16 | Mehdi Abaakouk | Il génère aussi la map automap pour nagvis (/usr/local/nagvis/etc/Automap.cfg |
80 | 16 | Mehdi Abaakouk | Il est exécute toutes les 20 minutes |
81 | 1 | Mehdi Abaakouk | |
82 | 1 | Mehdi Abaakouk | h2. Voir le diff entre la conf nagios et la page Architecture du Wiki |
83 | 1 | Mehdi Abaakouk | |
84 | 1 | Mehdi Abaakouk | |
85 | 1 | Mehdi Abaakouk | <pre> |
86 | 1 | Mehdi Abaakouk | /etc/check_mk/diff-nagios-wiki.sh |
87 | 1 | Mehdi Abaakouk | </pre> |
88 | 16 | Mehdi Abaakouk | Le script contrôle le VLAN admin et le 91.224.149.128/25. |
89 | 16 | Mehdi Abaakouk | |
90 | 19 | Mehdi Abaakouk | |
91 | 20 | Mehdi Abaakouk | |
92 | 20 | Mehdi Abaakouk | |
93 | 18 | Mehdi Abaakouk | h2. Configuration d'un nuc utilisé pour tunnel ADSL |
94 | 16 | Mehdi Abaakouk | |
95 | 16 | Mehdi Abaakouk | Sur le nuc: |
96 | 16 | Mehdi Abaakouk | |
97 | 16 | Mehdi Abaakouk | |
98 | 16 | Mehdi Abaakouk | <pre> |
99 | 16 | Mehdi Abaakouk | $ apt-get install puppet |
100 | 16 | Mehdi Abaakouk | $ puppet agent --enable |
101 | 16 | Mehdi Abaakouk | $ puppet agent --server puppet.tetaneutral.net --certname=flambere.tunnel --pluginsync -vt |
102 | 16 | Mehdi Abaakouk | info: Creating a new SSL certificate request for flambere.tunnel |
103 | 16 | Mehdi Abaakouk | info: Certificate Request fingerprint (md5): 3F:E2:E2:14:B3:24:52:51:9D:DE:87:33:E8:2A:BB:7B |
104 | 16 | Mehdi Abaakouk | Exiting; no certificate found and waitforcert is disabled |
105 | 16 | Mehdi Abaakouk | |
106 | 16 | Mehdi Abaakouk | </pre> |
107 | 16 | Mehdi Abaakouk | |
108 | 17 | Mehdi Abaakouk | Sur la machine puppet dans le fichier /etc/puppet/manifests/nodes/adsl-tunnel.pp ajouter: |
109 | 16 | Mehdi Abaakouk | |
110 | 16 | Mehdi Abaakouk | <pre> |
111 | 16 | Mehdi Abaakouk | node "flambere.tunnel" { |
112 | 16 | Mehdi Abaakouk | $puppet_certname="flambere.tunnel" |
113 | 16 | Mehdi Abaakouk | class{'tsf_nuc':} |
114 | 16 | Mehdi Abaakouk | } |
115 | 16 | Mehdi Abaakouk | </pre> |
116 | 16 | Mehdi Abaakouk | |
117 | 16 | Mehdi Abaakouk | Puis taper: |
118 | 16 | Mehdi Abaakouk | <pre> |
119 | 16 | Mehdi Abaakouk | $ puppet ca sign flambere.tunnel |
120 | 16 | Mehdi Abaakouk | Notice: Signed certificate request for flambere.tunnel |
121 | 16 | Mehdi Abaakouk | Notice: Removing file Puppet::SSL::CertificateRequest flambere.tunnel at '/var/lib/puppet/ssl/ca/requests/flambere.tunnel.pem' |
122 | 16 | Mehdi Abaakouk | "-----BEGIN CERTIFICATE-----XXXXXXXXXXXXXXXXX\n-----END CERTIFICATE-----\n" |
123 | 16 | Mehdi Abaakouk | </pre> |
124 | 16 | Mehdi Abaakouk | |
125 | 16 | Mehdi Abaakouk | Retourner sur le nuc et faire: |
126 | 16 | Mehdi Abaakouk | |
127 | 16 | Mehdi Abaakouk | <pre> |
128 | 16 | Mehdi Abaakouk | $ puppet agent --server puppet.tetaneutral.net --certname=flambere.tunnel --pluginsync -vt |
129 | 16 | Mehdi Abaakouk | </pre> |
130 | 16 | Mehdi Abaakouk | |
131 | 16 | Mehdi Abaakouk | |
132 | 16 | Mehdi Abaakouk | Sur la machine nagios ajouter le host avec son ip: |
133 | 1 | Mehdi Abaakouk | |
134 | 19 | Mehdi Abaakouk | <pre> |
135 | 16 | Mehdi Abaakouk | all_host = [ |
136 | 16 | Mehdi Abaakouk | ... |
137 | 16 | Mehdi Abaakouk | "flambere.tunnel|noipv6|noapt|adsltunnel", |
138 | 16 | Mehdi Abaakouk | ... |
139 | 16 | Mehdi Abaakouk | ] |
140 | 16 | Mehdi Abaakouk | |
141 | 1 | Mehdi Abaakouk | ipaddresses['flambere.tunnel'] = '10.0.12.2' |
142 | 19 | Mehdi Abaakouk | </pre> |
143 | 19 | Mehdi Abaakouk | |
144 | 19 | Mehdi Abaakouk | Puis taper: |
145 | 19 | Mehdi Abaakouk | |
146 | 19 | Mehdi Abaakouk | <pre> |
147 | 19 | Mehdi Abaakouk | cmk -II flambere.tunnel && cmk -O |
148 | 19 | Mehdi Abaakouk | </pre> |
149 | 6 | Mehdi Abaakouk | |
150 | 6 | Mehdi Abaakouk | h2. Liens vers outils de visualisation des logs |
151 | 6 | Mehdi Abaakouk | - http://logstash.net/ |
152 | 6 | Mehdi Abaakouk | - http://kibana.org/ |