PerconaDB Monitoring

Iš Žinynas.
Jump to navigation Jump to search

Mysql percona mm monitor10-24-10.png

Mysql percona mm monitor210-24-10.png

Mysql percona mm monitor310-24-10.png

Mysql percona mm monitor410-24-10.png

Mysql percona mm monitor510-24-10.png

DĖMESIO! Šis aprašymas tinka tiktai Percona MySQL 5.7 Cluster tipo atšakoms ir jokioms kitoms. Nes jos yra konfigūruojamos kitaip, žiūr. straipsnį.

Monitoring setup[keisti]

Ant hosto kuriame norėsti matyti visas klasterio statistikas, reikia įdiegti docker įmage su serverio paketu, taip pat kiekviename klasterio naryje reiks įdiegti po pmm-client ir nurodyti kur eksportuoti duomenis apie MySQL informaciją. Pirmiausia tame hoste kur veiks pagrindinis monitorinimo resursas reikia įdiegti ir paruošti docker.

docker pull percona/pmm-server:latest
docker create \
  -v /opt/prometheus/data \
  -v /opt/consul-data \
  -v /var/lib/mysql \
  -v /var/lib/grafana \
  --name pmm-data \
  percona/pmm-server:latest /bin/true

Jeigu norite leisti nestandartiniu portu, tarkime 8080, tuomet pakeiskite parametrą -p 8080:80

docker run -d \
  -p 80:80 \
  --volumes-from pmm-data \
  --name pmm-server \
  --restart always \
  percona/pmm-server:latest

Clientų diegimas kiekviename klasterio naryje[keisti]

Prieš viską darydami įsitikinkite, kad iš klasterio narių turite galimybę pasiekti pagrindinį monitoringo servisą, kurį įdiegėte prieš tai, t.y galite pasiekti jo ir ir kitus resursus. Paketas jau yra PerconaDB toolkito repozitorijoje, kurią įdėjote prieš tai įdiegdami PerconaXtraDB Cluster. Pirmiausia patikrinime ar serveris yra pasiekiamas:

curl http://10.0.0.1:8080/ping

Diegiame klientą:

apt-get install pmm-client

Nustatome kur yra serveris:

pmm-admin config --server 10.0.0.1:8080 --bind-address 10.0.0.120 --client-address 10.0.0.120
  • 10.0.0.120 - yra lokalus šio nario adresas
  • 10.0.0.1 - yra pmm serverio adresas
pmm-admin add mysql

Norint, kad mysql monitoringas veiktų tinkamai, reiktų taip pat papildomai paruošti ir patį MySQL, jeigu pas jus yra replikos ir jos akyviai veikia, užteks sukurti vieną vartotoją - viename mysql naryje, kad veiktų visuose.

GRANT SELECT, PROCESS, SUPER, REPLICATION CLIENT, RELOAD ON *.* TO 'pmm'@' localhost' IDENTIFIED BY 'pass' WITH MAX_USER_CONNECTIONS 10;
GRANT SELECT, UPDATE, DELETE, DROP ON performance_schema.* TO 'pmm'@'localhost';

Tuomet pridedame mysql monitoringą su papildomais vartotojo prisijungimo parametrais, jeigu jau buvote pridėję, tuomet jį reikia prieš tai pašalinti (pmm-admin remove mysql):

pmm-admin add mysql --user pmm --password pass

Kiekviename MySQL 5.7 (PerconaDB Branchas) naryje, redaguojame konfigūraciją ir pridedame šias eilute [mysqld] sekcijoje:

[mysqld]
log_output=file
slow_query_log=ON
long_query_time=0
log_slow_rate_limit=100
log_slow_rate_type=query
log_slow_verbosity=full
log_slow_admin_statements=ON
log_slow_slave_statements=ON 
slow_query_log_always_write_time=1
slow_query_log_use_global_control=all
innodb_monitor_enable=all
userstat=1

Taip pat galima pridėti ir šiuos:

pmm-admin add mongodb
pmm-admin add proxysql:metrics [NAME] [OPTIONS]

Ši komanda parodys, dabar naudojamas metrikas:

pmm-admin list