OMS Log Analytics: la gestione dei sistemi Linux

In un mondo IT sempre più eterogeno e in continua evoluzione è di fondamentale importanza avere uno strumento in grado di gestire architetture IT ibride e distribuite tra sistemi on-premises e cloud provider pubblici. Operations Management Suite è la soluzione Microsoft, erogata direttamente dalla cloud, in grado di gestire non solo i sistemi Windows, ma anche le principali distribuzioni Linux. Le potenzialità offerte da Microsoft Operations Management Suite in ambito cross platform sono notevoli e lo rendono lo strumento ideale per gestire e monitorare ambienti eterogenei.

In questo articolo approfondiremo quelli che sono gli aspetti principali della gestione dei sistemi Linux in Log Analytics (OMS).

L’agente OMS può essere installato sulle principali distribuzioni Linux, vi riporto l’elenco completo dei sistemi operativi Linux ad oggi supportati:

  • Amazon Linux 2012.09 –> 2015.09
  • CentOS Linux 5, 6 e 7
  • Debian GNU/Linux 6, 7 e 8
  • Oracle Linux 5, 6 e 7
  • Red Hat Enterprise Linux Server 5, 6 e 7
  • SUSE Linux Enteprise Server 11 e 12
  • Ubuntu 12.04 LTS, 14.04 LTS, 15.04, 15.10, 16.04 LTS
Figura 1 - Distribuzioni Linux supportate in OMS

Figura 1 – Distribuzioni Linux supportate in OMS

L’agente OMS per i sistemi Linux è stato strutturato modularmene basandosi su componenti open source già ampliamente consolidati nel mondo open source. Il core dell’agent di OMS utilizza il noto aggregatore chiamato FluentD per il quale sono già disponibili centinaia di pluging che lasciano la possibilità di estendere quali tipologie di dati raccogliere.

La procedura di installazione dell’agente OMS su macchine Linux prevede i seguenti step:

  1. Download o trasferimento del bundle di installazione sulla macchina Linux. Il bundle di installazione è possibile ottenerlo dalla pagina ufficiale dell’agente OMS: https://github.com/Microsoft/OMS-Agent-for-Linux
  2. Resa del bundle eseguibile:

          chmod +x ./xxx.sh

  1. Installazione del bundle utilizzando la seguente sintassi:

         ./xxx.sh  –install -w OMS_Workspace_ID -s OMS_Workspace_Key

L’ID del Workspace e la chiave è possibile ottenerla accedendo al portale OMS nella sezione Settings – Connected Sources:

Figura 2 - ID e Key del workspace OMS

Figura 2 – ID e Key del workspace OMS

Per ulteriori dettagli relativi alle differenti opzioni di installazione vi invito a consultare la guida di installazione completa.

Nel caso in cui la macchina virtuale Linux sulla quale vogliamo installare l’agente OMS si trovi su Microsoft Azure è possibile effettuare l’onboarding molto facilmente tramite l’apposita Azure VM Extension. Dopo aver effettuato l’accesso al portale Azure basta infatti andare nella sezione “Log Analytics (OMS)” e selezionare il workspace OMS al quale associare il sistema. Accedendo al tile “Data Sources – Virtual Machines” sarà presente l’elenco delle macchine virtuali e selezionando la VM specifica è possibile effettuare il connect:

Figura 3 - Onboarding VM Linux Azure in OMS

Figura 3 – Onboarding VM Linux Azure in OMS

Per chi volesse invece fare il deploy di una nuova macchina virtuale Ubuntu su Azure con già l’agente OMS configurato sul proprio workspace OMS è presente l’apposito ARM (Azure Resource Manager) template già pronto all’uso. L’elenco completo dei template disponibili è possibile consultarlo accedendo alla pagina Azure Quickstart Templates. Nel caso non sia presente il template con le caratteristiche desiderate è possibile crearlo in base alle vostre esigenze. Un buon punto di partenza per iniziare a creare template ARM è la seguente documentazione Microsoft: Authoring Azure Resource Manager templates.

Dopo aver effettuato l’installazione dell’agente OMS su un sistema Linux sono in grado di collezionare differenti tipologie di dati che vi riporto in seguito.

Syslog

OMS consente di scegliere quali eventi syslog raccogliere provenienti dagli strumenti nativi presenti su Linux quali rsyslog e syslog-ng. Per farlo è necessario accedere al portale OMS e nella sezione “Settings – Data” è possibile aggiungere o rimuovere le facilities Syslog, con il relativo grado di severity, che si desidera raccogliere.

Figura 4 - Impostazioni facilities Syslog

Figura 4 – Impostazioni facilities Syslog

Gli eventi Syslog sui sistemi Linux possono spaziare dai kernel log fino agli application log e gli audit log. Un aspetto importante da considerare è che oltre ai server Linux molti apparati di rete e applicativi supportano il forward degli eventi Syslog. Questo ci consente quindi di configurare l’inoltro dei messaggi Syslog verso un unico collettore che ha l’agente OMS per Linux installato e di raccogliere tutti questi eventi nella potente piattaforma OMS Log Analytics, grazie alla quale è possibile effettuare ricerche specifiche in tempi rapidi su differenti fonti dati.

Figura 5 - Forward degli eventi Syslog

Figura 5 – Forward degli eventi Syslog

Ad esempio potrebbe essere utile intercettare specifici eventi provenienti dal firewall e a fronte di un determinato evento configurare un alert con relativa segnalazione tramite posta elettronica.

Dati di performance

Log Analytics ci consente di monitorare in modo dettagliato i nostri sistemi collezionando anche numerose metriche di performance per i principali componenti: System, Processor, Memory e Swap space, Process, Logical Disk (File System) e Physical Disk.

Nella sezione “Settings – Data” del portale OMS troviamo le impostazioni dei Linux Performance Counter dove è possibile configurare quali performance counter raccogliere, con quale frequenza e opzionalmente è possibile applicare anche dei filtri in modo che vengano raccolti solamente per un sottoinsieme della specifica istanza scelta (il tutto tramite regular expression). La lista completa dei performance counter che è possibile raccogliere è consultabile nella documentazione ufficiale in questa sezione.

Log, metriche e dati di inventario di Docker

L’utilizzo sempre più importante di Docker rende fondamentale avere uno strumento come OMS in grado di monitorare dove si trova il container, il relativo stato e avere sempre a disposizione le informazioni dettagliate relative al daemon Docker. Inoltre si possono raccogliere metriche di performance per i container e gli host (CPU, memory, network e storage). Tutto ciò è possibile se si utilizza Docker versione 1.8 o superiore.

Alert da Nagios oppure Zabbix

L’agente OMS è in grado anche di raccogliere alert provenienti dai principali strumenti di monitor per piattaforme open source come Nagios (versione 3 o superiore) e Zabbix (versione 2.x). Gli step necessari per effettuare questo tipo di integrazione sono:

  • Fornire allo user omsagent permessi di lettura ai log di NagiosZabbix;
  • Modificare la configurazione dell’agent editando il file conf secondo le seguenti specifiche:
Figura 6 - Configurazione per Nagios e Zabbix

Figura 6 – Configurazione per Nagios e Zabbix

  • Riavvio del daemon omsagent per rendere effettive le modifiche apportate alla configurazione dell’agent.

Terminati questi semplici passaggi dal portale OMS sarà possibile effettuare delle ricerche (tile “Log Search”) utilizzando le seguenti query:

  • * (Type=Alert) SourceSystem=Nagios” per visualizzare tutti gli alert provenienti da Nagios
  • “* (Type=Alert) SourceSystem=Zabbix” per visualizzare tutti gli alert provenienti da Zabbix

Metriche di performance di Apache e MySQL

Durante il processo di installazione dell’agent di OMS se viene rilevato sulla macchina MySQL Server – MariaDB Server oppure Apache HTTP Server viene installato un monitor provider specifico.

Per quanto riguarda MySQL questo monitor provider collegandosi all’istanza è in grado di raccogliere le statistiche di performance. L’unica configurazione aggiuntiva richiesta per raccogliere questi dati è l’impostazione delle credenziali specifiche che verranno utilizzate dall’agente OMS per accedere a MySQL/MariaDB.

Per consentire invece a OMS di raccogliere i dati di performance di Apache HTTP Server è necessario caricare il modulo Apache specifico utilizzando il seguente comando:

sudo /opt/microsoft/apache-cimprov/bin/apache_config.sh -c

Per maggiori dettagli relativi all’installazione dell’agente OMS sui vostri sistemi Linux vi invito a consultare la documentazione ufficiale.

Conclusioni

Operations Management Suite fornisce già oggi potenzialità uniche nel suo genere nella gestione e nel monitor di ambienti basati su sistemi open source. Trattandosi inoltre di una soluzione direttamente erogata dalla cloud, tra i vari vantaggi c’è la costante e rapida estensione delle funzionalità e delle potenzialità offerte.

Per maggiori dettagli relativi all’installazione dell’agente OMS sui vostri sistemi Linux vi invito a consultare la documentazione ufficiale. Vi ricordo infine che potete provare la soluzione OMS gratuitamente.

Please follow and like us: