Giám sát MySQL và MariaDB Droplets Sử dụng Prometheus MySQL Exporter | Monitor MySQL và MariaDB Droplets

Monitor MariaDB Droplets

Giám sát hiệu quả cơ sở dữ liệu MySQL và MariaDB là điều cần thiết để duy trì hiệu suất tối ưu, xác định các điểm nghẽn tiềm ẩn, và đảm bảo độ tin cậy tổng thể của hệ thống. Prometheus MySQL Exporter là một công cụ mạnh mẽ cung cấp thông tin chi tiết về các chỉ số cơ sở dữ liệu quan trọng cho việc quản lý chủ động và khắc phục sự cố.

Trong hướng dẫn này, bạn sẽ học cách thiết lập Prometheus MySQL Exporter để giám sát cơ sở dữ liệu MySQL và MariaDB bằng cấu hình thủ công và tự động hóa dựa trên script. Các phương pháp này cung cấp tính linh hoạt để lựa chọn chiến lược triển khai tốt nhất và phương pháp quy trình hoạt động.

Khi hoàn thành, bạn sẽ có một hệ thống giám sát hoạt động sử dụng Prometheus và Grafana để phân tích hiệu suất theo thời gian thực.

Lưu ý: Thời gian thiết lập ước tính cho hướng dẫn này khoảng 25 phút

Điều kiện tiên quyết

Trước khi bắt đầu, hãy đảm bảo bạn có những điều kiện tiên quyết sau:

● Bạn cần có máy chủ cơ sở dữ liệu MySQL hoặc MariaDB được thiết lập và chạy trên một Ubuntu Droplet. Bạn có thể tham khảo hướng dẫn của chúng tôi về Cách cài đặt MariaDB trên UbuntuCách cài đặt MySQL trên Ubuntu. Các máy chủ bạn muốn giám sát phải có thể truy cập được từ máy tính mà bạn dự định cài đặt Prometheus MySQL Exporter.

● Bạn sẽ cần quyền truy cập SSH vào MySQL hoặc MariaDB Ubuntu Droplets để cài đặt và cấu hình Prometheus MySQL Exporter.

● Prometheus MySQL Exporter tích hợp với Prometheus để lấy mẫu số liệu và Grafana để trực quan hóa. Ở đây, bạn sẽ sử dụng hình ảnh Prometheus và Grafana từ DataOnline Marketplace để giám sát cơ sở dữ liệu Droplets.

Phương pháp 1- Cấu hình thủ công

Hãy tiếp tục với phương pháp cấu hình thủ công trong phần này.

Thêm Người dùng và Nhóm Hệ thống Prometheus

Trong bước này, bạn sẽ cấu hình các Droplet Mục tiêu. Hãy tạo một người dùng và nhóm hệ thống có tên “prometheus” để quản lý dịch vụ exporter.

sudo groupadd --system prometheus
sudo useradd -s /sbin/nologin --system -g prometheus prometheus

Tải xuống và Cài đặt Prometheus MySQL Exporter

Trong bước này, bạn sẽ tải xuống phiên bản mới nhất của Prometheus MySQL Exporter từ GitHub, giải nén các tệp đã tải xuống, và di chuyển tệp nhị phân đến thư mục /usr/local/bin/.

curl -s https://api.github.com/repos/prometheus/mysqld_exporter/releases/latest | grep browser_download_url | grep linux-amd64 | cut -d '"' -f 4 | wget -qi -
tar xvf mysqld_exporter*.tar.gz
sudo mv mysqld_exporter-*.linux-amd64/mysqld_exporter /usr/local/bin/
sudo chmod +x /usr/local/bin/mysqld_exporter

Tạo Người dùng Cơ sở dữ liệu Prometheus Exporter

Đăng nhập vào MySQL với quyền root và tạo một người dùng chuyên dụng cho exporter với các đặc quyền cần thiết.

mysql -u root -p

Nhập mật khẩu root, nếu cần, và bạn sẽ thấy dấu nhắc MySQL/MariaDB. Sau đó thực hiện các lệnh sau (thay thế giveapassword trong lệnh dưới đây bằng mật khẩu mới cho người dùng cơ sở dữ liệu mysqld_exporter).

Tạo một người dùng MySQL mới có tên mysqld_exporter với mật khẩu giveapassword cho kết nối cục bộ.

CREATE USER 'mysqld_exporter'@'localhost' IDENTIFIED BY 'giveapassword';

Cấp quyền cho người dùng mysqld_exporter để xem danh sách quy trình, trạng thái sao chép khách hàng và truy vấn dữ liệu từ tất cả các cơ sở dữ liệu.

GRANT PROCESS, REPLICATION CLIENT, SELECT ON *.* TO 'mysqld_exporter'@'localhost';

Tải lại bảng cấp quyền để áp dụng các thay đổi đã thực hiện cho quyền người dùng.

FLUSH PRIVILEGES;

Thoát khỏi giao diện dòng lệnh MySQL.

EXIT

Thiết lập Thông tin đăng nhập Cơ sở dữ liệu

Tạo một tệp cấu hình để lưu trữ thông tin đăng nhập MySQL exporter.

sudo vi /etc/.mysqld_exporter.cnf

Thêm thông tin đăng nhập người dùng sau vào tệp:

[client]
user=mysqld_exporter
password=giveapassword

Thiết lập quyền sở hữu cho tệp cấu hình:

sudo chown root:prometheus /etc/.mysqld_exporter.cnf

Tạo tệp Unit systemd

Tạo một tệp đơn vị dịch vụ systemd để quản lý dịch vụ MySQL Exporter:

sudo vi /etc/systemd/system/mysql_exporter.service

Thêm dữ liệu sau vào tệp:

[Unit]
Description=Prometheus MySQL Exporter
After=network.target
User=prometheus
Group=prometheus

[Service]
Type=simple
Restart=always
ExecStart=/usr/local/bin/mysqld_exporter \
--config.my-cnf /etc/.mysqld_exporter.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

Tải lại systemd và Khởi động Dịch vụ MySQL Exporter

Tải lại cấu hình systemd và khởi động dịch vụ MySQL Exporter:

sudo systemctl daemon-reload
sudo systemctl enable mysql_exporter
sudo systemctl start mysql_exporter

Cấu hình Prometheus Droplet

Hãy bắt đầu bằng cách sao lưu tệp prometheus.yml:

cp /etc/prometheus/prometheus.yml /etc/prometheus/prometheus.yml-$(date +'%d%b%Y-%H:%M')

Bây giờ đăng nhập vào máy chủ Prometheus của bạn và thêm các điểm cuối MySQL Exporter để thu thập dữ liệu.

Thay thế địa chỉ IP và cổng bằng các điểm cuối MySQL Exporter của bạn (9104 là cổng mặc định cho Prometheus MySQLd exporter).

vi /etc/prometheus/prometheus.yml
scrape_configs:
  - job_name: server1_db
    static_configs:
      - targets: ['10.10.1.10:9104']
        labels:
          alias: db1

  - job_name: server2_db
    static_configs:
      - targets: ['10.10.1.11:9104']
        labels:
          alias: db2

Phương pháp 2 – Cấu hình Sử dụng Scripts

Bạn cũng có thể thực hiện điều này bằng cách chạy hai scripts – một cho các droplet mục tiêu và một cho droplet Prometheus.

Hãy bắt đầu bằng cách cấu hình các Droplet Mục tiêu.

Bước 1: SSH vào Droplet Mục tiêu.

Bước 2: Tải script Cấu hình Mục tiêu bằng lệnh sau:

wget https://solutions-files.ams3.digitaloceanspaces.com/MySQL-MariaDB-Monitoring/DO_MySQL_MariaDB_Target_Config.sh

Bước 3: Sau khi tải script, đảm bảo nó có quyền thực thi bằng cách chạy:

chmod +x DO_MySQL_MariaDB_Target_Config.sh

Bước 4: Thực thi script bằng cách chạy:

./DO_MySQL_MariaDB_Target_Config.sh

Bước 5: Nhập mật khẩu mới cho người dùng mysql_exporter, sau đó nhập mật khẩu root MySQL:

giam sat mysql va mariadb droplets su dung prometheus mysql exporter 2

Cấu hình đã hoàn tất.

Lưu ý – Script sẽ chấm dứt trong các trường hợp sau: ● Nếu mysql_exporter đã tồn tại trên Droplet mục tiêu

giam sat mysql va mariadb droplets su dung prometheus mysql exporter 3

● Nếu bạn nhập sai mật khẩu mysql

giam sat mysql va mariadb droplets su dung prometheus mysql exporter 4

Cấu hình Prometheus Droplet (Phương pháp Script)

Bước 1: SSH vào Prometheus Droplet.

Bước 2: Tải script Cấu hình Prometheus bằng lệnh sau:

wget https://solutions-files.ams3.digitaloceanspaces.com/MySQL-MariaDB-Monitoring/DO_MySQL_MariaDB_Prometheus_Config.sh

Script bash này tự động hóa việc cập nhật tệp cấu hình Prometheus để thêm các điểm cuối máy chủ mới. Nó bắt đầu bằng cách sao lưu tệp prometheus.yml hiện tại với tên tệp có dấu thời gian.

Script sau đó yêu cầu người dùng chỉ định số lượng máy chủ cần thêm và xác thực đầu vào này.

Đối với mỗi máy chủ, nó yêu cầu tên máy chủ và địa chỉ IP, đảm bảo rằng mỗi địa chỉ IP là duy nhất trong tệp cấu hình. Các cấu hình máy chủ hợp lệ được thêm vào tệp prometheus.yml. Sau khi cập nhật cấu hình, script khởi động lại dịch vụ Prometheus và kiểm tra trạng thái của nó để xác nhận rằng các thay đổi đã được áp dụng.

Cuối cùng, nó chờ đầu vào từ người dùng trước khi thoát.

Bước 3: Sau khi tải script, đảm bảo nó có quyền thực thi bằng cách chạy:

chmod +x DO_MySQL_MariaDB_Prometheus_Config.sh

Bước 4: Thực thi script bằng cách chạy:

./DO_MySQL_MariaDB_Prometheus_Config.sh

Bước 5: Nhập số lượng Droplet cần thêm vào giám sát.

Bước 6: Nhập tên máy chủ và địa chỉ IP.

giam sat mysql va mariadb droplets su dung prometheus mysql exporter 5

Bước 7: Cấu hình đã hoàn tất.

Bước 8: Sau khi thêm, kiểm tra xem các mục tiêu có được cập nhật hay không bằng cách truy cập URL prometheushostname:9090/targets.

giam sat mysql va mariadb droplets su dung prometheus mysql exporter 6

Lưu ý: Nếu bạn nhập địa chỉ IP đã được thêm vào giám sát, bạn sẽ được yêu cầu nhập lại chi tiết. Ngoài ra, nếu bạn không có máy chủ nào khác để thêm, bạn có thể nhập 0 để thoát khỏi script.

Cấu hình Grafana

Bước 1: Đăng nhập vào bảng điều khiển Grafana bằng cách truy cập Grafana-IP:3000 trên trình duyệt.

Bước 2: Đi đến Configuration > Data Sources.

giam sat mysql va mariadb droplets su dung prometheus mysql exporter 7 1

Bước 3: Nhấp vào Add data source.

giam sat mysql va mariadb droplets su dung prometheus mysql exporter 8

Bước 4: Tìm kiếm và Chọn Prometheus.

giam sat mysql va mariadb droplets su dung prometheus mysql exporter 9

Bước 5: Nhập Name là Prometheus, URL (Prometheushostname:9090) và nhấp vào Save & Test. Nếu bạn thấy “Data source is working”, bạn đã thêm nguồn dữ liệu thành công.

Sau khi hoàn thành, đi đến Create > Import.

giam sat mysql va mariadb droplets su dung prometheus mysql exporter 10

Bước 6: Bạn có thể cấu hình bảng điều khiển theo cách thủ công hoặc nhập bảng điều khiển bằng cách tải lên tệp JSON. Mẫu JSON cho giám sát MySQL và MariaDB có thể được tìm thấy trong liên kết dưới đây:

https://solutions-files.ams3.digitaloceanspaces.com/MySQL-MariaDB-Monitoring/DO_Grafana-Mysql-MariaDB_Monitoring.json

Bước 7: Điền vào các trường và Import.

giam sat mysql va mariadb droplets su dung prometheus mysql exporter 11

Bước 8: Bảng điều khiển Grafana đã sẵn sàng. Chọn máy chủ và kiểm tra xem các số liệu có hiển thị hay không. Bạn có thể sửa đổi và chỉnh sửa bảng điều khiển theo nhu cầu.

giam sat mysql va mariadb droplets su dung prometheus mysql exporter 12

Kết luận

Trong hướng dẫn này, bạn đã học cách tự động hóa quy trình thiết lập để triển khai Prometheus MySQL Exporter trên máy chủ của bạn. Bằng cách làm theo các bước, bạn có thể cài đặt và cấu hình exporter một cách hiệu quả để thu thập các số liệu MySQL cho giám sát.

Bằng cách tự động hóa các bước này, bạn có thể hợp lý hóa quy trình triển khai, giảm nguy cơ lỗi do con người, và đảm bảo thiết lập nhất quán trên nhiều máy chủ. Hướng dẫn này là một giải pháp đáng tin cậy và hiệu quả để triển khai Prometheus MySQL Exporter trong cơ sở hạ tầng giám sát của bạn.

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *