Introduzione
In questo documento viene descritta la piattaforma Grafana e come effettuare il monitoraggio sulla suite CPS (Cisco Policy Suite).
Cos'è Grafana?
Grafana è Graphite Webapp. Graphite è uno strumento di monitoraggio open-source per l'archiviazione e la visualizzazione di dati Time Series.
La grafite è costituita da 3 componenti software:
- Carbonio
- Sospetto
- Grafana (Graphite Webapp)
Come funziona il monitoraggio per CPS?
- Le statistiche del sistema e delle applicazioni CPS e gli indicatori di prestazioni chiave vengono raccolti dal sistema e visualizzati utilizzando uno strumento grafico basato su browser per il monitoraggio.
- L'elenco delle statistiche disponibili in CPS è consolidato in un foglio di calcolo Excel.
- Questo foglio di calcolo è disponibile nel percorso indicato nella macchina virtuale di Gestione cluster:
/var/qps/install/current/scripts/documents/QPS_statistics.xlsx
Funzionamento della raccolta dati
- L'applicazione scrive i dati sui bean JMX. JMX qui è Java Management Extensions.
- I client raccolti vengono eseguiti su tutte le macchine virtuali CPS, ad esempio policy server, qns, policy director, ovvero load balancer e sessionmgr. Recupera i dati dai fagioli JMX utilizzando il plugin JMX (jmxplugin.conf), i dati vengono scritti direttamente su raccolti in caso di sessionmgr.
- I client raccolti eseguono quindi il push dei dati nel nodo master raccolto su pcrfclient01. Il file di configurazione del daemon raccolto viene collectd.conf.
- Il nodo master Raccolti, a sua volta, inoltra i dati raccolti al database della grafite sul pcrfclient01.
- Il database in grafite memorizza statistiche relative al sistema, quali l'utilizzo della CPU, l'utilizzo della memoria e l'interfaccia Ethernet, oltre a contatori dei messaggi dell'applicazione, quali Gx, Gy e Sp.
- Carbon cache scrive questi dati nel database Whisper, i file di configurazione del database utilizzati qui sono storage-schemas.conf & rewrite-rules.conf.
- Grafana quindi estrae questi dati dal file di configurazione del database Whisper wsgi.conf & 25-graphite.conf, mentre eseguiamo la query nella GUI di Grafana.
Utenti in Grafana
Gli utenti devono essere autenticati per accedere a Grafana. Non vengono forniti utenti predefiniti.
Comando per aggiungere un utente:
Esegui da Gestione cluster
/usr/bin/htpasswd -s /var/www/html/htpasswd <nomeutente>
Comando per eliminare un utente:
Esegui da Gestione cluster
/usr/bin/htpasswd -D /var/www/html/htpasswd <nomeutente>
Dopo l'aggiunta o l'eliminazione di un utente Grafana:
- Copiare manualmente il file htpasswd dalla macchina virtuale pcrfclient01 alla macchina virtuale pcrfclient02.
- Eseguire questo comando per sincronizzare le informazioni tra due VM OAM (pcrfclient)
/var/qps/bin/support/grafana_sync.sh
URL da connettere a Grafana
Per la configurazione HA si utilizzano IP virtuali di bilanciamento del carico (LB) per la connessione:
https://<lbvip01>:9443/grafana
Per la configurazione All in One è possibile utilizzare il management IP per la connessione:
htttp://<ip>>:80/grafana
Nota: Gli URL sono presenti anche nell'output dello script about.sh.
Creare un dashboard in Grafana
Passaggio 1. Accedere tramite l'utente Admin. Il quadro comandi può essere creato come mostrato nell'immagine:
Passaggio 2. Selezionare un nuovo dashboard o importarne uno esportato da un altro ambiente.
Per modificare le impostazioni nel quadro comandi in base ai requisiti:
Passaggio 1. Passare a Impostazioni, nell'angolo superiore sinistro della pagina.
Passaggio 2. In Impostazioni è possibile ottenere opzioni per aggiungere metadati, collegamenti, impostazioni di tempo, ecc come mostrato nell'immagine:
Per scrivere una query:
Passaggio 1. Selezionare 3 barre orizzontali sul lato sinistro.
Passaggio 2. Selezionare Aggiungi pannello > Grafico, come mostrato nell'immagine.
Passaggio 3. Fare clic su Seleziona metriche, come mostrato nell'immagine per aggiungere una query.
Esempio:
Per esportare o creare un'istantanea:
Passaggio 1. Selezionare il segno di esportazione dalla barra superiore.
Passaggio 2. È possibile esportare il dashboard in un file JSON o ottenere un collegamento interno al dashboard o creare un'istantanea del dashboard come mostrato nell'immagine.