Checkmk
to checkmk.com
Important

This is a machine translation based on the English version of the article. It might or might not have already been subject to text preparation. If you find errors, please file a GitHub issue that states the paragraph that has to be improved.

1. Introduzione

logo aws

Checkmk include un modulo completo per il monitoraggio di Amazon Web Services (AWS), composto da un connettore per AWS e da una vasta raccolta di plug-in di controllo che recuperano e valutano per te varie metriche e stati.

Oltre alle informazioni generali sui costi sostenuti dal tuo ambiente AWS e sullo stato attuale di AWS nella tua regione, puoi monitorare i seguenti prodotti AWS con tutte le edizioni di Checkmk:

Con CSE Checkmk Ultimate puoi includere nel tuo sistema di monitoraggio anche i seguenti prodotti:

Un elenco completo di tutti i plug-in di controllo disponibili per il monitoraggio di AWS è disponibile nel nostro catalogo dei plugin per i controlli e descriviamo come includere i tuoi cluster Amazon EKS (Amazon Elastic Kubernetes Service) in Checkmk nell'articolo Monitoraggio di Kubernetes.

2. Configurazione del monitoraggio tramite Quick Setup (facoltativo)

Il modo più veloce per configurare un monitoraggio intuitivo per gli ambienti AWS è utilizzare la nostra Quick Setup. Per farlo, apri Setup > Quick Setup > Amazon Web Services (AWS) e clicca su Add configuration. La Quick Setup ti guiderà poi passo dopo passo verso il tuo obiettivo.

Puoi trovare istruzioni dettagliate su come effettuare i preparativi necessari nel tuo ambiente AWS nel capitolo Preparazione di AWS per Checkmk.

Il vantaggio principale di Quick Setup è sicuramente che eventuali errori vengono visualizzati immediatamente durante il processo di configurazione. Nel peggiore dei casi, riceverai un'indicazione chiara e specifica su cosa devi correggere prima di poter passare al passaggio successivo.

Se in un secondo momento desideri o hai bisogno di apportare modifiche alla configurazione creata da Quick Setup, puoi tornare su Setup > Quick Setup. Lì, clicca sul simbolo "icon edit" e seleziona il componente che desideri modificare.

Tip

Gli altri capitoli di questo articolo sono intesi solo come riferimento per gli utenti di Quick Setup. Tuttavia, se il tuo ambiente AWS è piuttosto complesso, ti consigliamo di continuare a eseguire la configurazione seguendo i passaggi riportati di seguito.

3. Implementazione pratica del monitoraggio AWS

3.1. Host e servizi

In Checkmk tutti gli oggetti da monitorare sono organizzati in una struttura gerarchica di host e servizi. Il concetto di host non esiste nei servizi basati sul cloud. Tuttavia, per mantenere la semplicità e la coerenza di Checkmk, continuiamo a effettuare la mappatura degli oggetti AWS secondo lo schema host/servizio.

Il modo in cui ciò viene realizzato può essere illustrato al meglio con un esempio: in una regione sono state configurate diverse istanze EC2. Un'istanza EC2 è solitamente assegnata a un EBS. Questa configurazione appare così in Checkmk:

  • C'è un host che corrisponde all'account AWS. Questo host fornisce una panoramica di tutte le istanze EC2 e del loro stato come servizio.

  • Le istanze EC2 stesse sono host a sé stanti.

  • Su questi host EC2 puoi trovare i servizi con le metriche effettive.

  • Gli EBS vengono interpretati come una sorta di disco rigido e forniscono quindi metriche relative all'I/O (ad es. il numero di byte letti o scritti). A questo scopo, in ogni EBS ci sono servizi separati in Checkmk con il nome AWS/EBS Disk IO che sono assegnati all'istanza EC2.

3.2. Accesso ad AWS

AWS fornisce un'API basata su HTTP tramite la quale sono disponibili anche i dati di monitoraggio. Checkmk accede a questa API tramite l'special agent agent_aws — che sostituisce l'agente Checkmk — ma, a differenza di quest'ultimo, questo agente viene eseguito localmente sul server Checkmk.

4. Preparazione di AWS per Checkmk

4.1. Creazione di un utente

Per abilitare il monitoraggio tramite Checkmk, è consigliabile creare un utente AWS dedicato sotto il tuo account root. Accedi ad AWS come utente root e vai su All services, quindi su Security, Identity, & Compliance > IAM (Identity and Access Management). Vai su Users e crea un nuovo utente con Add user. Come nome utente scegli, ad esempio, check-mk. È importante selezionare l'Access key - Programmatic accesse per Select AWS credential type.

aws create user

4.2. Permessi

L'utente che hai appena creato dovrebbe essere utilizzato solo per il monitoraggio da parte di Checkmk e necessita solo di un accesso in sola lettura ad AWS. Ti consigliamo di assegnare semplicemente a questo utente la policy ReadOnlyAccess. Per trovare questa policy, clicca prima su Attach existing policies directly e poi digita readonlyaccess nella casella di ricerca. Nell'elenco sotto il campo di ricerca, dovrai scorrere abbastanza in basso, perché ci sono parecchie policy che contengono questa stringa.

aws create user policies

4.3. Chiavi

Una volta completata la creazione dell'utente, verrà generata automaticamente una chiave di accesso. Importante: il segreto della chiave viene visualizzato solo una volta, subito dopo la sua creazione. Pertanto, copia la chiave e salvala, ad esempio, nell'archivio password di Checkmk. In alternativa, specificala in chiaro come regola (vedi sotto). Per Checkmk, oltre al segreto, ti serve l'Access key ID. Il nome dell'utente (nel nostro esempio check-mk) qui non ha importanza.

aws create user key

Se per qualche motivo dovessi perdere il segreto, puoi creare una nuova chiave di accesso per l'utente e ottenere un nuovo segreto:

aws create access key

4.4. Accesso alle informazioni di fatturazione

Se vuoi che Checkmk abbia accesso in lettura alle informazioni di fatturazione (per eseguire il controllo globale Costs and Usage), ti serve un'altra policy per il tuo utente AWS — una policy che devi definire tu stesso.

Sotto "Security, Identity, & Compliance > IAM > Policies" seleziona il pulsante "Create Policy". Seleziona da "Select a Service > Service > Choose a Service" il servizio "Billing". Sotto "Actions" spunta la checkbox "Read". Dobbiamo impostare un permesso aggiuntivo. Aggiungine uno tramite il pulsante "Add additional permissions". Seleziona da "Select a Service > Service > Choose a Service" il servizio "Cost Explorer Service". Sotto "Actions" spunta nuovamente la checkbox "Read".

aws policies

Clicca su Review per passare alla fase due. Imposta BillingViewAccess come Name e salva con il pulsante Create policy.

Ora devi aggiungere questa nuova policy all'utente. Torna su Security, Identity, & Compliance > IAM > Policies — nel box di ricerca Filter Policies cerca BillingViewAccess, selezionalo cliccando sul cerchio a sinistra, poi vai su Policy actions > Attach. Qui troverai il tuo utente check-mk, selezionalo e conferma con Attach policy.

5. Configurazione del monitoraggio in Checkmk

5.1. Creazione di un host per AWS

Ora crea un host per monitorare AWS in Checkmk. Puoi assegnare il nome host che preferisci. Importante: poiché AWS come servizio non ha un indirizzo IP o un nome DNS (l'accesso è concesso dallo stesso special agent), devi impostare l'IP address familye su No IP.

monitoring aws add host no ip

5.2. Configurazione dell'agente AWS

AWS non può essere interrogato tramite l'agente Checkmk normale, quindi configura ora l'agente speciale AWS. Per farlo, in "Setup > Agents > VM, cloud, container > Amazon Web Services (AWS)" aggiungi una regola le cui condizioni si applicano solo all'host AWS appena creato.

Nel contenuto effettivo della regola, troverai innanzitutto le informazioni per il login. Qui inserisci l’“Access key ID” dell’utente AWS appena creato check-mk. Scegli qui anche se hai bisogno di un proxy per recuperare i dati e quali dati globali vuoi monitorare, cioè quelli indipendenti da una regione. Attualmente si tratta solo dei dati relativi ai costi:

aws rule 1

Nell'immagine sopra puoi vedere anche l'opzione Use STS AssumeRole to assume a different IAM role. Se utilizzi diversi account su AWS, puoi usare un unico utente di monitoraggio per effettuare il monitoraggio degli altri account.

Ma i dati davvero interessanti sono assegnati alle regioni. Pertanto, seleziona qui la tua regione o le tue regioni AWS:

aws rule 2

In "Services by region to monitor" specifichi quali informazioni vuoi recuperare da queste regioni. Di default sono attivati tutti i servizi AWS e il monitoraggio dei loro limiti. Nell'immagine seguente sono disattivati tutti tranne uno per avere una panoramica migliore:

aws rule 3

Ora puoi limitare i dati recuperati per servizio web o a livello globale tramite "Restrict monitoring services by one of these AWS tags". La limitazione globale verrà sovrascritta se imposti una limitazione per servizio web. Inoltre, non solo hai la possibilità di limitare in base ai tag AWS, ma anche di specificare i nomi espliciti:

aws rule 4

Non dimenticare di assegnare l'special agent all'host creato in precedenza inserendo il nome host in Conditions > Explicit hosts.

5.3. Servizi sull'host AWS stesso

Ora passa alla scoperta del servizio dell'host AWS appena creato in Checkmk, dove Checkmk dovrebbe ora trovare diversi servizi. Dopo aver aggiunto i servizi e dopo aver attivato le modifiche, il monitoraggio apparirà più o meno così:

aws services ec

5.4. Creazione di host per le istanze EC2

I servizi assegnati alle istanze EC2 non vengono assegnati all'host AWS, ma ai cosiddetti host piggybacked. Questo funziona in modo tale che i dati recuperati dall'host AWS vengano distribuiti a questi host piggybacked, che operano senza propri agenti di monitoraggio. A ogni istanza EC2 viene assegnato un host piggybacked.

Per la denominazione di questi host piggybacked, puoi scegliere tra due schemi durante la configurazione dell'agente speciale. Da un lato, puoi denominare gli host in base al loro nome DNS IP privato oppure puoi scegliere la denominazione leggermente più lunga ma univoca in base a IP, regione e ID istanza. Quest'ultima variante è la nostra impostazione predefinita a partire da Checkmk 2.2.0. La variante senza regione e ID istanza è ancora disponibile solo per motivi di compatibilità. Un host piggybacked potrebbe quindi essere denominato, ad esempio, 172.23.1.123-ap-northeast-2-i-0b16121900a32960c. Crea questi host manualmente oppure, se possibile, lascia questo compito alla gestione dinamica degli host.

Configurazione della gestione dinamica degli host

CEE Come utente di una delle nostre edizioni commerciali, puoi semplicemente lasciare la creazione e l'eliminazione degli host per le tue istanze VM alla gestione dinamica degli host. La voce di menu "Setup > Hosts > Dynamic host management" ti porta alla pagina di panoramica di tutte le connessioni già configurate. Clicca su "icon new" Add connection e poi assegna alla connessione un "ID" e un "Title".

Non tutte le opzioni disponibili nella finestra "Connection properties" sono descritte qui di seguito. Se hai domande, consulta l'aiuto in linea e l'articolo principale collegato sopra.

Per prima cosa, assicurati che nella box "Connection properties" sia abilitata la modalità mostra di più in modo che vengano visualizzate tutte le opzioni disponibili.

Successivamente, in "Piggyback creation options" clicca su "Add new element". Personalizza la cartella in cui devono essere creati gli host delle tue istanze VM. Le impostazioni pre-selezionate "Host attributes" sono sostanzialmente corrette per gli host piggyback e non è necessario modificarle.

Attivando l'opzione "Delete vanished hosts", puoi assicurarti che gli host piggybacked dai quali non vengono ricevuti nuovi dati per un determinato periodo di tempo vengano automaticamente eliminati.

Come parte del monitoraggio dei tuoi progetti GCP, dovresti attivare l'opzione "Restrict source hosts". Inserisci il tuo host GCP dalla sezione "Creazione di un host per AWS" qui.

Ad esempio, una configurazione di tale connessione potrebbe apparire così:

Exemplary configuration of connection properties.

Creazione manuale di host per le istanze EC2

In alternativa, puoi creare manualmente gli host per i dati piggyback. In questo caso, è importante che i nomi degli host corrispondano esattamente allo schema descritto sopra.

Tip

Con il comando cmk-piggyback list orphans puoi trovare tutti gli host piggyback orfani per i quali sono presenti dati ma che non sono ancora stati creati come host in Checkmk.

Configura gli host per queste istanze EC2 senza un indirizzo IP (analogamente all’host AWS) e seleziona No API integrations, no Checkmk agent come agente di monitoraggio. Se selezioni anche l’opzione “Always use and expect piggyback data” in “Piggyback”, riceverai un avviso se i dati non dovessero arrivare.

monitoring aws add host for piggyback data

5.5. Host per l'ELB (Classic Load Balancer)

Anche i servizi per l'ELB sono assegnati a host piggybacked. I nomi corrispondono ai loro nomi DNS.

5.6. Monitoraggio delle statistiche di traffico dei bucket S3

Con Checkmk puoi effettuare il monitoraggio del traffico di ciascuno dei tuoi bucket S3. In Checkmk devi semplicemente attivare l'opzione "Request metrics" sotto "Simple Storage Service (S3)".

Option for S3-Buckets with activated request metrics.

In AWS, è necessario un po' più di lavoro. Qui devi ancora configurare queste metriche di richiesta per i bucket che desideri monitorare. AWS descrive in dettaglio come funziona nell'articolo Creazione di una configurazione delle metriche CloudWatch per tutti gli oggetti nel tuo bucket. Durante il Setup in AWS, ti verrà chiesto di creare un filtro. Devi chiamare questo filtro "EntireBucket" in modo che venga riconosciuto da Checkmk. Qualsiasi filtro con un nome diverso verrà ignorato da Checkmk. Quindi sei libero di definire altri filtri per questo bucket senza influire sulla funzionalità in Checkmk.

Creation of a filter for the request metrics.

Anche la scelta del cosiddetto filtro "Scope" in AWS dipende da te. Nella maggior parte dei casi, tuttavia, avrà senso includere nel filtro tutti gli oggetti presenti nel bucket.

Dopo aver configurato le metriche di richiesta, ci vorranno alcuni minuti prima che le metriche vengano effettivamente memorizzate. AWS specifica questo tempo come 15 minuti.

Importante: finché i grafici all’interno della console S3 sono ancora vuoti, non arriverà nulla in Checkmk nemmeno tramite l’special agent. Solo quando le metriche sono state registrate, Checkmk può creare i servizi corrispondenti. Se necessario, esegui nuovamente la scoperta del servizio sull’host AWS.

5.7. Limiti di monitoraggio

Alcuni servizi web di AWS hanno dei limiti e Checkmk è in grado di effettuare il monitoraggio. Ecco alcuni esempi:

Non appena un plug-in di controllo di questo tipo crea dei servizi e li controlla in seguito, l’agente speciale recupererà sempre tutti gli elementi del servizio web. Solo in questo modo Checkmk è in grado di calcolare in modo ragionevole il carico di lavoro attuale rispetto a questi limiti e di verificare le soglie. Questo vale anche se limiti i dati recuperati tramite alcuni tag o nomi nella configurazione.

Il controllo dei limiti è attivato di default per ogni servizio web monitorato. Se vuoi limitare i dati recuperati nella regola dell'agente speciale per ridurre la quantità di dati trasferiti, devi anche disattivare i limiti.

5.8. Altri servizi

Gli altri servizi web in AWS sono assegnati come segue:

Servizio Assegnazione

CE

Costi e utilizzo

Sull'host AWS

EBS

Archivi a blocchi

Aggiunto all'istanza EC2 se appartiene all'istanza, altrimenti all'host AWS

S3

Archivi semplici

Sull'host AWS

RDS

Database relazionali

Sull'host AWS

6. Dashboard

CEE Per iniziare a monitorare AWS in modo pratico, Checkmk include in Checkmk Ultimate due dashboard integrate: AWS EC2 instances e AWS S3. Entrambe sono disponibili come voci di menu nella sezione di monitoraggio all'indirizzo Monitor > Cloud.

Per darti un'idea più chiara, ecco due esempi di come sono strutturate queste dashboard. Per prima cosa, la dashboard delle istanze EC2, dove puoi confrontare lo stato attuale sul lato sinistro e la cronologia delle metriche più importanti sul lato destro:

Dashboard for the AWS EC2 instances.

Il dashboard per i bucket S3 è strutturato in modo molto simile. Sul lato sinistro troverai l'utilizzo attuale della memoria per i rispettivi bucket. A destra, le metriche più importanti vengono nuovamente visualizzate in ordine cronologico.

Dashboard for the AWS S3 buckets.

Last modified: Wed, 07 Jan 2026 17:02:09 GMT via commit 76e4c24dd
In questa pagina