sysadmin:automation
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| sysadmin:automation [2015/01/11 11:36] – [Approfondimenti] kobe | sysadmin:automation [Unknown date] (current) – removed - external edit (Unknown date) 127.0.0.1 | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | ====== 1ring: Automating Ops ====== | ||
| - | L' | ||
| - | * deploy e monitoraggio delle applicazioni | ||
| - | * monitoraggio dei processi principali (attivi e disattivi) | ||
| - | * monitoraggio delle risorse hardware (CPU load, RAM, Swap, disco..) | ||
| - | * assicurarsi che tutti i server siano sempre accessibili via SSH | ||
| - | * test sugli URL e redirect (verifica ritorno status code 200/30x su richieste HTTP) | ||
| - | * inviare notifiche a '' | ||
| - | |||
| - | I luoghi di riferimento di questo progetto sono: | ||
| - | * [[automation|questa stessa pagina wiki]] | ||
| - | * l' | ||
| - | * gli alert arrivano all' | ||
| - | |||
| - | ===== Repository Git ===== | ||
| - | |||
| - | Il **master** ('' | ||
| - | |||
| - | doc/ documentazione | ||
| - | inventories/ | ||
| - | group_vars/ | ||
| - | group_files/ | ||
| - | host_vars/ | ||
| - | host_files/ | ||
| - | prod.ini | ||
| - | dev.ini | ||
| - | playbooks/ | ||
| - | jobs_high.yml | ||
| - | jobs_low.yml | ||
| - | roles/ | ||
| - | secrets/ | ||
| - | utils/ | ||
| - | ansible.cfg | ||
| - | README.rst | ||
| - | |||
| - | Nota: per info sui nostri role [[Ansible|tutti i dettagli qui]] | ||
| - | |||
| - | ==== FAQ ==== | ||
| - | |||
| - | Alcune FAQ su dove trovare cosa: | ||
| - | |||
| - | * **archivio keepassx?** '' | ||
| - | * **chiavi SSH?** '' | ||
| - | * **info sulle installazioni di Gasista Felice?** '' | ||
| - | * **messaggio motd per host befair0?** '' | ||
| - | * **demoni/ | ||
| - | * **limite swap su tutti i server spes?** '' | ||
| - | * **info per accedere via SSH ai server?** '' | ||
| - | * **ci sono variabili globali?** '' | ||
| - | |||
| - | Il repository Git disponde di 2 branch: | ||
| - | * '' | ||
| - | * '' | ||
| - | |||
| - | L'idea e' fare periodicamente il rebase del branch '' | ||
| - | |||
| - | E' possibile clonarsi il repository in locale con: | ||
| - | |||
| - | $ git clone root@befair2.befair.it: | ||
| - | |||
| - | ===== Monitoraggio delle risorse ===== | ||
| - | |||
| - | Al momento vengono archiviati i dati relativi al load_avg e alla memoria. | ||
| - | |||
| - | 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' | ||
| - | |||
| - | 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:// | ||
| - | |||
| - | ==== Alert per CPU ==== | ||
| - | |||
| - | Il limite e' sul load_avg normalizzato, | ||
| - | |||
| - | ==== Alert per 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' | ||
| - | |||
| - | ==== Ricevere gli alert ==== | ||
| - | |||
| - | Per modificare gli account a cui inviare gli alert via XMPP, modificare il file '' | ||
| - | |||
| - | Per gli alert via mail, modificare il file ''/ | ||
| - | ===== Monitoraggio dei log (TODO) ===== | ||
| - | |||
| - | Da valutare: | ||
| - | |||
| - | * [[https:// | ||
| - | |||
| - | Sentry è adatto per ricevere errori ed eccezioni, purtroppo non si presta molto bene a ricevere una serie di log temporali che devono essere poi in seguito aggregati ed analizzati | ||
| - | |||
| - | * [[https:// | ||
| - | * [[https:// | ||
| - | |||
| - | |||
| - | ===== Backups ===== | ||
| - | |||
| - | In una condizione ideale, le directory '' | ||
| - | * /root | ||
| - | * /home | ||
| - | * /var in generale | ||
| - | * / | ||
| - | |||
| - | TODO: | ||
| - | * prendere i vari scripts in / | ||
| - | |||
| - | ===== Approfondimenti ===== | ||
| - | |||
| - | * comparativa principali sw automazione: | ||
| - | * visita la [[labs|sezione dedicata alla ricerca di nuove soluzioni]] | ||
| - | * come reagire automaticamente ad eventuali problemi? | ||
sysadmin/automation.1420976183.txt.gz · Last modified: 2015/01/11 11:36 by kobe
