Diretório de artigos
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
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:
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
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 Status
visualizar Targets
as próprias métricas do Prometheus, conforme mostrado abaixo:
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:
5. Pronetheus e Grafana estão relacionados
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
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
A renderização final é a seguinte: