Ricerca nel sito web

Come installare InfluxDB e Telegraf su Debian 11


InfluxDB è un database di serie temporali open source scritto in Go. Si tratta di una piattaforma di serie temporali ad alte prestazioni creata appositamente per raccogliere, archiviare, elaborare e visualizzare i dati delle serie temporali. InfluxDB è la soluzione di riferimento per i database di serie temporali, fornisce un motore di dati di serie temporali ad alte prestazioni con potente API integrata per la creazione di applicazioni in tempo reale. InfluxDB è una piattaforma utilizzata per il monitoraggio delle operazioni, la misurazione delle prestazioni di applicazioni e server, i dati dei sensori IoT e l'analisi in tempo reale.

In questa guida configurerai il monitoraggio del dashboard con InfluxDB e invierai le metriche per il monitoraggio del sistema tramite Telegraf. Utilizzerai un server Debian 11 per l'installazione. Questa guida include come proteggere InfluxDB tramite certificati TLS/SSL, configurare InfluxDB tramite IbnfluxDB-CLI (riga di comando) e la configurazione di base di Telegraf per l'invio di parametri a InfluxDB.

Prerequisiti

Per completare questa guida avrai bisogno dei seguenti requisiti:

  • Un server Debian 11: puoi utilizzare due o tre server diversi per l'installazione. Di seguito è riportata l'architettura di base quando si utilizzano più server:

    • server1 utilizzato come server InfluxDB.
    • server2 come monitoraggio di destinazione dove verrà installato Telegraf.
  • Un utente non root con privilegi di amministratore sudo/root.

Installazione di InfluxDB e InfluxDB-CLI

InfluxDB è un database di serie temporali open source che può essere distribuito in più ambienti, che include macchine virtuali con Linux, Windows e macOS. E anche ambienti containerizzati come Docker e Kubernetes.

influxdb2-cli fornisce una riga di comando "influx" che consente di gestire l'amministrazione di influxdb come la gestione di bucket, organizzazioni, utenti, attività, ecc.

In questo primo passaggio, configurerai il repository influxdb, quindi installerai i pacchetti influxdb e influxdb-cli sul tuo sistema.

Per iniziare, esegui il comando apt seguente per installare alcune dipendenze del pacchetto sul tuo server Debian. Quando viene richiesta l'installazione, immettere y e premere INVIO.

sudo apt install gnupg2 wget curl

Successivamente, esegui il comando seguente per scaricare la chiave GPG per il repository influxdb. La chiave GPG verrà archiviata in '/etc/apt/trusted.gpg.d/influxdb.gpg'.

wget -q https://repos.influxdata.com/influxdb.key
echo '23a1c8836f0afc5ed24e0486339d7cc8f6790b83886c4c96995b88a061c5bb5d influxdb.key' | sha256sum -c && cat influxdb.key | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/influxdb.gpg > /dev/null

Ora aggiungi il repository influxdb al tuo sistema tramite il comando seguente. In questo esempio installerai influxdb dal repository del ramo stabile.

echo 'deb [signed-by=/etc/apt/trusted.gpg.d/influxdb.gpg] https://repos.influxdata.com/debian stable main' | sudo tee /etc/apt/sources.list.d/influxdata.list

Successivamente, aggiorna e aggiorna l'indice del tuo pacchetto tramite il comando apt di seguito.

sudo apt update

Dopo aver aggiunto il repository e aggiornato l'indice del pacchetto, eseguire il comando apt riportato di seguito per installare i pacchetti influxdb2 e influxdb2-cli. Al momento in cui scrivo, l'ultima versione stabile di influxdb è v2.xx e influxdb-cli è v2.xx.

sudo apt install influxdb2 influxdb2-cli

Quando viene richiesta la configurazione, inserire y e premere INVIO per procedere.

Dopo aver installato influxdb2 e influxdb2-cli, utilizzare il comando systemctl uitility riportato di seguito per avviare il servizio influxdb.

sudo systemctl start influxdb

Infine, verifica il servizio influxdb utilizzando il comando dell'utilità systemctl riportato di seguito.

sudo systemctl is-enabled influxdb
sudo systemctl status influxdb

Dovresti ricevere l'output del servizio influxdb abilitato e verrà eseguito automaticamente all'avvio. E lo stato del servizio influxdb è in esecuzione.

Con il servizio influxdb in esecuzione è possibile procedere con la configurazione di base di influxdb2-cli.

Configurazione di InfluxDB-CLI

influxdb2-cli fornisce uno strumento da riga di comando per la gestione del server influxdb, denominato 'influx'. Ora verificherai influxdb2-cli e configurerai il completamento bash per il comando 'influx'.

Per verificare influxdb2-cli, esegui il comando seguente sul tuo terminale. Il primo comando controllerà il percorso binario completo del comando 'influx' e il secondo comando verificherà la versione di influxdb2-cli installata sul tuo sistema.

which influx
influx version

Riceverai l'output come nella schermata seguente: il comando 'influx' è disponibile su '/bin/influx' e la versione del pacchetto influxdb2-cli che è stata installata è v2.xx.

Successivamente, imposterai il completamento bash per il comando 'influx' tramite il file di configurazione '~/.bashrc'.

Esegui il comando influx riportato di seguito per generare lo script bash-completion in '/etc/bash_completion.d/influx.sh'. Quindi, rendi eseguibile lo script appena generato '/etc/bash_completion.d/influx.sh' tramite il comando chmod.

sudo influx completion bash > /etc/bash_completion.d/influx.sh
sudo chmod +x /etc/bash_completion.d/influx.sh

Successivamente, apri il file di configurazione '~/.bashrc' tramite il seguente comando dell'editor nano.

sudo nano ~/.bashrc

Aggiungi la seguente configurazione in fondo alla riga. Con questo, caricherai il completamento dello script bash disponibile su più directory.

# enable programmable completion features (you don't need to enable
# this, if it's already enabled in /etc/bash.bashrc and /etc/profile
# sources /etc/bash.bashrc).
if ! shopt -oq posix; then
  if [ -f /usr/share/bash-completion/bash_completion ]; then
    . /usr/share/bash-completion/bash_completion
  elif [ -f /etc/bash_completion ]; then
    . /etc/bash_completion
  fi
fi

Salva il file e esci dall'editor quando hai finito.

Successivamente, esegui il comando seguente per ricaricare la configurazione '~/.bashrc' e ricaricare la shell corrente.

source ~/.bashrc

Infine, digita il comando 'influx' sul tuo terminale e premi TAB per ottenere le opzioni disponibili per il comando 'influx'.

sudo influx TAB

Riceverai quindi l'output come il seguente.

Ora che il servizio influxdb è in esecuzione e la riga di comando influxdb2-cli è configurata, configurerai il firewalld e inizierai a configurare influxdb tramite la riga di comando influxdb2-cli.

Impostazione dell'UFW

Il servizio influxdb predefinito è in esecuzione sulla porta 8086. Questa porta viene utilizzata anche come punto finale in cui influxdb riceverà i parametri dal telegraf.

In questo passaggio, configurerai il firewall ufw e aprirai la porta influxdb '8086' sul firewall ufw.

Il pacchetto ufw non è installato nell'installazione Debian predefinita. Installa ufw tramite il comando apt riportato di seguito.

sudo apt install ufw -y

Dopo aver installato il pacchetto ufw, esegui il comando ufw seguente per aggiungere il servizio OpenSSH e abilitare il servizio firewall ufw.

sudo ufw allow OpenSSH
sudo ufw enable

Quando viene richiesta la conferma, inserire y e premere ENTER. Il servizio ufw ora dovrebbe essere avviato e abilitato e verrà eseguito automaticamente all'avvio.

Successivamente, esegui il comando seguente per aggiungere la porta "8086" al firewall ufw. Quindi, verifica lo stato corrente del firewall ufw.

sudo ufw allow 8086/tcp
sudo ufw status

Riceverai l'output come nella schermata seguente: lo stato del firewall ufw è attivo con il servizio OpenSSH abilitato e la porta '8086'.

Configurazione di InfluxDB tramite InfluxDB-CLI

Per utilizzare influxdb, è necessario configurarlo tramite amministrazione basata sul Web o utilizzando la riga di comando influxdb2-cli. La configurazione di base per influxdb include quanto segue:

  • Utente amministratore di Influxdb
  • Password amministratore di Influxdb
  • Nome dell'organizzazione predefinito
  • Bucket/database predefinito

In questo passaggio, configurerai influxdb tramite il comando influx fornito dal pacchetto influxdb2-cli. Esegui il comando seguente per avviare la configurazione di influxdb.

sudo influx setup

Ora ti verrà richiesta una configurazione di influxdb. Inserisci il nome utente e la password per l'installazione di influxdb. Inserisci il nome dell'organizzazione predefinito e il bucket/database predefinito.

Questo esempio nello screenshot seguente mostra che l'utente per l'installazione di influxdb è "jokic" con il nome dell'organizzazione come "HW.IO" e il bucket predefinito è "mybucket" '.

Dopo aver configurato influxdb, esegui il comando influx seguente per verificare la configurazione.

sudo influx user list
sudo influx auth list

Riceverai un output simile allo screenshot qui sotto. Il comando "influx setup" ha inoltre configurato automaticamente il token per il nuovo utente amministratore con alcune autorizzazioni di amministratore predefinite.

Una volta creato il nuovo utente amministratore e generato il token, ora verificherai le configurazioni accedendo tramite la shell influxdb e il dashboard di amministrazione web.

Esegui il comando seguente per creare una nuova variabile di ambiente 'INFLUX_TOKEN'. E assicurati di cambiare il token con il token generato.

export INFLUX_TOKEN=r_We-DLv_GY64klANaag1jVQ1iQ3oT3By7PLG1m6-TCO_kImk4q0IyKXLDIFs3jjCGG_P8Q0Y_nVwiNw9Vk5tQ==

Ora accedi alla shell influxdb tramite il comando influx riportato di seguito.

sudo influx v1 shell $INFLUX_TOKEN

Dopo aver effettuato l'accesso, riceverai un messaggio del tipo "Connesso a InfluxDB OSS v2.5.1".

Esegui la query seguente per verificare l'elenco di bucket/database sull'installazione di inlfuxdb. La seguente schermata del terminale mostra che il bucket "mybucket" è disponibile su influxdb.

show DATABASES

Ora inserisci 'q' per uscire dallo schermo interattivo. Quindi digitare 'quit' per uscire dalla shell influxdb.

Successivamente, apri il browser web e visita l'indirizzo IP del tuo server seguito dalla porta predefinita 8086 (ovvero: http://192.168.5.8086/). Vedrai la pagina di accesso di influxdb.

Inserisci l'utente e la password dell'amministratore e fai clic su 'ACCEDI'.

Ora otterrai il dashboard di amministrazione di influxdb.

Per verificare l'elenco di bucket/database su influxdb, fai clic su Carica dati > Buckets e vedrai che il bucket "mybucket" è disponibile su influxdb.

A questo punto, hai installato e configurato influxdb con installazione e configurazione di base. Successivamente proteggerai influxdb tramite certificati SSL/TLS e aggiornerai il profilo predefinito per ibnfluxdb2-cli.

Protezione di InfluxDB tramite certificati SSL/TLS

L'installazione di influxdb può essere protetta in molti modi con diversi scenari. Puoi impostare autorizzazioni e permessi per ciascun utente e anche proteggere il trasporto tramite certificati SSL/TLS.

In questo passaggio, proteggerai influxdb con certificati SSL/TLS, quindi assicurati di aver generato certificati SSL/TLS prima di configurare influxdb. Quindi, aggiornerai il profilo predefinito su influxdb2-cli.

Prima di iniziare la configurazione, esegui il comando seguente per creare una nuova directory '/etc/influxdb/ssl' per archiviare i certificati SSL/TLS.

mkdir -p /etc/influxdb/ssl

Copia la chiave pubblica e privata del tuo certificato SSL/TLS nella nuova directory '/etc/influxdb/ssl'. Quindi, modificare la proprietà della directory SSL/TLS nell'utente 'influxdb'.

cp *.pem /etc/influxdb/ssl/
sudo chown -R influxdb: /etc/influxdb/ssl

Successivamente, apri il file di configurazione di influxdb '/opt/influxdb/config.toml' utilizzando il comando dell'editor nano riportato di seguito.

sudo nano /etc/influxdb/config.toml

Aggiungi le seguenti righe, che definiscono il percorso completo della chiave pubblica e privata SSL/TLS.

tls-cert = "/etc/influxdb/ssl/fullchain.pem"
tls-key = "/etc/influxdb/ssl/privkey.pem"

Salva il file e esci dall'editor quando hai finito.

Ora esegui la seguente utilità di comando 'systemctl' per riavviare il servizio influxdb e applicare le nuove modifiche.

sudo systemctl restart influxdb

Con influxdb in esecuzione con una connessione sicura tramite certificati SSL/TLS, non sarai in grado di comunicare con influxdb tramite il comando influx.

Esegui il comando influx seguente per verificare l'elenco dei profili su influxdb2-cli ed esegui la query per verificare l'elenco degli utenti su influxdb.

sudo influx config ls
sudo influx user list

Dovresti visualizzare un messaggio di errore del tipo 'Impossibile elencare gli utenti: 400 Richiesta errata..'.

Per risolvere il problema di autenticazione, è necessario aggiornare il profilo 'predefinito' e modificare l'host/URL predefinito di influxdb nella connessione HTTPS sicura.

Esegui il comando seguente per aggiornare il profilo 'predefinito' all'host influxdb sicuro 'https://influxdb.hwdomain.io:8086'.

sudo influx config set --active --config-name=default --host-url=https://influxdb.hwdomain.io:8086 --token=$INFLUX_TOKEN --org=HW.IO

Ora verifica il nuovo profilo 'predefinito' di aggiornamento tramite il comando influx riportato di seguito.

sudo influx user list
sudo influx auth list

Ora dovresti essere in grado di comunicare nuovamente con influxdb tramite il comando influx. E la connessione tra il comando influx e influxdb è protetta con certificati SSL/TLS.

Ora hai terminato la configurazione di base del server influxdb e sei pronto per configurare Telegraf e inviare le metriche di sistema al server influxdb.

Installazione e configurazione di Telegraf

Telegraf fa parte della piattaforma di serie temporali creata da influxdata. Si tratta di un agente open source basato su server per la raccolta e l'invio di metriche ed eventi da più ambienti come sensori IoT, sistemi di database, telemetria di sistema e strumenti e framework DevOps. Telegraf è compilato come un unico file binario e scritto in Go, non sono necessarie dipendenze esterne per l'installazione.

Telegraf è disponibile per impostazione predefinita nel repository influxdb. Quindi, se stai utilizzando più server Debian, devi aggiungere il repository influxdb a tutti i tuoi server.

In questo passaggio installerai Telegraf su un server Debian 11. Quindi, configura telegraf per inviare i parametri al server influxdb.

Esegui il seguente comando apt per installare telegraf su un server Debian. Assicurati che il repository influxdb sia aggiunto.

sudo apt install telegraf

L'installazione di Telegraf ora dovrebbe essere in esecuzione.

Dopo aver installato telegraf, eseguire l'utilità di comando systemctl seguente per avviare il servizio telegraf.

sudo systemctl start telegraf

Ora verifica il servizio telegraf utilizzando l'utilità di comando systemctl di seguito e assicurati che il servizio sia abilitato e in esecuzione.

sudo systemctl is-enabled telegraf
sudo systemctl status telegraf

Nella schermata del terminale, riceverai l'output come nella schermata seguente: il servizio telegraf è attualmente in esecuzione ed è abilitato, il che significa che il servizio telegeraf verrà avviato automaticamente all'avvio.

Successivamente, apri il file di configurazione di telegraf '/etc/telegraf/telegraf.conf' utilizzando il comando dell'editor nano riportato di seguito.

sudo nano /etc/telegraf/telegraf.conf

Decommenta la sezione '[[outputs.influxdb_v2]]' e modifica la configurazione dei dettagli con le seguenti impostazioni. Assicurati di modificare gli URL influxdb con una connessione HTTPS sicura, il token, il nome dell'organizzazione e il bucket/database predefinito.

 [[outputs.influxdb_v2]]
#   ## The URLs of the influxdb cluster nodes.
.........
#   ###   ##   ex: urls = ["https://us-west-2-1.aws.cloud2.influxdata.com"]
   urls = ["https://influxdb.hwdomain.io:8086"]
#
#   ## Token for authentication.
   token = "FlIq521ZVxEA40Iz7rVVKK25sDmuEWUHm_Mbly-4mYxt-rWrYOOytVnmE5yL5bpNB_gNHBWlYXKDED9PEbk-0g=="
#
#   ## Organization is the name of the organization you wish to write to.
   organization = "HW.IO"
#
#   ## Destination bucket to write into.
   bucket = "mybucket"

Salva il file e esci dall'editor quando hai finito.

Ora esegui il comando dell'utilità systemctl riportato di seguito per riavviare il servizio telegraf e applicare le modifiche.

sudo systemctl restart telegraf

Con il riavvio di telegraf e l'applicazione delle modifiche, verificherai successivamente l'installazione di telegraf, cosa che puoi fare tramite il dashboard di amministrazione di influxdb o tramite la shell di influxdb.

Torna al dashboard di amministrazione di influxdb, fai clic sul menu Esplora dati e seleziona il bucket "mybucket". Dovresti vedere un elenco di parametri di telegraf disponibili su influxdb.

Per verificare dalla shell influxdb, eseguire il comando seguente sul server terminal influxdb.

sudo influx v1 shell

Dopo aver effettuato l'accesso alla shell influxdb, esegui le seguenti query per verificare le metriche di telegraf. La prima query consiste nel passare al bucket "mybucket" e la seconda query consiste nel mostrare le colonne/misure disponibili nel bucket.

use mybucket
SHOW MEASUREMENTS

Di seguito è riportato l'output simile che riceverai sul tuo server terminale: parametri Telegraf che includono cpu, disco, diskio, kernel, mem, processi, swap e il sistema è disponibile sul server influxdb.

Ora hai verificato che i parametri del server telgeraf sono disponibili sul server influxdb. Ciò significa che l'installazione e la configurazione di telegraf sono terminate e hanno avuto successo.

Nell'ultimo passaggio imparerai come creare il monitoraggio del dashboard su influxdb e configurare un nuovo sistema di monitoraggio con le metriche telegraf disponibili sul server influxdb.

Creazione del monitoraggio del dashboard

In quest'ultimo passaggio, configurerai una nuova dashboard per il monitoraggio della telemetria dei sistemi tramite il server influxdb e telegraf. Creerai dashboard influxdb e configurerai celle per il monitoraggio del sistema e visualizzerai le metriche raccolte dal telegraf.

Fai clic sul menu Dashboard, quindi su "Crea Dashboard"

Inserisci il nome del dashboard nella parte superiore della pagina. In questo esempio viene utilizzato il nome del dashboard "Test Dashboard".

Ora fai clic su 'ADD CELL' per aggiungere un nuovo grafico per il monitoraggio del sistema.

Di seguito è riportato il grafico per il monitoraggio della memoria.

Monitoraggio del carico del sistema.

Tempo di attività del server di destinazione.

CPU disponibili nel sistema di destinazione con il numero X.

E infine, l'utente corrente che ha effettuato l'accesso al computer di destinazione.

Dopo la creazione delle celle, di seguito è riportato il risultato dell'esempio di creazione del dashboard su influxdb per il monitoraggio del sistema. Tutti questi parametri vengono raccolti dal telegraf e inviati tutti i parametri ai server influxdb.

Conclusione

In questo tutorial, hai installato il database delle serie temporali influxdb e influxdb2-cli su un server Debian 11. Hai anche protetto l'installazione di influxdb con certificati SSL/TLS e configurato il server influxdb tramite la riga di comando influxdb2-cli 'influx'.

In aggiunta a ciò, hai installato e configurato telegraf per raccogliere e inviare parametri al server influxdb tramite una connessione SSL/TLS sicura. Infine, hai creato una dashboard per il monitoraggio del sistema tramite il server influxdb e telegraf.

Con tutto a posto, ora puoi visualizzare i tuoi sistemi e le tue applicazioni e impostare la dashboard per il monitoraggio. Puoi anche impostare attività influxdb, impostare un sistema di avvisi e altro ancora.

Articoli correlati: