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] – [Backups] 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.1420976196.txt.gz · Last modified: 2015/01/11 11:36 by kobe