안녕하세요, 커뮤니티 개발자 여러분! ?
이 게시물에서는 Prometheus로 모니터링하기 위해 Galera Cluster 노드에 MariaDB/MySQL 내보내기를 설정하는 단계를 안내해 드리겠습니다. 제 경우에는 3개의 노드가 있는 클라우드 서버 공급자에서 MariaDB Galera Cluster를 실행하고 Prometheus Grafana를 사용하여 설정을 모니터링하고 있습니다. Galera Cluster 설정 및 모니터링 도구는 매우 유용했지만 MariaDB에서 올바른 측정항목을 얻는 것이 쉽지 않았기 때문에 솔루션을 문서화하기로 결정했습니다.
초당 쿼리 수, 연결, 복제 상태 등과 같은 MariaDB 및 Galera Cluster 지표를 모니터링하려면 Prometheus와 함께 MySQL 내보내기를 사용해야 합니다. 이 내보내기 도구는 Galera 및 MariaDB 통계를 포함한 데이터베이스별 측정항목을 표시합니다.
Galera 클러스터 노드에서 MariaDB/MySQL 내보내기를 설정하는 단계:
참고: 클라우드 서버 제공업체의 마켓플레이스에서 이미 Prometheus Grafana의 기계를 사용할 수 있습니다. 헤츠너, 디지털오션
각 Galera 노드에는 측정항목을 수집하여 Prometheus에 표시하는 MySQL 내보내기를 설치해야 합니다. 그렇게 하는 방법은 다음과 같습니다.
wget https://github.com/prometheus/mysqld_exporter/releases/download/v0.15.1/mysqld_exporter-0.15.1.linux-amd64.tar.gz
tar xvfz mysqld_exporter-0.15.1.linux-amd64.tar.gz
sudo cp mysqld_exporter-0.15.1.linux-amd64/mysqld_exporter /usr/local/bin/
sudo useradd -rs /bin/false mysqld_exporter
내보내기는 MariaDB 측정항목에 액세스해야 합니다. 내보내기 도구의 홈 디렉터리에 .my.cnf 파일을 생성하여 연결 자격 증명을 저장합니다:
sudo mkdir /etc/.mysqld_exporter
sudo nano /etc/.mysqld_exporter/.my.cnf
파일에 다음을 추가합니다:
[client] user=exporter password=yourpassword
사용자에게 필요한 측정항목에 액세스할 수 있는 적절한 권한이 있는지 확인하세요.
액세스하려면 mysql -u root 또는 mariadb -u root를 사용하세요.
'yourpassword'로 식별된 'exporter'@'localhost' 사용자 생성;
권한 부여 프로세스, 복제 클라이언트, *.* TO 'exporter'@'localhost';
선택
플러시 권한;
부팅 시 MySQL 내보내기가 시작되도록 하려면 시스템 서비스로 구성해 보겠습니다.
sudo nano /etc/systemd/system/mysqld_exporter.service
파일에 다음 콘텐츠를 추가합니다.
[Unit] Description=Prometheus MySQL Exporter Wants=network-online.target After=network-online.target [Service] User=mysqld_exporter Group=mysqld_exporter ExecStart=/usr/local/bin/mysqld_exporter \ --config.my-cnf=/etc/.mysqld_exporter/.my.cnf [Install] WantedBy=multi-user.target
파일을 저장하고 systemd를 다시 로드합니다:
sudo systemctl daemon-reload
sudo systemctl start mysqld_exporter
sudo systemctl 활성화 mysqld_exporter
다음으로 Prometheus 구성을 업데이트하여 노드에서 측정항목을 스크랩합니다. prometheus.yml 파일에 다음을 추가합니다:
그 전에 다음 페이지를 방문하여 MySQL 내보내기가 실행 중인지 확인할 수 있습니다.
컬 http://
이 파일에 액세스하려면(예: prometheus.yml 사용):
sudo nano /opt/containers/prometheus-grafana/prometheus/prometheus.yml
scrape_configs 내부에 추가::
- job_name: 'mariadb-galera' static_configs: - targets: ['node1-ip:9104', 'node2-ip:9104', 'node3-ip:9104']
데이터베이스 노드의 IP를 다시 알려주세요
그런 다음 Prometheus를 다시 로드하세요.
sudo systemctl reload prometheus
Grafana를 사용하는 경우 MySQL/MariaDB 모니터링을 위해 사전 구축된 대시보드를 가져올 수 있습니다. MySQL/MariaDB 지표에 널리 사용되는 대시보드 ID 중 하나는 7362.
입니다.가져오려면:
이제 Grafana 대시보드에서 MariaDB Galera 클러스터 노드의 자세한 측정항목을 볼 수 있습니다!
각 Galera 클러스터 노드에 MariaDB 내보내기가 설정되어 있으므로 Prometheus는 이제 주요 데이터베이스 측정항목을 스크랩하고 모니터링할 수 있습니다. 이 설정은 클러스터의 상태와 성능에 대한 더 나은 통찰력을 제공하므로 필요에 따라 더 쉽게 문제를 해결하고 최적화할 수 있습니다.
유사한 설정을 하거나 제안 사항이 있으면 아래에 질문이나 의견을 남겨주세요. 읽어주셔서 감사합니다!
부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.
Copyright© 2022 湘ICP备2022001581号-3