mariadb 버전 (10.4)
1 2 |
[root@xinet ~]# mysql -V mysql Ver 15.1 Distrib 10.4.26-MariaDB, for Linux (x86_64) |
mysql , mariadb상태 모니터링 할수 있는 mysqld_exporter 설치 진행
1. mysql 및 mariadb가 설치가 되어 있다면 모니터링 할수 있게 유저를 추가해준다
1 2 3 |
MariaDB [(none)]> CREATE USER 'exporter'@'%' IDENTIFIED BY 'qwer34##$$' WITH MAX_USER_CONNECTIONS 3; MariaDB [(none)]> grant process,replication client, select on *.* to 'exporter'@'%'; |
2. 다운로드 및 압축 해제
1 2 3 4 5 |
[root@xinet ~]# wget https://github.com/prometheus/mysqld_exporter/releases/download/v0.15.0/mysqld_exporter-0.15.0.linux-amd64.tar.gz [root@xinet ~]# tar xvfz mysqld_exporter-0.15.0.linux-amd64.tar.gz [root@xinet ~]# mv mysqld_exporter-0.15.0.linux-amd64 /usr/local/mysqld_exporter |
3. 서비스 환경설정 파일 작성 ( mysqld_exporter 환경설정 파일)
1 2 3 4 5 6 7 8 |
[root@xinet ~]# vi /usr/local/mysqld_exporter/my.cnf [client] host=localhost port=3306 user=exporter password=qwer34##$$ |
4. 서비스 시작 파일 생성
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
[root@xinet ~]# vi /etc/systemd/system/mysqld_exporter.service [Unit] Description=Prometheus MySQL Exporter After=network.target [Service] User=prometheus Group=prometheus Type=simple Restart=always ExecStart=/usr/local/mysqld_exporter/mysqld_exporter \ --config.my-cnf /usr/local/mysqld_exporter/my.cnf \ --collect.global_status \ --collect.info_schema.innodb_metrics \ --collect.auto_increment.columns \ --collect.info_schema.processlist \ --collect.binlog_size \ --collect.info_schema.tablestats \ --collect.global_variables \ --collect.info_schema.query_response_time \ --collect.info_schema.userstats \ --collect.info_schema.tables \ --collect.perf_schema.tablelocks \ --collect.perf_schema.file_events \ --collect.perf_schema.eventswaits \ --collect.perf_schema.indexiowaits \ --collect.perf_schema.tableiowaits \ --collect.slave_status \ --web.listen-address=0.0.0.0:9104 [Install] WantedBy=multi-user.target |
5. 서비스 등록 및 실행
1 2 3 |
[root@xinet ~]# systemctl enable mysqld_exporter [root@xinet ~]# systemctl start mysqld_exporter |
6. 포트 확인
1 2 |
[root@xinet ~]# netstat -anp | grep mysqld_exp tcp6 0 0 :::9104 :::* LISTEN 1136/mysqld_exporte |
7. promethues 파일 yml 등록
1 2 3 4 5 6 |
[root@xinet ~]# vi /usr/local/prometheus/prometheus.yml - job_name: "mysql-server" static_configs: - targets: ["localhost:9104"] |
8. promethues 재시작
1 |
[root@xinet ~]# systemctl restart prometheus.service |
9. grafana 대시보드에 대시보드 추가
https://grafana.com/grafana/dashboards/7362-mysql-overview/
https://grafana.com/grafana/dashboards/14057-mysql/
참고사이트 : https://prometheus.io/download/#mysqld_exporter
https://github.com/prometheus/mysqld_exporter