Prometheus è un toolkit open source inizialmente creato su SoundCloud per il monitoraggio e gli avvisi. Il toolkit è ora un progetto open source autonomo e mantenuto indipendentemente da qualsiasi azienda.
Il toolkit raccoglie le metriche dalle destinazioni monitorate eliminando gli endpoint HTTP su tali destinazioni. La maggior parte dei componenti di Prometheus sono in Go. Alcuni scritti in Java, Python e Ruby.
Prometheus funziona bene per registrare qualsiasi serie temporale numerica. Si adatta sia al monitoraggio incentrato sulla macchina che al monitoraggio dell'architettura orientata ai servizi ad alta dinamica. Oltre a semplificare l'esecuzione e l'integrazione nel tuo ambiente, Prometheus offre un ricco modello di dati e un linguaggio di query.
Il seguente tutorial mostra i passaggi per installare Prometheus su CentOS.
Installa e configura Prometheus su CentOS 7
Accedi a Terminal come root e inizia a eseguire i comandi seguenti.
Fase 1:aggiornamento del sistema
yum update -y
Passaggio 2: Disabilita SELinux
Apri la configurazione di SELinux e modifica il file:
vim /etc/sysconfig/selinux
Cambia "SELINUX=enforcing" in "SELINUX=disabilitato".
Salva ed esci dal file. Quindi riavvia il sistema.
reboot
Passaggio 3: Scarica il pacchetto Prometheus
Vai alla pagina di download ufficiale di Prometheus e copia l'URL del file "tar" di Linux.

Esegui il comando seguente per scaricare il pacchetto. Incolla l'URL copiato dopo wget nel comando seguente:
wget https://github.com/prometheus/prometheus/releases/download/v2.8.1/prometheus-2.8.1.linux-amd64.tar.gz
Fase 4 – Configura Prometeo
Aggiungi un utente Prometheus.
useradd --no-create-home --shell /bin/false prometheus
Crea le directory necessarie.
mkdir /etc/prometheus
mkdir /var/lib/prometheus
Cambia il proprietario delle directory di cui sopra.
chown prometheus:prometheus /etc/prometheus
chown prometheus:prometheus /var/lib/prometheus
Ora vai alla posizione di download di Prometheus ed estrailo.
tar -xvzf prometheus-2.8.1.linux-amd64.tar.gz
Rinominalo secondo le tue preferenze.
mv prometheus-2.8.1.linux-amd64 prometheuspackage
Copia i binari "prometheus" e "promtool" dalla cartella "prometheuspackage" in "/usr/local/bin".
cp prometheuspackage/prometheus /usr/local/bin/
cp prometheuspackage/promtool /usr/local/bin/
Cambia la proprietà in utente Prometheus.
chown prometheus:prometheus /usr/local/bin/prometheus
chown prometheus:prometheus /usr/local/bin/promtool
Copia le directory "consoles" e "console_libraries" da "prometheuspackage" a "/etc/prometheus folder"
cp -r prometheuspackage/consoles /etc/prometheus
cp -r prometheuspackage/console_libraries /etc/prometheus
Cambia la proprietà in utente Prometheus
chown -R prometheus:prometheus /etc/prometheus/consoles
chown -R prometheus:prometheus /etc/prometheus/console_libraries
Aggiungi e modifica il file di configurazione di Prometheus.
Le configurazioni devono essere aggiunte a "/etc/prometheus/prometheus.yml"
Ora creeremo il file prometheus.yml.
vim /etc/prometheus/prometheus.yml
Aggiungi la seguente configurazione al file.
global: scrape_interval: 10s scrape_configs: - job_name: 'prometheus_master' scrape_interval: 5s static_configs: - targets: ['localhost:9090']
salva ed esci dal file
Modifica la proprietà del file.
chown prometheus:prometheus /etc/prometheus/prometheus.yml
Configura il file di servizio Prometheus.
vim /etc/systemd/system/prometheus.service
Copia il seguente contenuto nel file.
[Unit] Description=Prometheus Wants=network-online.target After=network-online.target [Service] User=prometheus Group=prometheus Type=simple ExecStart=/usr/local/bin/prometheus \ --config.file /etc/prometheus/prometheus.yml \ --storage.tsdb.path /var/lib/prometheus/ \ --web.console.templates=/etc/prometheus/consoles \ --web.console.libraries=/etc/prometheus/console_libraries [Install] WantedBy=multi-user.target
Salva ed esci dal file.
Ricarica il servizio systemd.
systemctl daemon-reload
Avvia il servizio Prometheus.
systemctl start prometheus
Controlla lo stato del servizio.
systemctl status prometheus

Aggiungi regole firewall.
firewall-cmd --zone=public --add-port=9090/tcp --permanent
Ricarica il servizio firewall.
systemctl reload firewalld
Fase 5:accedi all'interfaccia Web di Prometheus
Utilizza il seguente URL per accedere all'interfaccia utente.
http://Server-IP:9090/graph
Quindi puoi vedere la seguente interfaccia.

Passaggio 6:monitora il server Linux utilizzando Prometheus
Innanzitutto, è necessario configurare l'esportatore di nodi Prometheus su un server Linux.
Copia l'URL di Node Exporter dalla pagina di download ufficiale.

Incolla l'URL copiato dopo wget nel seguente comando:
wget https://github.com/prometheus/node_exporter/releases/download/v0.17.0/node_exporter-0.17.0.linux-amd64.tar.gz

Estrarre il pacchetto scaricato.
tar -xvzf node_exporter-0.17.0.linux-amd64.tar.gz
Crea un utente per l'esportatore di nodi.
useradd -rs /bin/false nodeusr
Sposta il binario in "/usr/local/bin" dal pacchetto estratto scaricato.
mv node_exporter-0.17.0.linux-amd64/node_exporter /usr/local/bin/
Crea un file di servizio per l'esportatore di nodi.
vim /etc/systemd/system/node_exporter.service
Aggiungi il seguente contenuto al file.
[Unit] Description=Node Exporter After=network.target [Service] User=nodeusr Group=nodeusr Type=simple ExecStart=/usr/local/bin/node_exporter [Install] WantedBy=multi-user.target
Salva ed esci dal file.
Ricarica il demone di sistema.
systemctl daemon-reload
Avvia il servizio di esportazione dei nodi.
systemctl start node_exporter
Aggiungi una regola firewall per consentire l'esportazione del nodo.
firewall-cmd --zone=public --add-port=9100/tcp --permanent
Ricarica il servizio firewall.
systemctl restart firewalld
Abilita esportatore di nodi all'avvio del sistema.
systemctl enable node_exporter
Visualizza l'URL dell'esportatore del nodo di navigazione delle metriche.
http://IP-Address:9100/metrics

Aggiungi l'esportatore di nodi configurato Destinazione su server Prometheus.
Accedi al server Prometheus e modifica il file prometheus.yml
Modifica il file:
vim /etc/prometheus/prometheus.yml
Aggiungi le seguenti configurazioni sotto la configurazione scrape.
- job_name: 'node_exporter_centos' scrape_interval: 5s static_configs: - targets: ['10.94.10.209:9100']
Il file dovrebbe apparire come segue.

Riavvia il servizio Prometeo.
systemctl restart prometheus
Accedi all'interfaccia web del server Prometheus e controlla i target.
http://Prometheus-Server-IP:9090/targets

È possibile fare clic sul grafico ed eseguire query su qualsiasi metrica del server e fare clic su Esegui per mostrare l'output. Mostrerà l'output della console.
Browser delle query:

Uscita console:

Fare clic su Grafico per visualizzare.

Passaggio 7:monitora il server MySQL utilizzando Prometheus
Accedi a MySQL ed esegui le seguenti query.
CREATE USER 'mysqlexporter'@'localhost' IDENTIFIED BY 's56fsg#4W2126&dfk' WITH max_user_connections 2;
GRANT PROCESS, REPLICATION CLIENT, SELECT ON *.* TO 'mysqlexporter'@'localhost';
FLUSH PRIVILEGES;
Scarica mysqld_exporter dalla pagina di download ufficiale.

wget https://github.com/prometheus/mysqld_exporter/releases/download/v0.11.0/mysqld_exporter-0.11.0.linux-amd64.tar.gz
Estrai il file scaricato.
tar -xvzf mysqld_exporter-0.11.0.linux-amd64.tar.gz
Aggiungi un utente per mysqld_exporter.
useradd -rs /bin/false mysqld_exporter
Copia il file mysqld_exporter in /usr/bin.
mv mysqld_exporter-0.11.0.linux-amd64/mysqld_exporter /usr/bin
Modifica la proprietà del file.
chown mysqld_exporter:mysqld_exporter /usr/bin/mysqld_exporter
Crea le cartelle necessarie.
mkdir -p /etc/mysql_exporter
Crea un file di password MySQL per mysqld_exporter.
vim /etc/mysql_exporter/.my.cnf
Aggiungi le seguenti configurazioni al file.
[client] user=mysqlexporter password=sdfsg#4W2126&gh
Salva ed esci dal file.
Cambia proprietà.
chown -R mysqld_exporter:mysqld_exporter /etc/mysql_exporter
Concedi l'autorizzazione necessaria.
chmod 600 /etc/mysql_exporter/.my.cnf
Crea un file di servizio.
vim /etc/systemd/system/mysql_exporter.service
Aggiungi il seguente contenuto al file.
[Unit] Description=MySQL Server fosslinux After=network.target [Service] User=mysqld_exporter Group=mysqld_exporter Type=simple ExecStart=/usr/bin/mysqld_exporter \ --config.my-cnf="/etc/mysql_exporter/.my.cnf" Restart=always [Install] WantedBy=multi-user.target
Ricarica il demone di sistema.
systemctl daemon-reload
Abilita mysql_exporter all'avvio del sistema.
systemctl enable mysql_exporter
Avvia il servizio.
systemctl start mysql_exporter
Visualizza le metriche utilizzando il seguente URL.
http://Server_IP:9104/metrics

Ora vai al server Prometheus e modifica il file prometheus.yml.
vim /etc/prometheus/prometheus.yml
Aggiungi il seguente contenuto al file.
- job_name: 'mysql_exporter_fosslinux' scrape_interval: 5s static_configs: - targets: ['10.94.10.204:9104']

Riavvia Prometeo.
systemctl restart prometheus
Puoi vedere i target aggiunti facendo clic su target sotto lo stato.
http://IP:9090/targets

Ora puoi selezionare la query utilizzando il browser delle query e ottenere il risultato del server MySQL.
Riguarda l'installazione e la configurazione del server Prometheus su CentOS 7. Spero che questo tutorial ti sia piaciuto. Facci sapere il tuo feedback nei commenti qui sotto.