💾 Archived View for head.baselab.org › gemlog › 2021-10-30.gmi captured on 2022-04-28 at 17:19:41. Gemini links have been rewritten to link to archived content
⬅️ Previous capture (2022-03-01)
-=-=-=-=-=-=-
Da un mesetto a questa parte sto provando la raccolta metriche con lo stack come da titolo.
Il tutto viene quasi da sé senza troppi sbatti.
Dal lato "monitorante", Graphite fornisce il "database" (time series db) su cui salviamo i dati. Invece Grafana permette la visualizzazione di questi dati via web ed eventualmente l'impostazione di allarmi.
Dal lato "monitorato" Collectd raccoglie le metriche e le spedisce, in questo caso a graphite.
Su Debian 11 ho installato:
graphite-carbon graphite-api grafana
Il primo è il vero e proprio TSDB, il secondo il layer che permette di interrogare il DB tramite una API. Esisterebbe anche lo storico "graphite-web" che fa lo stesso lavoro del secondo, ma per Debian 11 non è "pronto" (anche se lo è per Debian 10 e testing...).
Grafana è invece l'applicazione web che si interfaccia con graphite-api per recuperare e graficare le metriche.
Collectd è ormai pacchettizzato per tutti le distribuzioni Linux e non.
Questa per esempio è la configurazione che uso per il notebook:
Hostname "notebook" Interval 60 LoadPlugin syslog <Plugin syslog> LogLevel info </Plugin> LoadPlugin contextswitch LoadPlugin cpu LoadPlugin aggregation LoadPlugin disk LoadPlugin df LoadPlugin interface LoadPlugin load LoadPlugin memory LoadPlugin swap LoadPlugin processes LoadPlugin uptime LoadPlugin users LoadPlugin write_graphite LoadPlugin exec <Plugin exec> Exec "nobody" "/opt/collectd_plugins/top.sh" "-t 100" </Plugin> <Plugin write_graphite> <Node "monitor"> Host "x.x.x.x" Port "2003" Protocol "tcp" ReconnectInterval 0 LogSendErrors true Prefix "collectd." SeparateInstances false StoreRates true AlwaysAppendDS false EscapeCharacter "_" PreserveSeparator false DropDuplicateFields false </Node> </Plugin> <Plugin cpu> ValuesPercentage true </Plugin> <Plugin "aggregation"> <Aggregation> Plugin "cpu" Type "percent" GroupBy "Host" GroupBy "TypeInstance" CalculateNum false CalculateSum true CalculateAverage true CalculateMinimum false CalculateMaximum false CalculateStddev false </Aggregation> </Plugin> <Plugin "df"> ValuesPercentage true ReportInodes true </Plugin>
In particolare il plugin "exec" esegue il mini script "top.sh" (che trovate nel repository Git) che fornisce una panoramica dei processi in base all'uso di CPU e RAM.
________________________________
argomenti
torna a
:: 5fdcf4b :: 2022-02-24T14:26:20 ::