Monitoramento visual Prometheus + Grafana [status do MySQL]

1. Instale o Docker

Nota: Eu uso o script que escrevi antes para instalar o Docker. Se você já possui o Docker, omita esta etapa. O Docker é instalado para facilitar a implantação do banco de dados MySQL. Se você já possui um banco de dados, pode omitir as duas primeiras etapas.

Clique para obter o script de instalação offline do Docker

tar zxf docker20.10.14Install.tar.gz
cd docker20.10.14Install
bash install.sh

Verifique o status do Docker conforme mostrado abaixo, o que significa que não há problema:

systemctl status docker

Insira a descrição da imagem aqui

2. Instale o banco de dados MySQL (método contêiner Docker)

1. Pré-requisito de preparação:

docker pull mysql:8.0.27
mkdir /data/db -p

systemctl stop firewalld
systemctl disable firewalld
iptables -F

2. Execute o contêiner:

docker run -itd --name mysql -e MYSQL_ROOT_PASSWORD=NTQ34tg*@19VF \
	 -v /data/db:/var/lib/mysql  -p 3306:3306 -v /etc/localtime:/etc/localtime \
	  --restart=always mysql:8.0.27

3. Teste se o contêiner pode ser conectado

docker exec -it  mysql  mysql -uroot -pNTQ34tg*@19VF

Claro, você pode usar ferramentas para testar a conexão, conforme mostrado abaixo:
Insira a descrição da imagem aqui

Apenas certifique-se de que o banco de dados possa ser acessado normalmente!

4. Crie um usuário de monitoramento MySQL

create user "prometheus"@"%" identified by 'NTQ34tg*@19VF';
grant select,replication client,process ON *.* to "prometheus"@"%";
flush privileges;

3. Instale o Prometheus

1. Sincronização de horário e fuso horário

timedatectl set-timezone Asia/Shanghai
yum -y install ntpdate
/usr/sbin/ntpdate -u ntp1.aliyun.com

Configurar o horário de sincronização da tarefa agendada

echo "0 5 * * * /usr/sbin/ntpdate -u ntp1.aliyun.com >/dev/null &" >> /var/spool/cron/root
crontab -l

2. Instale o Prometheus

wget https://github.com/prometheus/prometheus/releases/download/v2.42.0/prometheus-2.42.0.linux-amd64.tar.gz

tar zxf prometheus-2.42.0.linux-amd64.tar.gz 
mv prometheus-2.42.0.linux-amd64 /usr/local/prometheus

3. Configure o gerenciamento do systemd

cat > /usr/lib/systemd/system/prometheus.service << EOF
[Unit]

[Service]
ExecStart=/usr/local/prometheus/prometheus --config.file=/usr/local/prometheus/prometheus.yml
ExecReload=/bin/kill -HUP \$MAINPID

[Install]
WantedBy=multi-user.target
Alias=dbus-org.fedoraproject.FirewallD1.service
EOF

4. Inicie e configure a inicialização automática na inicialização

systemctl enable prometheus --now
systemctl status prometheus

Insira a descrição da imagem aqui
A exibição é mostrada acima, o que significa que não há problema com o Prometheus. A porta padrão é 9090. Podemos acessá-la com um navegador. Clique em >
para Statusvisualizar Targetsas próprias métricas do Prometheus, conforme mostrado abaixo:
Insira a descrição da imagem aqui

4. Instale o Grafana

1. Instale o Grafana

wget https://dl.grafana.com/enterprise/release/grafana-enterprise-9.4.1-1.x86_64.rpm
sudo yum install grafana-enterprise-9.4.1-1.x86_64.rpm -y

systemctl enable grafana-server.service --now

2. Verificação da página WEB.
A porta padrão é 3000. Ao visitar pela primeira vez, você será solicitado a redefinir a senha, conforme mostrado abaixo:
Insira a descrição da imagem aqui
Insira a descrição da imagem aqui

5. Pronetheus e Grafana estão relacionados

Insira a descrição da imagem aqui
Insira a descrição da imagem aqui
Insira a descrição da imagem aqui

6. Instale mysqld_exporter

1. Instale mysqld_exporter

wget https://github.com/prometheus/mysqld_exporter/releases/download/v0.14.0/mysqld_exporter-0.14.0.linux-amd64.tar.gz
tar zxf mysqld_exporter-0.14.0.linux-amd64.tar.gz 
mv mysqld_exporter-0.14.0.linux-amd64 /usr/local/mysqld_exporter

2. Configure o Prometheus para monitorar as informações do usuário do banco de dados

cd /usr/local/mysqld_exporter
cat > .my.cnf <<EOF
[client]
user=prometheus
password=NTQ34tg*@19VF
EOF

3. Configure o gerenciamento do systemd

cat > /usr/lib/systemd/system/mysqld_exporter.service << EOF
[Unit]
Description=mysqld_exporter Service
After=network.target

[Service]
Type=simple
ExecStart=/usr/local/mysqld_exporter/mysqld_exporter --config.my-cnf=/usr/local/mysqld_exporter/.my.cnf
ExecReload=/bin/kill -HUP \$MAINPID
Restart=on-failure
RestartSec=30s

[Install]
WantedBy=multi-user.target
EOF

Inicie e participe da inicialização automática na inicialização

systemctl enable mysqld_exporter --now
systemctl status  mysqld_exporter

Insira a descrição da imagem aqui

A porta padrão é 9104

ss -anput |grep 9104

4. Especifique as informações do mysqld_exporter no arquivo de configuração do Prometheus

vim /usr/local/prometheus/prometheus.yml

  - job_name: "MySQL_115"
    static_configs:
      - targets: ["16.32.15.115:9104"]

Após adicionar o arquivo de configuração, use o comando para testar se há algum problema com o formato.

cd  /usr/local/prometheus/
./promtool check config prometheus.yml

Reinicie o Prometheus

systemctl restart prometheus.service

7. Grafana adiciona modelo de monitoramento MySQL

O ID do modelo do MySQL é usado aqui: 7362
clique 下方红圈地方>>import输入模板ID
Insira a descrição da imagem aqui

Insira a descrição da imagem aqui
A renderização final é a seguinte:
Insira a descrição da imagem aqui

Acho que você gosta

Origin blog.csdn.net/weixin_45310323/article/details/132841225
Recomendado
Clasificación