Codemotion 2014 : ottimizzare JAVA e PHP su un’architettura Raspberry Pi Cluster
- Codemotion Rome 2015
-
Upload
codemotion -
Category
Documents
-
view
110 -
download
4
Transcript of - Codemotion Rome 2015
Sistemi di monitoring, logging e alerting moderni(ovvero come preservare la propria sanità mentale)
Ivan Rossi
[email protected] – BioDec
Codemotion Rome 2015
Ivan Rossi (BioDec) DevOps MLA Codemotion Rome 2015 1 / 48
Indice
1 Prima premessa: una cosa chiamata cloud
2 Seconda premessa: una cosa chiamata DevOpsCAMS
3 Basta premesse: gli strumentiUna nota importanteLoggingMonitoringAlerting
Ivan Rossi (BioDec) DevOps MLA Codemotion Rome 2015 2 / 48
Prima premessa: una cosa chiamata cloud
Indice
1 Prima premessa: una cosa chiamata cloud
2 Seconda premessa: una cosa chiamata DevOpsCAMS
3 Basta premesse: gli strumentiUna nota importanteLoggingMonitoringAlerting
Ivan Rossi (BioDec) DevOps MLA Codemotion Rome 2015 3 / 48
Prima premessa: una cosa chiamata cloud
Cloud + Virtualizzazione = Infrastruttura distribuita
GRAZIE AI SISTEMI CLOUD E ALLA VIRTUALIZZAZIONE, nei prossimi annisarà necessario dotarsi di strumenti efficaci per gestire la complessità
di un’infrastruttura distribuita.O rinunciare alla gestione della medesima.
Ivan Rossi (BioDec) DevOps MLA Codemotion Rome 2015 4 / 48
Prima premessa: una cosa chiamata cloud
Cloud + Virtualizzazione = Infrastruttura distribuita
GRAZIE AI SISTEMI CLOUD E ALLA VIRTUALIZZAZIONE, nei prossimi annisarà necessario dotarsi di strumenti efficaci per gestire la complessità
di un’infrastruttura distribuita.O rinunciare alla gestione della medesima.
Ivan Rossi (BioDec) DevOps MLA Codemotion Rome 2015 4 / 48
Prima premessa: una cosa chiamata cloud
Non solo distribuita, ma anche numerosa
Un secondo effetto è che l’infrastruttura sarà molto maggiore di quella acui è abituato l’IT tradizionale, e certi problemi di gestione si presentanosolo su grande scala.O per meglio dire: sapere quello che accade nel piccolo non è un buonmetro per capire cosa accade nel grande.
Ivan Rossi (BioDec) DevOps MLA Codemotion Rome 2015 5 / 48
Prima premessa: una cosa chiamata cloud
Non solo distribuita, ma anche numerosa
Un secondo effetto è che l’infrastruttura sarà molto maggiore di quella acui è abituato l’IT tradizionale, e certi problemi di gestione si presentanosolo su grande scala.O per meglio dire: sapere quello che accade nel piccolo non è un buonmetro per capire cosa accade nel grande.
Ivan Rossi (BioDec) DevOps MLA Codemotion Rome 2015 5 / 48
Seconda premessa: una cosa chiamata DevOps
Indice
1 Prima premessa: una cosa chiamata cloud
2 Seconda premessa: una cosa chiamata DevOpsCAMS
3 Basta premesse: gli strumentiUna nota importanteLoggingMonitoringAlerting
Ivan Rossi (BioDec) DevOps MLA Codemotion Rome 2015 6 / 48
Seconda premessa: una cosa chiamata DevOps
Cronologia Devops
Tutto incomincia con . . . Patrick Debois che nel 2007 si trova a svolgere unlavoro “ibrido” di sviluppo e di sistemi, e non è contento dicome sta procedendo.
23 giugno 2009 John Allspaw presenta il talk “10+ deploys per day: Dev &Ops cooperation at Flickr”.
30-31 ottobre 2009 Il primo DevOps Days a Ghent (B), in Belgio. Grandesuccesso.
marzo 2011 Il rapporto Gartner “The Rise of a New IT Operations SupportModel” prevede che per il 2015 le metodiche DevOpssaranno adottate nel 20% delle imprese Global 2000.
Ivan Rossi (BioDec) DevOps MLA Codemotion Rome 2015 7 / 48
Seconda premessa: una cosa chiamata DevOps
Il movimento in Italia
Nell’ottobre 2012, c’è stata la prima edizione dei DevOps Days italiana, aRoma, con quasi duecento partecipanti da tutto il mondo.Nel febbraio 2013, a Firenze, si è tenuto il primo “Incontro DevOps Italia”,con 80+ persone presenti.Nel febbraio 2014, a Bologna, si è tenuto il secondo “Incontro DevOpsItalia”, con 120+ persone presenti.
Il 10 aprile 2015, a Bologna, si terrà il terzo “Incontro DevOps Italia”.Partecipate numerosi!
Info: http://incontrodevops.it
Ivan Rossi (BioDec) DevOps MLA Codemotion Rome 2015 8 / 48
Seconda premessa: una cosa chiamata DevOps
Il movimento in Italia
Nell’ottobre 2012, c’è stata la prima edizione dei DevOps Days italiana, aRoma, con quasi duecento partecipanti da tutto il mondo.Nel febbraio 2013, a Firenze, si è tenuto il primo “Incontro DevOps Italia”,con 80+ persone presenti.Nel febbraio 2014, a Bologna, si è tenuto il secondo “Incontro DevOpsItalia”, con 120+ persone presenti.
Il 10 aprile 2015, a Bologna, si terrà il terzo “Incontro DevOps Italia”.Partecipate numerosi!
Info: http://incontrodevops.it
Ivan Rossi (BioDec) DevOps MLA Codemotion Rome 2015 8 / 48
Seconda premessa: una cosa chiamata DevOps CAMS
Indice
1 Prima premessa: una cosa chiamata cloud
2 Seconda premessa: una cosa chiamata DevOpsCAMS
3 Basta premesse: gli strumentiUna nota importanteLoggingMonitoringAlerting
Ivan Rossi (BioDec) DevOps MLA Codemotion Rome 2015 9 / 48
Seconda premessa: una cosa chiamata DevOps CAMS
Uno slogan: CAMS
C cultureA automateM measureS share
Ivan Rossi (BioDec) DevOps MLA Codemotion Rome 2015 10 / 48
Seconda premessa: una cosa chiamata DevOps CAMS
Uno slogan: CAMS
C cultureA automateM measureS share
Ivan Rossi (BioDec) DevOps MLA Codemotion Rome 2015 10 / 48
Seconda premessa: una cosa chiamata DevOps CAMS
Uno slogan: CAMS
C cultureA automateM measureS share
Ivan Rossi (BioDec) DevOps MLA Codemotion Rome 2015 10 / 48
Seconda premessa: una cosa chiamata DevOps CAMS
Uno slogan: CAMS
C cultureA automateM measureS share
Ivan Rossi (BioDec) DevOps MLA Codemotion Rome 2015 10 / 48
Seconda premessa: una cosa chiamata DevOps CAMS
Uno slogan: CAMS
C cultureA automateM measureS share
Ivan Rossi (BioDec) DevOps MLA Codemotion Rome 2015 10 / 48
Seconda premessa: una cosa chiamata DevOps CAMS
Culture
1CREARE UNA CULTURA della collaborazione. È il primo dettame, maè sovente il più negletto — anche perché è il più difficile da mettere in
pratica.
People and process first. If you don’t have culture, allautomation attempts will be fruitless. (John Willis)
Ivan Rossi (BioDec) DevOps MLA Codemotion Rome 2015 11 / 48
Seconda premessa: una cosa chiamata DevOps CAMS
Automate
2AUTOMATIZZARE ogni azione. Se un’azione manuale può essere svoltada un programma, che lo si scriva. E lo si scriva secondo i crismi con
cui si scrivono i programmi
il fatto che sia un programma per i sistemi (o per i server ) non èun’offesa.
“Sistemista” non è un’offesa.
Ivan Rossi (BioDec) DevOps MLA Codemotion Rome 2015 12 / 48
Seconda premessa: una cosa chiamata DevOps CAMS
Automate
2AUTOMATIZZARE ogni azione. Se un’azione manuale può essere svoltada un programma, che lo si scriva. E lo si scriva secondo i crismi con
cui si scrivono i programmi
il fatto che sia un programma per i sistemi (o per i server ) non èun’offesa.
“Sistemista” non è un’offesa.
Ivan Rossi (BioDec) DevOps MLA Codemotion Rome 2015 12 / 48
Seconda premessa: una cosa chiamata DevOps CAMS
Automate
2AUTOMATIZZARE ogni azione. Se un’azione manuale può essere svoltada un programma, che lo si scriva. E lo si scriva secondo i crismi con
cui si scrivono i programmi
il fatto che sia un programma per i sistemi (o per i server ) non èun’offesa.
“Sistemista” non è un’offesa.
Ivan Rossi (BioDec) DevOps MLA Codemotion Rome 2015 12 / 48
Seconda premessa: una cosa chiamata DevOps CAMS
Corollario: Infrastructure as code
Se solo il codice definisce i componenti dell’infrastruttura significa chequesta non puó essere determinata da:
configurazioni manuali,
cose che si cliccano di qua e di là,
persone (a.k.a. consulenti) che arrivano e fanno cose.
Ivan Rossi (BioDec) DevOps MLA Codemotion Rome 2015 13 / 48
Seconda premessa: una cosa chiamata DevOps CAMS
Corollario: Infrastructure as code
Se solo il codice definisce i componenti dell’infrastruttura significa chequesta non puó essere determinata da:
configurazioni manuali,
cose che si cliccano di qua e di là,
persone (a.k.a. consulenti) che arrivano e fanno cose.
Ivan Rossi (BioDec) DevOps MLA Codemotion Rome 2015 13 / 48
Seconda premessa: una cosa chiamata DevOps CAMS
Corollario: Infrastructure as code
Se solo il codice definisce i componenti dell’infrastruttura significa chequesta non puó essere determinata da:
configurazioni manuali,
cose che si cliccano di qua e di là,
persone (a.k.a. consulenti) che arrivano e fanno cose.
Ivan Rossi (BioDec) DevOps MLA Codemotion Rome 2015 13 / 48
Seconda premessa: una cosa chiamata DevOps CAMS
Corollario: Infrastructure as code
Se solo il codice definisce i componenti dell’infrastruttura significa chequesta non puó essere determinata da:
configurazioni manuali,
cose che si cliccano di qua e di là,
persone (a.k.a. consulenti) che arrivano e fanno cose.
Ivan Rossi (BioDec) DevOps MLA Codemotion Rome 2015 13 / 48
Seconda premessa: una cosa chiamata DevOps CAMS
Measure everything
3MISURARE ogni componente dell’infrastruttura. Il concetto di monitoringnon è affatto nuovo, l’innovazione è nell’avere degli strumenti che
permettano di controllare tutte le parti.Nell’approccio tradizionale si controlla solo la parte sistemistica mentre laparte applicativa ha — nella migliore delle ipotesi — al più una soluzione adhoc.
Ivan Rossi (BioDec) DevOps MLA Codemotion Rome 2015 14 / 48
Seconda premessa: una cosa chiamata DevOps CAMS
Measure everything
3MISURARE ogni componente dell’infrastruttura. Il concetto di monitoringnon è affatto nuovo, l’innovazione è nell’avere degli strumenti che
permettano di controllare tutte le parti.Nell’approccio tradizionale si controlla solo la parte sistemistica mentre laparte applicativa ha — nella migliore delle ipotesi — al più una soluzione adhoc.
Ivan Rossi (BioDec) DevOps MLA Codemotion Rome 2015 14 / 48
Seconda premessa: una cosa chiamata DevOps CAMS
Share
4CONDIVIDERE un progetto comune, un obiettivo, delle pratiche, delletecniche, degli strumenti, fra gruppi eterogenei, e che hanno obiettivi
differenti (complementari).
Sharing is the loopback in the CAMS cycle. Creating a culturewhere people share ideas and problems is critical. (John Willis)
Ivan Rossi (BioDec) DevOps MLA Codemotion Rome 2015 15 / 48
Seconda premessa: una cosa chiamata DevOps CAMS
Forse non si è capito ma . . .
. . . dire che solo il codice definisce l’infrastruttura, e che ogni azione deveessere automatizzata . . . ovvero trasformata in software . . . implica chechiunque adotti queste pratiche, e indipendentemente dal nome con cui sifa chiamare, è anche un . . .
Programmatore
Ivan Rossi (BioDec) DevOps MLA Codemotion Rome 2015 16 / 48
Seconda premessa: una cosa chiamata DevOps CAMS
Forse non si è capito ma . . .
. . . dire che solo il codice definisce l’infrastruttura, e che ogni azione deveessere automatizzata . . . ovvero trasformata in software . . . implica chechiunque adotti queste pratiche, e indipendentemente dal nome con cui sifa chiamare, è anche un . . .
Programmatore
Ivan Rossi (BioDec) DevOps MLA Codemotion Rome 2015 16 / 48
Seconda premessa: una cosa chiamata DevOps CAMS
Forse non si è capito ma . . .
. . . dire che solo il codice definisce l’infrastruttura, e che ogni azione deveessere automatizzata . . . ovvero trasformata in software . . . implica chechiunque adotti queste pratiche, e indipendentemente dal nome con cui sifa chiamare, è anche un . . .
Programmatore
Ivan Rossi (BioDec) DevOps MLA Codemotion Rome 2015 16 / 48
Seconda premessa: una cosa chiamata DevOps CAMS
Forse non si è capito ma . . .
. . . dire che solo il codice definisce l’infrastruttura, e che ogni azione deveessere automatizzata . . . ovvero trasformata in software . . . implica chechiunque adotti queste pratiche, e indipendentemente dal nome con cui sifa chiamare, è anche un . . .
Programmatore
Ivan Rossi (BioDec) DevOps MLA Codemotion Rome 2015 16 / 48
Basta premesse: gli strumenti
Indice
1 Prima premessa: una cosa chiamata cloud
2 Seconda premessa: una cosa chiamata DevOpsCAMS
3 Basta premesse: gli strumentiUna nota importanteLoggingMonitoringAlerting
Ivan Rossi (BioDec) DevOps MLA Codemotion Rome 2015 17 / 48
Basta premesse: gli strumenti
Istruzioni per l’uso
Una nota sull’uso dei font:
il testo normale indica i programmi utilizzati in produzione, in BioDec,
il testo slanted indica programmi valutati ma non in produzione (perragioni diverse, non necessariamente perché inadeguati),
il testo cancellato indica programmi che si possono sostituire conalternative più moderne.
Ivan Rossi (BioDec) DevOps MLA Codemotion Rome 2015 18 / 48
Basta premesse: gli strumenti
Alcune definizioni
DEFINIAMO BREVEMENTE i concetti chiave: ci servirà per capire comesi “incastrano” gli strumenti di cui parleremo nel seguito. Si suppone di
avere un sistema sotto osservazione, di cui ci interessa:
Logging la gestione degli eventi.
Monitoring la gestione delle misure.
Alerting la gestione delle notifiche.
Ivan Rossi (BioDec) DevOps MLA Codemotion Rome 2015 19 / 48
Basta premesse: gli strumenti
Alcune definizioni
DEFINIAMO BREVEMENTE i concetti chiave: ci servirà per capire comesi “incastrano” gli strumenti di cui parleremo nel seguito. Si suppone di
avere un sistema sotto osservazione, di cui ci interessa:
Logging la gestione degli eventi.
Monitoring la gestione delle misure.
Alerting la gestione delle notifiche.
Ivan Rossi (BioDec) DevOps MLA Codemotion Rome 2015 19 / 48
Basta premesse: gli strumenti
Alcune definizioni
DEFINIAMO BREVEMENTE i concetti chiave: ci servirà per capire comesi “incastrano” gli strumenti di cui parleremo nel seguito. Si suppone di
avere un sistema sotto osservazione, di cui ci interessa:
Logging la gestione degli eventi.
Monitoring la gestione delle misure.
Alerting la gestione delle notifiche.
Ivan Rossi (BioDec) DevOps MLA Codemotion Rome 2015 19 / 48
Basta premesse: gli strumenti
Alcune definizioni
DEFINIAMO BREVEMENTE i concetti chiave: ci servirà per capire comesi “incastrano” gli strumenti di cui parleremo nel seguito. Si suppone di
avere un sistema sotto osservazione, di cui ci interessa:
Logging la gestione degli eventi.
Monitoring la gestione delle misure.
Alerting la gestione delle notifiche.
Ivan Rossi (BioDec) DevOps MLA Codemotion Rome 2015 19 / 48
Basta premesse: gli strumenti Una nota importante
Indice
1 Prima premessa: una cosa chiamata cloud
2 Seconda premessa: una cosa chiamata DevOpsCAMS
3 Basta premesse: gli strumentiUna nota importanteLoggingMonitoringAlerting
Ivan Rossi (BioDec) DevOps MLA Codemotion Rome 2015 20 / 48
Basta premesse: gli strumenti Una nota importante
Modularità
UNA COSA IMPORTANTE, che a volte genera confusione, è che i softwaredi cui parleremo spesso svolgono diverse funzioni tutte insieme.
Come principio generale sarebbe bene avere perlomeno un sistema di alertindipendente, che faccia (bene) solo quello, e che usi come componentii dati dei sistemi di logging e di monitoring .I sistemi commerciali falliscono quasi tutti su questo punto: il feature creep— derivante dal fatto che sono comparati sul numero di funzionalità e nonsulla qualità — è responsabile di creare software moloch che fanno tutto,ma male.
Ivan Rossi (BioDec) DevOps MLA Codemotion Rome 2015 21 / 48
Basta premesse: gli strumenti Una nota importante
Modularità
UNA COSA IMPORTANTE, che a volte genera confusione, è che i softwaredi cui parleremo spesso svolgono diverse funzioni tutte insieme.
Come principio generale sarebbe bene avere perlomeno un sistema di alertindipendente, che faccia (bene) solo quello, e che usi come componentii dati dei sistemi di logging e di monitoring .I sistemi commerciali falliscono quasi tutti su questo punto: il feature creep— derivante dal fatto che sono comparati sul numero di funzionalità e nonsulla qualità — è responsabile di creare software moloch che fanno tutto,ma male.
Ivan Rossi (BioDec) DevOps MLA Codemotion Rome 2015 21 / 48
Basta premesse: gli strumenti Una nota importante
Modularità
UNA COSA IMPORTANTE, che a volte genera confusione, è che i softwaredi cui parleremo spesso svolgono diverse funzioni tutte insieme.
Come principio generale sarebbe bene avere perlomeno un sistema di alertindipendente, che faccia (bene) solo quello, e che usi come componentii dati dei sistemi di logging e di monitoring .I sistemi commerciali falliscono quasi tutti su questo punto: il feature creep— derivante dal fatto che sono comparati sul numero di funzionalità e nonsulla qualità — è responsabile di creare software moloch che fanno tutto,ma male.
Ivan Rossi (BioDec) DevOps MLA Codemotion Rome 2015 21 / 48
Basta premesse: gli strumenti Logging
Indice
1 Prima premessa: una cosa chiamata cloud
2 Seconda premessa: una cosa chiamata DevOpsCAMS
3 Basta premesse: gli strumentiUna nota importanteLoggingMonitoringAlerting
Ivan Rossi (BioDec) DevOps MLA Codemotion Rome 2015 22 / 48
Basta premesse: gli strumenti Logging
Andare oltre tail -f /var/log/syslog
IL CONCETTO DI LOG è a volte sovrappostoo confuso con il concetto di misurare il funzionamento di un sistema.
Un log è diverso da un sistema di misura, perché, sebbene abbia lamedesima connotazione di serie temporale, quanto tracciato sono eventi enon dati numerici.
Ivan Rossi (BioDec) DevOps MLA Codemotion Rome 2015 23 / 48
Basta premesse: gli strumenti Logging
Andare oltre tail -f /var/log/syslog
IL CONCETTO DI LOG è a volte sovrappostoo confuso con il concetto di misurare il funzionamento di un sistema.
Un log è diverso da un sistema di misura, perché, sebbene abbia lamedesima connotazione di serie temporale, quanto tracciato sono eventi enon dati numerici.
Ivan Rossi (BioDec) DevOps MLA Codemotion Rome 2015 23 / 48
Basta premesse: gli strumenti Logging
Andare oltre tail -f /var/log/syslog
I componenti di un sistema di logging:
Route syslog-ng, rsyslog, logstash, heka,
Store elasticsearch (mongodb),
Aggregate graylog, logstash
Visualize graylog, kibana4,
Analyze graylog, kibana4,
Alert un sistema di alerting.
Per intenderci, un sistema “classico” ha tutti i componenti svolti da syslog,con programmi come logwatch o simili per farne l’analisi. Oppure soluzioniproprietarie, tipicamente molto costose.
Ivan Rossi (BioDec) DevOps MLA Codemotion Rome 2015 24 / 48
Basta premesse: gli strumenti Logging
Lo stack ELK
Il cosiddetto stack ELK è composto dai seguenti componenti principali:
Elasticsearch: storage e search engine.
Logstash: parsing e conversione di formati, routing.
Kibana: front-end, ricerca e visualizzazione.
In realtà sarebbe più corretto parlare di stack (R)ELK, dato che che nellegrandi installazioni è molto spesso anche un altro componente con funzionidi cache dei messaggi a monte del Logstash server. Comunemente Rediso RabbitMQ.
Ivan Rossi (BioDec) DevOps MLA Codemotion Rome 2015 25 / 48
Basta premesse: gli strumenti Logging
Lo stack ELK
Il cosiddetto stack ELK è composto dai seguenti componenti principali:
Elasticsearch: storage e search engine.
Logstash: parsing e conversione di formati, routing.
Kibana: front-end, ricerca e visualizzazione.
In realtà sarebbe più corretto parlare di stack (R)ELK, dato che che nellegrandi installazioni è molto spesso anche un altro componente con funzionidi cache dei messaggi a monte del Logstash server. Comunemente Rediso RabbitMQ.
Ivan Rossi (BioDec) DevOps MLA Codemotion Rome 2015 25 / 48
Basta premesse: gli strumenti Logging
Lo stack ELK
Il cosiddetto stack ELK è composto dai seguenti componenti principali:
Elasticsearch: storage e search engine.
Logstash: parsing e conversione di formati, routing.
Kibana: front-end, ricerca e visualizzazione.
In realtà sarebbe più corretto parlare di stack (R)ELK, dato che che nellegrandi installazioni è molto spesso anche un altro componente con funzionidi cache dei messaggi a monte del Logstash server. Comunemente Rediso RabbitMQ.
Ivan Rossi (BioDec) DevOps MLA Codemotion Rome 2015 25 / 48
Basta premesse: gli strumenti Logging
Lo stack ELK
Il cosiddetto stack ELK è composto dai seguenti componenti principali:
Elasticsearch: storage e search engine.
Logstash: parsing e conversione di formati, routing.
Kibana: front-end, ricerca e visualizzazione.
In realtà sarebbe più corretto parlare di stack (R)ELK, dato che che nellegrandi installazioni è molto spesso anche un altro componente con funzionidi cache dei messaggi a monte del Logstash server. Comunemente Rediso RabbitMQ.
Ivan Rossi (BioDec) DevOps MLA Codemotion Rome 2015 25 / 48
Basta premesse: gli strumenti Logging
Lo stack ELK
Il cosiddetto stack ELK è composto dai seguenti componenti principali:
Elasticsearch: storage e search engine.
Logstash: parsing e conversione di formati, routing.
Kibana: front-end, ricerca e visualizzazione.
In realtà sarebbe più corretto parlare di stack (R)ELK, dato che che nellegrandi installazioni è molto spesso anche un altro componente con funzionidi cache dei messaggi a monte del Logstash server. Comunemente Rediso RabbitMQ.
Ivan Rossi (BioDec) DevOps MLA Codemotion Rome 2015 25 / 48
Basta premesse: gli strumenti Logging
Lo stack ELK
Il cosiddetto stack ELK è composto dai seguenti componenti principali:
Elasticsearch: storage e search engine.
Logstash: parsing e conversione di formati, routing.
Kibana: front-end, ricerca e visualizzazione.
In realtà sarebbe più corretto parlare di stack (R)ELK, dato che che nellegrandi installazioni è molto spesso anche un altro componente con funzionidi cache dei messaggi a monte del Logstash server. Comunemente Rediso RabbitMQ.
Ivan Rossi (BioDec) DevOps MLA Codemotion Rome 2015 25 / 48
Basta premesse: gli strumenti Logging
Logstash
Logstash è un applicazione cui moduli svolgono una di tre funzioni differenti:
Input: estrazione dei singoli messaggi di evento da uno streamfiles: logs
servizi (server): syslog, log4j, gelf, tcp, collectd, . . .servizi (client): redis, rabbitmq, websocket, irc, xmpp, . . .
Filter: trasformazione del contenuto dei messaggi (parsingcondizionale, tagging)
Output: il duale dell’input, verso database, sistemi di storage, servizi)
Ivan Rossi (BioDec) DevOps MLA Codemotion Rome 2015 26 / 48
Basta premesse: gli strumenti Logging
Logstash
Logstash è un applicazione cui moduli svolgono una di tre funzioni differenti:
Input: estrazione dei singoli messaggi di evento da uno streamfiles: logs
servizi (server): syslog, log4j, gelf, tcp, collectd, . . .servizi (client): redis, rabbitmq, websocket, irc, xmpp, . . .
Filter: trasformazione del contenuto dei messaggi (parsingcondizionale, tagging)
Output: il duale dell’input, verso database, sistemi di storage, servizi)
Ivan Rossi (BioDec) DevOps MLA Codemotion Rome 2015 26 / 48
Basta premesse: gli strumenti Logging
Logstash
Logstash è un applicazione cui moduli svolgono una di tre funzioni differenti:
Input: estrazione dei singoli messaggi di evento da uno streamfiles: logs
servizi (server): syslog, log4j, gelf, tcp, collectd, . . .servizi (client): redis, rabbitmq, websocket, irc, xmpp, . . .
Filter: trasformazione del contenuto dei messaggi (parsingcondizionale, tagging)
Output: il duale dell’input, verso database, sistemi di storage, servizi)
Ivan Rossi (BioDec) DevOps MLA Codemotion Rome 2015 26 / 48
Basta premesse: gli strumenti Logging
Logstash
Logstash è un applicazione cui moduli svolgono una di tre funzioni differenti:
Input: estrazione dei singoli messaggi di evento da uno streamfiles: logs
servizi (server): syslog, log4j, gelf, tcp, collectd, . . .servizi (client): redis, rabbitmq, websocket, irc, xmpp, . . .
Filter: trasformazione del contenuto dei messaggi (parsingcondizionale, tagging)
Output: il duale dell’input, verso database, sistemi di storage, servizi)
Ivan Rossi (BioDec) DevOps MLA Codemotion Rome 2015 26 / 48
Basta premesse: gli strumenti Logging
Logstash
Logstash è un applicazione cui moduli svolgono una di tre funzioni differenti:
Input: estrazione dei singoli messaggi di evento da uno streamfiles: logs
servizi (server): syslog, log4j, gelf, tcp, collectd, . . .servizi (client): redis, rabbitmq, websocket, irc, xmpp, . . .
Filter: trasformazione del contenuto dei messaggi (parsingcondizionale, tagging)
Output: il duale dell’input, verso database, sistemi di storage, servizi)
Ivan Rossi (BioDec) DevOps MLA Codemotion Rome 2015 26 / 48
Basta premesse: gli strumenti Logging
Logstash
Logstash è un applicazione cui moduli svolgono una di tre funzioni differenti:
Input: estrazione dei singoli messaggi di evento da uno streamfiles: logs
servizi (server): syslog, log4j, gelf, tcp, collectd, . . .servizi (client): redis, rabbitmq, websocket, irc, xmpp, . . .
Filter: trasformazione del contenuto dei messaggi (parsingcondizionale, tagging)
Output: il duale dell’input, verso database, sistemi di storage, servizi)
Ivan Rossi (BioDec) DevOps MLA Codemotion Rome 2015 26 / 48
Basta premesse: gli strumenti Logging
Logstash
Logstash è un applicazione cui moduli svolgono una di tre funzioni differenti:
Input: estrazione dei singoli messaggi di evento da uno streamfiles: logs
servizi (server): syslog, log4j, gelf, tcp, collectd, . . .servizi (client): redis, rabbitmq, websocket, irc, xmpp, . . .
Filter: trasformazione del contenuto dei messaggi (parsingcondizionale, tagging)
Output: il duale dell’input, verso database, sistemi di storage, servizi)
Ivan Rossi (BioDec) DevOps MLA Codemotion Rome 2015 26 / 48
Basta premesse: gli strumenti Logging
Kibana
Kibana è un front-end per Elasticsearch ma specializzato per gestireLogstash, da cui si fanno le query e si creano le dashboard.
Ivan Rossi (BioDec) DevOps MLA Codemotion Rome 2015 27 / 48
Basta premesse: gli strumenti Logging
Graylog
Graylog è uno stack alternativo ad ELK, dove Logstash e kibana vengonorimpiazzati rispettivamente da Graylog e Graylog-web.
Nasce per gestire input da syslog e GELF (logging applicativo)
non svolge funzioni di agent
minore componibilitàconfiguration is NOT code
si configura via interfaccia web (Graylog-web)le configurazioni sono immagazzinate in MongoDB
Ivan Rossi (BioDec) DevOps MLA Codemotion Rome 2015 28 / 48
Basta premesse: gli strumenti Logging
Graylog
Graylog è uno stack alternativo ad ELK, dove Logstash e kibana vengonorimpiazzati rispettivamente da Graylog e Graylog-web.
Nasce per gestire input da syslog e GELF (logging applicativo)
non svolge funzioni di agent
minore componibilitàconfiguration is NOT code
si configura via interfaccia web (Graylog-web)le configurazioni sono immagazzinate in MongoDB
Ivan Rossi (BioDec) DevOps MLA Codemotion Rome 2015 28 / 48
Basta premesse: gli strumenti Logging
Graylog
Graylog è uno stack alternativo ad ELK, dove Logstash e kibana vengonorimpiazzati rispettivamente da Graylog e Graylog-web.
Nasce per gestire input da syslog e GELF (logging applicativo)
non svolge funzioni di agent
minore componibilitàconfiguration is NOT code
si configura via interfaccia web (Graylog-web)le configurazioni sono immagazzinate in MongoDB
Ivan Rossi (BioDec) DevOps MLA Codemotion Rome 2015 28 / 48
Basta premesse: gli strumenti Logging
Graylog
Graylog è uno stack alternativo ad ELK, dove Logstash e kibana vengonorimpiazzati rispettivamente da Graylog e Graylog-web.
Nasce per gestire input da syslog e GELF (logging applicativo)
non svolge funzioni di agent
minore componibilitàconfiguration is NOT code
si configura via interfaccia web (Graylog-web)le configurazioni sono immagazzinate in MongoDB
Ivan Rossi (BioDec) DevOps MLA Codemotion Rome 2015 28 / 48
Basta premesse: gli strumenti Logging
Graylog-web
Ivan Rossi (BioDec) DevOps MLA Codemotion Rome 2015 29 / 48
Basta premesse: gli strumenti Monitoring
Indice
1 Prima premessa: una cosa chiamata cloud
2 Seconda premessa: una cosa chiamata DevOpsCAMS
3 Basta premesse: gli strumentiUna nota importanteLoggingMonitoringAlerting
Ivan Rossi (BioDec) DevOps MLA Codemotion Rome 2015 30 / 48
Basta premesse: gli strumenti Monitoring
Measure ! Measure ! Measure everywhere !
PER DEFINIRE l’atto del controllare, dobbiamo definirecosa intendiamo controllare, ovvero cosa intendiamo misurare.
Una misura è un valore numerico con un nome e il momento in cui essaè stata effettuata. Una successione di misure è pertanto una serietemporale di valore numerici associati ad un’etichetta (o nome).
Ivan Rossi (BioDec) DevOps MLA Codemotion Rome 2015 31 / 48
Basta premesse: gli strumenti Monitoring
Measure ! Measure ! Measure everywhere !
PER DEFINIRE l’atto del controllare, dobbiamo definirecosa intendiamo controllare, ovvero cosa intendiamo misurare.
Una misura è un valore numerico con un nome e il momento in cui essaè stata effettuata. Una successione di misure è pertanto una serietemporale di valore numerici associati ad un’etichetta (o nome).
Ivan Rossi (BioDec) DevOps MLA Codemotion Rome 2015 31 / 48
Basta premesse: gli strumenti Monitoring
Measure ! Measure ! Measure everywhere !
I componenti di un sistema di misura:
Route collectd, statsd, metricsd,
Store graphite (whisper), blueflood
Aggregate graphite (carbon), blueflood
Visualize graphite-web, grafana, graph-explorer,
Analyze sensu,
Alert un sistema di alerting.
Per intenderci, un sistema “classico” ha tutti i componenti svolti da Nagios,con Cacti / Pnp4Nagios o Munin come sistema di visualizzazione.
Ivan Rossi (BioDec) DevOps MLA Codemotion Rome 2015 32 / 48
Basta premesse: gli strumenti Monitoring
Punto chiave: la visualizzazione
SEBBENE TUTTE le componenti siano necessarie, ce n’è una che è piùcritica delle altre. La caratteristica chiave di un sistema di monitoring è
la visualizzazione.Ovvero rendere immediatamente esplicite le informazioni.
Ivan Rossi (BioDec) DevOps MLA Codemotion Rome 2015 33 / 48
Basta premesse: gli strumenti Monitoring
Punto chiave: la visualizzazione
SEBBENE TUTTE le componenti siano necessarie, ce n’è una che è piùcritica delle altre. La caratteristica chiave di un sistema di monitoring è
la visualizzazione.Ovvero rendere immediatamente esplicite le informazioni.
Ivan Rossi (BioDec) DevOps MLA Codemotion Rome 2015 33 / 48
Basta premesse: gli strumenti Monitoring
Lo stack Graphite
I componenti dello stack di Graphite:
Route collectd, statsd, metricsd,
Store graphite (whisper)
Aggregate graphite (carbon)
Visualize graphite-web, grafana
Ivan Rossi (BioDec) DevOps MLA Codemotion Rome 2015 34 / 48
Basta premesse: gli strumenti Monitoring
Graphite + Statsd
Ivan Rossi (BioDec) DevOps MLA Codemotion Rome 2015 35 / 48
Basta premesse: gli strumenti Monitoring
Graphite + Statsd
Ivan Rossi (BioDec) DevOps MLA Codemotion Rome 2015 36 / 48
Basta premesse: gli strumenti Monitoring
Graphite + Statsd
Ivan Rossi (BioDec) DevOps MLA Codemotion Rome 2015 37 / 48
Basta premesse: gli strumenti Monitoring
Integrazione di dati applicativi e di sistema
È lo stesso graficodi prima — un paiodi ore dopo, per laprecisione — macol load di ogniRiak server delcluster (5 servervirtuali diversi).
Ivan Rossi (BioDec) DevOps MLA Codemotion Rome 2015 38 / 48
Basta premesse: gli strumenti Monitoring
Grafana
Grafana è una dashboard alternativa a graphite-web, molto curata dal puntodi vista dell’UI e della presentazione.
Ivan Rossi (BioDec) DevOps MLA Codemotion Rome 2015 39 / 48
Basta premesse: gli strumenti Alerting
Indice
1 Prima premessa: una cosa chiamata cloud
2 Seconda premessa: una cosa chiamata DevOpsCAMS
3 Basta premesse: gli strumentiUna nota importanteLoggingMonitoringAlerting
Ivan Rossi (BioDec) DevOps MLA Codemotion Rome 2015 40 / 48
Basta premesse: gli strumenti Alerting
Una telefonata nel cuore della notte
Address: node022.example.comService: Memory usedState: WARNING -> OK (RECOVERY)Command: check_mk-mem.usedOutput: OK - 3.07 GB used (2.82 GB RAM + 0.24 GB SWAP,this is 4.9% of 62.89 GB RAM)
Ivan Rossi (BioDec) DevOps MLA Codemotion Rome 2015 41 / 48
Basta premesse: gli strumenti Alerting
Il sistema di allarme
SIA IL SISTEMA di logging che quello di monitoring avevano comeulteriore (sotto-)componente il sistema di alerting, che è pertanto
trasversale e comune a diversi ambiti.Un sistema d’allarme è un meccanismo che genera messaggi specifici aduno stato del sistema, e li recapita ad un determinato destinatario.
Ivan Rossi (BioDec) DevOps MLA Codemotion Rome 2015 42 / 48
Basta premesse: gli strumenti Alerting
Il sistema di allarme
SIA IL SISTEMA di logging che quello di monitoring avevano comeulteriore (sotto-)componente il sistema di alerting, che è pertanto
trasversale e comune a diversi ambiti.Un sistema d’allarme è un meccanismo che genera messaggi specifici aduno stato del sistema, e li recapita ad un determinato destinatario.
Ivan Rossi (BioDec) DevOps MLA Codemotion Rome 2015 42 / 48
Basta premesse: gli strumenti Alerting
Come fare un sistema di alerting ?
Nella sua versione minimale un sistema d’allarme è composto dai seguenticomponenti:
1 un generatore di allarmi,2 il messaggio, che descrive l’allarme,3 il destinatario del messaggio,4 il sotto-sistema preposto alla consegna del messaggio.
Ivan Rossi (BioDec) DevOps MLA Codemotion Rome 2015 43 / 48
Basta premesse: gli strumenti Alerting
Come fare un sistema di alerting ?
Nella sua versione minimale un sistema d’allarme è composto dai seguenticomponenti:
1 un generatore di allarmi,2 il messaggio, che descrive l’allarme,3 il destinatario del messaggio,4 il sotto-sistema preposto alla consegna del messaggio.
Ivan Rossi (BioDec) DevOps MLA Codemotion Rome 2015 43 / 48
Basta premesse: gli strumenti Alerting
Come fare un sistema di alerting ?
Nella sua versione minimale un sistema d’allarme è composto dai seguenticomponenti:
1 un generatore di allarmi,2 il messaggio, che descrive l’allarme,3 il destinatario del messaggio,4 il sotto-sistema preposto alla consegna del messaggio.
Ivan Rossi (BioDec) DevOps MLA Codemotion Rome 2015 43 / 48
Basta premesse: gli strumenti Alerting
Come fare un sistema di alerting ?
Nella sua versione minimale un sistema d’allarme è composto dai seguenticomponenti:
1 un generatore di allarmi,2 il messaggio, che descrive l’allarme,3 il destinatario del messaggio,4 il sotto-sistema preposto alla consegna del messaggio.
Ivan Rossi (BioDec) DevOps MLA Codemotion Rome 2015 43 / 48
Basta premesse: gli strumenti Alerting
Come fare un sistema di alerting ?
I componenti di un sistema di alerting:
Generator nagios, icinga, flapjack, riemann (che chiamano questacomponente event processing), sensu,
Message email, SMS, sirene, . . .
Router nagios, icinga, flapjack, riemann, sensu,
Delivery determinata dal message type, quindi SMTP per l’email,eccetera.
Ivan Rossi (BioDec) DevOps MLA Codemotion Rome 2015 44 / 48
Basta premesse: gli strumenti Alerting
Good ol’ Nagios Check_MK Multisite
Ivan Rossi (BioDec) DevOps MLA Codemotion Rome 2015 45 / 48
Basta premesse: gli strumenti Alerting
Good ol’ Nagios Check_MK Multisite
Dettaglio: sono presenti anche dati di monitoraggio. Gli strumenti di vecchiaconcezione mescolano diversi aspetti in un’unica interfaccia.
Ivan Rossi (BioDec) DevOps MLA Codemotion Rome 2015 46 / 48
Basta premesse: gli strumenti Alerting
Concludendo e riassumendo
I sistemi di logging, monitoring e alerting, servono e servirannosempre di più.
Sono sistemi trasversali, soprattutto per l’integrazione di datiapplicativi (Dev ) e di sistema (Ops). Integrazione senza la qualecerte attività di debug possono essere impossibili.
Esistono soluzioni moderne per costruire sistemi modulari edevolvibili.
Rifuggete la tentazione di adottare un sistema monolitico.
Ivan Rossi (BioDec) DevOps MLA Codemotion Rome 2015 47 / 48
Basta premesse: gli strumenti Alerting
Concludendo e riassumendo
I sistemi di logging, monitoring e alerting, servono e servirannosempre di più.
Sono sistemi trasversali, soprattutto per l’integrazione di datiapplicativi (Dev ) e di sistema (Ops). Integrazione senza la qualecerte attività di debug possono essere impossibili.
Esistono soluzioni moderne per costruire sistemi modulari edevolvibili.
Rifuggete la tentazione di adottare un sistema monolitico.
Ivan Rossi (BioDec) DevOps MLA Codemotion Rome 2015 47 / 48
Basta premesse: gli strumenti Alerting
Concludendo e riassumendo
I sistemi di logging, monitoring e alerting, servono e servirannosempre di più.
Sono sistemi trasversali, soprattutto per l’integrazione di datiapplicativi (Dev ) e di sistema (Ops). Integrazione senza la qualecerte attività di debug possono essere impossibili.
Esistono soluzioni moderne per costruire sistemi modulari edevolvibili.
Rifuggete la tentazione di adottare un sistema monolitico.
Ivan Rossi (BioDec) DevOps MLA Codemotion Rome 2015 47 / 48
Basta premesse: gli strumenti Alerting
Concludendo e riassumendo
I sistemi di logging, monitoring e alerting, servono e servirannosempre di più.
Sono sistemi trasversali, soprattutto per l’integrazione di datiapplicativi (Dev ) e di sistema (Ops). Integrazione senza la qualecerte attività di debug possono essere impossibili.
Esistono soluzioni moderne per costruire sistemi modulari edevolvibili.
Rifuggete la tentazione di adottare un sistema monolitico.
Ivan Rossi (BioDec) DevOps MLA Codemotion Rome 2015 47 / 48
Basta premesse: gli strumenti Alerting
Concludendo e riassumendo
I sistemi di logging, monitoring e alerting, servono e servirannosempre di più.
Sono sistemi trasversali, soprattutto per l’integrazione di datiapplicativi (Dev ) e di sistema (Ops). Integrazione senza la qualecerte attività di debug possono essere impossibili.
Esistono soluzioni moderne per costruire sistemi modulari edevolvibili.
Rifuggete la tentazione di adottare un sistema monolitico.
Ivan Rossi (BioDec) DevOps MLA Codemotion Rome 2015 47 / 48
Basta premesse: gli strumenti Alerting
Concludendo e riassumendo
I sistemi di logging, monitoring e alerting, servono e servirannosempre di più.
Sono sistemi trasversali, soprattutto per l’integrazione di datiapplicativi (Dev ) e di sistema (Ops). Integrazione senza la qualecerte attività di debug possono essere impossibili.
Esistono soluzioni moderne per costruire sistemi modulari edevolvibili.
Rifuggete la tentazione di adottare un sistema monolitico.
Ivan Rossi (BioDec) DevOps MLA Codemotion Rome 2015 47 / 48
Basta premesse: gli strumenti Alerting
Concludendo e riassumendo
I sistemi di logging, monitoring e alerting, servono e servirannosempre di più.
Sono sistemi trasversali, soprattutto per l’integrazione di datiapplicativi (Dev ) e di sistema (Ops). Integrazione senza la qualecerte attività di debug possono essere impossibili.
Esistono soluzioni moderne per costruire sistemi modulari edevolvibili.
Rifuggete la tentazione di adottare un sistema monolitico.
Ivan Rossi (BioDec) DevOps MLA Codemotion Rome 2015 47 / 48
Basta premesse: gli strumenti Alerting
Thanks & see you soon . . .
Grazie dell’attenzione!1
IDI2015 Incontro DevOps Italia 2015, Bologna 2015.4.10@incontrodevops http://incontrodevops.it
More news Seguite il blog BioDec http://blog.biodec.com/
Feedback Leave your feedback on Joind.in!https://joind.in/event/view/3347
Domande?
1licenza della presentazione:http://creativecommons.org/licenses/by-sa/3.0/
Ivan Rossi (BioDec) DevOps MLA Codemotion Rome 2015 48 / 48
Basta premesse: gli strumenti Alerting
Thanks & see you soon . . .
Grazie dell’attenzione!1
IDI2015 Incontro DevOps Italia 2015, Bologna 2015.4.10@incontrodevops http://incontrodevops.it
More news Seguite il blog BioDec http://blog.biodec.com/
Feedback Leave your feedback on Joind.in!https://joind.in/event/view/3347
Domande?
1licenza della presentazione:http://creativecommons.org/licenses/by-sa/3.0/
Ivan Rossi (BioDec) DevOps MLA Codemotion Rome 2015 48 / 48
Basta premesse: gli strumenti Alerting
Thanks & see you soon . . .
Grazie dell’attenzione!1
IDI2015 Incontro DevOps Italia 2015, Bologna 2015.4.10@incontrodevops http://incontrodevops.it
More news Seguite il blog BioDec http://blog.biodec.com/
Feedback Leave your feedback on Joind.in!https://joind.in/event/view/3347
Domande?
1licenza della presentazione:http://creativecommons.org/licenses/by-sa/3.0/
Ivan Rossi (BioDec) DevOps MLA Codemotion Rome 2015 48 / 48
Basta premesse: gli strumenti Alerting
Thanks & see you soon . . .
Grazie dell’attenzione!1
IDI2015 Incontro DevOps Italia 2015, Bologna 2015.4.10@incontrodevops http://incontrodevops.it
More news Seguite il blog BioDec http://blog.biodec.com/
Feedback Leave your feedback on Joind.in!https://joind.in/event/view/3347
Domande?
1licenza della presentazione:http://creativecommons.org/licenses/by-sa/3.0/
Ivan Rossi (BioDec) DevOps MLA Codemotion Rome 2015 48 / 48
Basta premesse: gli strumenti Alerting
Thanks & see you soon . . .
Grazie dell’attenzione!1
IDI2015 Incontro DevOps Italia 2015, Bologna 2015.4.10@incontrodevops http://incontrodevops.it
More news Seguite il blog BioDec http://blog.biodec.com/
Feedback Leave your feedback on Joind.in!https://joind.in/event/view/3347
Domande?
1licenza della presentazione:http://creativecommons.org/licenses/by-sa/3.0/
Ivan Rossi (BioDec) DevOps MLA Codemotion Rome 2015 48 / 48
Basta premesse: gli strumenti Alerting
Thanks & see you soon . . .
Grazie dell’attenzione!1
IDI2015 Incontro DevOps Italia 2015, Bologna 2015.4.10@incontrodevops http://incontrodevops.it
More news Seguite il blog BioDec http://blog.biodec.com/
Feedback Leave your feedback on Joind.in!https://joind.in/event/view/3347
Domande?
1licenza della presentazione:http://creativecommons.org/licenses/by-sa/3.0/
Ivan Rossi (BioDec) DevOps MLA Codemotion Rome 2015 48 / 48