Monitoreo visual de Prometheus + Grafana [estado de MySQL]

1. Instale Docker

Nota: Utilizo el script que escribí antes para instalar Docker. Si ya tiene Docker, omita este paso. Docker se instala para facilitar la implementación de la base de datos MySQL. Si ya tiene una base de datos, puede omitir los dos primeros pasos.

Haga clic para obtener el script de instalación sin conexión de Docker

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

Verifique el estado de Docker como se muestra a continuación, lo que significa que no hay ningún problema:

systemctl status docker

Insertar descripción de la imagen aquí

2. Instale la base de datos MySQL (método contenedor Docker)

1. Preparación previa:

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

systemctl stop firewalld
systemctl disable firewalld
iptables -F

2. Ejecute el contenedor:

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. Pruebe si el contenedor se puede conectar.

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

Por supuesto, puede utilizar herramientas para probar la conexión, como se muestra a continuación:
Insertar descripción de la imagen aquí

¡Solo asegúrese de que se pueda acceder a la base de datos normalmente!

4. Cree un usuario de monitoreo de MySQL

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

3. Instale Prometeo

1. Sincronización de hora y zona horaria

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

Configurar el tiempo de sincronización de tareas programadas

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

2. Instale Prometeo

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. Configurar la gestión del sistema

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 y configure el inicio automático al arrancar

systemctl enable prometheus --now
systemctl status prometheus

Insertar descripción de la imagen aquí
La pantalla es como se muestra arriba, lo que significa que no hay ningún problema con Prometheus. El puerto predeterminado es 9090. Podemos acceder a él con un navegador. Haga clic en > para ver las
métricas Statuspropias Targetsde Prometheus como se muestra a continuación:
Insertar descripción de la imagen aquí

4. Instale Grafana

1. Instalar 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. Verificación de la página WEB.
El puerto predeterminado es 3000. Cuando visite por primera vez, se le pedirá que restablezca la contraseña, como se muestra a continuación:
Insertar descripción de la imagen aquí
Insertar descripción de la imagen aquí

5. Proneteo y Grafana están relacionados

Insertar descripción de la imagen aquí
Insertar descripción de la imagen aquí
Insertar descripción de la imagen aquí

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 Prometheus para monitorear la información del usuario de la base de datos.

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

3. Configurar la gestión del sistema

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

Iniciar y unirse al inicio automático al arrancar

systemctl enable mysqld_exporter --now
systemctl status  mysqld_exporter

Insertar descripción de la imagen aquí

El puerto predeterminado es 9104

ss -anput |grep 9104

4. Especifique la información de mysqld_exporter en el archivo de configuración de Prometheus.

vim /usr/local/prometheus/prometheus.yml

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

Después de agregar el archivo de configuración, use el comando para probar si hay algún problema con el formato.

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

Reiniciar Prometeo

systemctl restart prometheus.service

7. Grafana agrega una plantilla de monitoreo de MySQL

Aquí se utiliza el ID de plantilla de MySQL: 7362,
haga clic 下方红圈地方>>import输入模板ID
Insertar descripción de la imagen aquí

Insertar descripción de la imagen aquí
La representación final es la siguiente:
Insertar descripción de la imagen aquí

Supongo que te gusta

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