sysadmin:resmonitor
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
sysadmin:resmonitor [2015/01/11 15:05] – [Quickstart / CLI] kobe | sysadmin:resmonitor [Unknown date] (current) – removed - external edit (Unknown date) 127.0.0.1 | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== Monitoraggio delle risorse ====== | ||
- | Al momento vengono archiviati i dati relativi al load_avg e alla memoria. | ||
- | |||
- | ===== Quickstart ===== | ||
- | |||
- | ==== WebUI ==== | ||
- | |||
- | E' possibile accedere all' | ||
- | |||
- | $ ssh root@befair2 -L 8889: | ||
- | |||
- | Ora visitare http:// | ||
- | |||
- | Ho aggiunto solo un paio di grafici, ma se ne possono aggiungere altri (anche se non vengono memorizzati sul server <- IMHO questo e' l' | ||
- | |||
- | ==== CLI ==== | ||
- | |||
- | Inoltre e' possibile accedere ai dati da client Python: | ||
- | |||
- | $ ssh root@befair2 | ||
- | |||
- | # workon 1ring && ipython | ||
- | |||
- | > from influxdb import InfluxDBClient | ||
- | > client = InfluxDBClient(host=' | ||
- | | ||
- | |||
- | Ecco 3 query di esempio: | ||
- | |||
- | > client.get_list_series() | ||
- | | ||
- | > client.query(' | ||
- | | ||
- | > client.query(' | ||
- | |||
- | Per info sul linguaggio per le query vedere http:// | ||
- | |||
- | ===== Alerts ===== | ||
- | |||
- | ==== Come ricere gli alert ==== | ||
- | |||
- | Per modificare gli account a cui inviare gli alert via XMPP, modificare il file '' | ||
- | |||
- | Per gli alert via mail, modificare il file ''/ | ||
- | |||
- | ==== CPU, carico del sistema ==== | ||
- | |||
- | Il limite e' sul load_avg normalizzato, | ||
- | |||
- | ==== Memoria e disco ==== | ||
- | |||
- | Sono attive notifiche via Mail e XMPP (che in futuro potrebbero passare a Telegram, al momento non c' | ||
- | * se un valore supera il limite che ci siamo dati (es: 80% spazio di una partizione) --> warning --> notifica XMPP | ||
- | * se un valore supera la meta' di quel che e' rimasto (es: 90% di una partizione) --> critical --> notifica mail a '' | ||
- | |||
- | Quindi se un limite e' all' | ||
- | |||
- | ==== Ping latency ==== | ||
- | |||
- | Avevo in mente di realizzare un modulo personalizzato ping_icmp come consigliato da Andrea, a questo punto possiamo farlo un po' piu' complesso per fare anche questo. | ||
- | |||
- | Questo modulo potrebbe prendere in ingresso: | ||
- | |||
- | * server da pingare | ||
- | * numero di pacchetti | ||
- | * timeout warning | ||
- | default a... 5?) | ||
- | * timeout assoluto | ||
- | default a... 30?) | ||
- | |||
- | In output potrebbe essere qualcosa come: | ||
- | |||
- | { | ||
- | pacchetti_ok: | ||
- | pacchetti_lenti: | ||
- | pacchetti_persi: | ||
- | percentuale_pacchetti_ok: | ||
- | percentuale_pacchetti_lenti: | ||
- | percentuale_pacchetti_persi: | ||
- | } | ||
- | |||
- | I casi d'uso sarebbero: | ||
- | |||
- | * verificare che, pingango dal nostro master, un nostro server sia raggiungibile | ||
- | * verificare i tempi di latenza da quel server verso un server esterno tipo 8.8.8.8 | ||
- | |||
- | Come in Sanet si dovrebbe registrare la latenza nella serie e mostrare una barra rossa in caso di pacchetti persi. Gialla se possibile quando la latenza supera una certa soglia. | ||
- | |||
- | ===== Dashboard ===== | ||
- | |||
- | TODO: | ||
- | * dashboard per tutti i server | ||
- | * torte per spazio partizioni | ||
- | * ping con latenza | ||
- | |||
- | ===== Standard per metriche ===== | ||
- | |||
- | Formato proposto da Luca: | ||
- | |||
- | server: [ | ||
- | { | ||
- | timestamp: unix epoch, | ||
- | id-del-controllo1 : < | ||
- | id-del-controllo2 : < | ||
- | alert-limit : { | ||
- | id-del-controllo1 : < | ||
- | id-del-controllo2 : < | ||
- | } | ||
- | }, | ||
- | { ... }, | ||
- | { ... } | ||
- | ] | ||
- | |||
- | Questa proposta e' stata poi riadattata per InfluxDB 0.8 ed entrata in produzione da inizio dicembre 2014: | ||
- | |||
- | [{ | ||
- | " | ||
- | " | ||
- | " | ||
- | " | ||
- | " | ||
- | ], | ||
- | " | ||
- | [ | ||
- | timestamp, | ||
- | valore1, | ||
- | valore2, | ||
- | valore3 | ||
- | ], | ||
- | [ | ||
- | timestampB, | ||
- | valore1B, | ||
- | valore2B, | ||
- | valore3B | ||
- | ], | ||
- | ... | ||
- | ] | ||
- | }] | ||
- | |||
- | Al momento mancano tuttavia da archiviare: | ||
- | * dati relativi all' | ||
- | * ping con latenza | ||
- | |||
- | Inoltre bisognerebbe standardizzare il formato su InfluxDB secondo le nuove funzionalita' | ||
- | |||
- | * cAdvisor: [[https:// | ||
- | * Salt ha il modulo [[http:// | ||
- | |||
- | check_load: | ||
- | status.loadavg: | ||
- | - name: 1-min | ||
- | - maximum: 1.2 | ||
- | - minimum: 0.05 | ||
- | - onfail: | ||
- | - pagerduty: loadavg_trigger |
sysadmin/resmonitor.1420988746.txt.gz · Last modified: 2015/01/11 15:05 by kobe