"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > Prometheus 모니터링을 위해 Galera 클러스터 노드에서 MariaDB/MySQL 내보내기를 설정하는 방법

Prometheus 모니터링을 위해 Galera 클러스터 노드에서 MariaDB/MySQL 내보내기를 설정하는 방법

2024-11-08에 게시됨
검색:534

How to Set Up MariaDB/MySQL Exporter on Galera Cluster Nodes for Prometheus Monitoring

안녕하세요, 커뮤니티 개발자 여러분! ?

이 게시물에서는 Prometheus로 모니터링하기 위해 Galera Cluster 노드에 MariaDB/MySQL 내보내기를 설정하는 단계를 안내해 드리겠습니다. 제 경우에는 3개의 노드가 있는 클라우드 서버 공급자에서 MariaDB Galera Cluster를 실행하고 Prometheus Grafana를 사용하여 설정을 모니터링하고 있습니다. Galera Cluster 설정 및 모니터링 도구는 매우 유용했지만 MariaDB에서 올바른 측정항목을 얻는 것이 쉽지 않았기 때문에 솔루션을 문서화하기로 결정했습니다.

초당 쿼리 수, 연결, 복제 상태 등과 같은 MariaDB 및 Galera Cluster 지표를 모니터링하려면 Prometheus와 함께 MySQL 내보내기를 사용해야 합니다. 이 내보내기 도구는 Galera 및 MariaDB 통계를 포함한 데이터베이스별 측정항목을 표시합니다.

Galera 클러스터 노드에서 MariaDB/MySQL 내보내기를 설정하는 단계:

전제 조건

  • 여러 노드가 있는 MariaDB Galera 클러스터.
  • Prometheus 서버가 실행 중입니다.
  • 측정항목 시각화를 위한 Grafana(선택사항이지만 권장됨).
  • 내보내기를 설치하기 위한 노드에 액세스합니다.

참고: 클라우드 서버 제공업체의 마켓플레이스에서 이미 Prometheus Grafana의 기계를 사용할 수 있습니다. 헤츠너, 디지털오션

1단계: MySQL/MariaDB 내보내기 설치

각 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

2단계: MySQL/MariaDB 자격 증명으로 내보내기 구성

내보내기는 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';
선택 플러시 권한;

3단계: 내보내기를 서비스로 설정

부팅 시 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

4단계: Prometheus에 내보내기 대상 추가

다음으로 Prometheus 구성을 업데이트하여 노드에서 측정항목을 스크랩합니다. prometheus.yml 파일에 다음을 추가합니다:

그 전에 다음 페이지를 방문하여 MySQL 내보내기가 실행 중인지 확인할 수 있습니다.

컬 http://:9104/metrics

이 파일에 액세스하려면(예: 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

5단계: Grafana에서 시각화

Grafana를 사용하는 경우 MySQL/MariaDB 모니터링을 위해 사전 구축된 대시보드를 가져올 수 있습니다. MySQL/MariaDB 지표에 널리 사용되는 대시보드 ID 중 하나는 7362.

입니다.

가져오려면:

  1. Grafana를 엽니다.
  2. 대시보드 > 가져오기로 이동합니다.
  3. "Grafana.com 대시보드" 필드에 7362를 입력한 다음 로드를 클릭합니다.

이제 Grafana 대시보드에서 MariaDB Galera 클러스터 노드의 자세한 측정항목을 볼 수 있습니다!

결론

각 Galera 클러스터 노드에 MariaDB 내보내기가 설정되어 있으므로 Prometheus는 이제 주요 데이터베이스 측정항목을 스크랩하고 모니터링할 수 있습니다. 이 설정은 클러스터의 상태와 성능에 대한 더 나은 통찰력을 제공하므로 필요에 따라 더 쉽게 문제를 해결하고 최적화할 수 있습니다.

유사한 설정을 하거나 제안 사항이 있으면 아래에 질문이나 의견을 남겨주세요. 읽어주셔서 감사합니다!

릴리스 선언문 이 글은 https://dev.to/alighaemia/how-to-set-up-mariadbmysql-exporter-on-galera-cluster-nodes-for-prometheus-monitoring-4b3l?1 에서 재현됩니다.1 침해가 있는 경우 , [email protected]로 문의해주세요.
최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3