Topik ini menjelaskan cara menerapkan OBCloud Exporter dan Prometheus untuk memantau ApsaraDB for OceanBase.
Latar Belakang
OBCloud Exporter adalah alat yang disediakan oleh ApsaraDB for OceanBase untuk memproses data basis data. Anda dapat menggunakannya untuk melakukan otentikasi dengan ApsaraDB for OceanBase, mendapatkan data, dan menggunakan Prometheus untuk memantau basis data.
Prometheus dapat dijalankan langsung pada sistem atau diterapkan menggunakan Docker.
Prasyarat
Anda telah menginstal Java 8 atau versi lebih baru.
Anda telah menerapkan Docker.
Jalankan Prometheus di sistem untuk memantau ApsaraDB for OceanBase
Unduh OBCloud Exporter.
CatatanSaat ini, Anda tidak dapat mengunduh OBCloud Exporter secara langsung. Untuk mendapatkan alat tersebut, hubungi Dukungan Teknis OceanBase.
Terapkan OBCloud Exporter.
Ekstrak paket instalasi OBCloud Exporter ke direktori
/opt/obcloud-exporter.mkdir /opt/obcloud-exporter tar -zxvf Obcloud_Exporter.tar.gz -C /opt/obcloud-exporter --strip-components=1Berikut adalah file yang diekstrak dari paket instalasi:
Dockerfile: File pembuatan kontainer Docker.
muticloud_metric_config.yaml: File konfigurasi metrik. Secara default, file ini tidak perlu dimodifikasi.
application.yaml: File konfigurasi pengumpulan.
obcloud-exporter-1.0-SNAPSHOT-jar-with-dependencies.jar: Program OBCloud Exporter.
readme.md: Deskripsi proyek.
Edit file konfigurasi application.yaml.
# Nama pemantauan. aliyun_monitor: # Kredensial identitas. credential: access_key_id: xxx access_key_secret: xx region_id: ap-southeast-1 # Endpoint. end_point: xxx # Apakah akan menyegarkan metrik secara berkala. Nilai defaultnya adalah false. metric_meta_auto_refresh: false instances: # ID instance. - instance_id: xxx # Untuk menanyakan data tenant tertentu dalam kluster, Anda harus mengonfigurasi tenant_id. tenant_id: xxx # Tipe instance, yang bisa berupa cluster (instance kluster) atau tenant (instance tenant atau instance serverless). instance_type: tenant metrics:Parameter-parameter tersebut dijelaskan sebagai berikut:
access_key_id dan access_key_secret: Pasangan AccessKey untuk otentikasi. Anda dapat mengajukan pasangan AccessKey dari platform terkait. Untuk informasi lebih lanjut, lihat Buat pasangan AccessKey.
region_id dan end_point: Untuk informasi lebih lanjut, lihat Wilayah (ApsaraDB for OceanBase).
metric_meta_auto_refresh: Menentukan apakah akan menyegarkan metrik secara berkala. Nilai defaultnya adalah false.
instances: Instance yang akan dipantau. Pisahkan instance kluster atau tenant dengan tanda hubung (-).
instance_id: ID instance kluster, instance serverless, atau instance tenant.
CatatanNilainya tidak boleh berupa ID tenant dalam kluster.
instance_type: Nilai valid adalah cluster dan tenant. Saat nilai instance_id adalah ID instance kluster, atur parameter ini ke cluster. Saat nilai instance_id adalah ID instance tenant atau ID instance serverless, atur parameter ini ke tenant.
tenant_id: Parameter ini diperlukan saat Anda ingin menanyakan data tenant tertentu dalam kluster.
metrics: Metrik yang akan dikumpulkan. Jika parameter ini tidak ditentukan, semua metrik akan dikumpulkan. Tentukan metrik dalam format berikut:
instances: -instance_id: xxx tenant_id: xxx instance_type: cluster metrics: - sql_all_rt - sql_delete_rtCatatanJika sejumlah besar metrik dikumpulkan, kecepatan pengumpulan mungkin terpengaruh. Dalam hal ini, Anda dapat menggunakan beberapa exporter untuk mengumpulkan metrik.
Jalankan file JAR OBCloud Exporter.
java -jar /opt/obcloud-exporter/obcloud-exporter-1.0-SNAPSHOT-jar-with-dependencies.jarVerifikasi hasil penerapan di browser. Akses port 9400 pada alamat IP yang sesuai di browser untuk memverifikasi apakah data pemantauan diterima.
CatatanDalam praktiknya, gunakan alamat IP dan nomor port yang dikonfigurasi untuk akses.
Unduh Prometheus versi yang diperlukan dari situs resmi. Berikut adalah contoh mengunduh Prometheus 2.50.1 untuk Linux:
wget https://github.com/prometheus/prometheus/releases/download/v2.50.1/prometheus-2.50.1.linux-amd64.tar.gzTerapkan Prometheus.
Ekstrak paket instalasi Prometheus ke direktori
/opt/prometheus.mkdir -p /opt/prometheus tar -zxvf prometheus-2.50.1.linux-amd64.tar.gz -C /opt/prometheus --strip-components=1Pindahkan file konfigurasi prometheus.yml ke direktori kerja dan edit file sesuai kebutuhan.
mv /opt/prometheus/prometheus.yml /usr/local/bin/ vi /usr/local/bin/prometheus.ymlModifikasi parameter berikut:
global: scrape_interval: 30s scrape_timeout: 20s scrape_configs: - job_name: "nodes" static_configs: - targets: ['localhost:9400']Buat file layanan dan direktori penyimpanan data Prometheus.
mkdir /var/lib/prometheus/ sudo vim /etc/systemd/system/Prometheus.serviceMasukkan dan simpan konten berikut.
CatatanParameter User dan Group bersifat opsional. Untuk informasi tentang cara mengonfigurasi nama pengguna dan grup pengguna, lihat langkah berikutnya.
[Unit] Description=Prometheus Wants=network-online.target After=network-online.target [Service] User=prometheus Group=prometheus Restart=on-failure ExecStart=/opt/prometheus/prometheus \ --config.file /usr/local/bin/prometheus.yml \ --storage.tsdb.path /var/lib/prometheus/ [Install] WantedBy=multi-user.target(Opsional) Konfigurasikan nama pengguna dan grup pengguna. Jika nama pengguna dan grup pengguna yang ditentukan pada langkah sebelumnya sudah ada, atau tidak ada nama pengguna dan grup pengguna yang ditentukan, Anda dapat melewati langkah ini.
sudo groupadd prometheus sudo useradd -r -g prometheus prometheus sudo chown -R prometheus:prometheus /opt/prometheus /var/lib/prometheus sudo chmod -R 755 /opt/prometheus /var/lib/prometheus
Mulai layanan Prometheus.
# Muat ulang konfigurasi systemd. sudo systemctl daemon-reload # Mulai layanan Prometheus. sudo systemctl start prometheus # Aktifkan layanan Prometheus untuk mulai saat boot. sudo systemctl enable prometheus # Periksa status layanan. sudo systemctl status prometheusPeriksa apakah Prometheus telah dimulai.
sudo netstat -ntlp | grep 9090
Terapkan Prometheus dengan menggunakan Docker untuk memantau ApsaraDB for OceanBase
Unduh OBCloud Exporter.
CatatanSaat ini, Anda tidak dapat mengunduh OBCloud Exporter secara langsung. Untuk mendapatkan alat tersebut, hubungi Dukungan Teknis OceanBase.
Terapkan OBCloud Exporter.
Ekstrak paket instalasi OBCloud Exporter ke direktori
/opt/obcloud-exporter.mkdir /opt/obcloud-exporter tar -zxvf Obcloud_Exporter.tar.gz -C /opt/obcloud-exporter --strip-components=1Berikut adalah file yang diekstrak dari paket instalasi:
Dockerfile: File pembuatan kontainer Docker.
muticloud_metric_config.yaml: File konfigurasi metrik. Secara default, file ini tidak perlu dimodifikasi.
application.yaml: File konfigurasi pengumpulan.
obcloud-exporter-1.0-SNAPSHOT-jar-with-dependencies.jar: Program OBCloud Exporter.
readme.md: Deskripsi proyek.
Edit file konfigurasi application.yaml.
# Nama pemantauan. aliyun_monitor: # Kredensial identitas. credential: access_key_id: xxx access_key_secret: xx region_id: ap-southeast-1 # Endpoint. end_point: xxx # Apakah akan menyegarkan metrik secara berkala. Nilai defaultnya adalah false. metric_meta_auto_refresh: false instances: # ID instance. - instance_id: xxx # Untuk menanyakan data tenant tertentu dalam kluster, Anda harus mengonfigurasi tenant_id. tenant_id: xxx # Tipe instance, yang bisa berupa cluster (instance kluster) atau tenant (instance tenant atau instance serverless). instance_type: tenant metrics:Parameter-parameter tersebut dijelaskan sebagai berikut:
access_key_id dan access_key_secret: Pasangan AccessKey untuk otentikasi. Anda dapat mengajukan pasangan AccessKey dari platform terkait. Untuk informasi lebih lanjut, lihat Buat pasangan AccessKey.
region_id dan end_point: Untuk informasi lebih lanjut, lihat Wilayah (ApsaraDB for OceanBase).
metric_meta_auto_refresh: Menentukan apakah akan menyegarkan metrik secara berkala. Nilai defaultnya adalah false.
instances: Instance yang akan dipantau. Pisahkan instance kluster atau tenant dengan tanda hubung (-).
instance_id: ID instance kluster, instance serverless, atau instance tenant.
CatatanNilainya tidak boleh berupa ID tenant dalam kluster.
instance_type: Nilai valid adalah cluster dan tenant. Saat nilai instance_id adalah ID instance kluster, atur parameter ini ke cluster. Saat nilai instance_id adalah ID instance tenant atau ID instance serverless, atur parameter ini ke tenant.
tenant_id: Parameter ini diperlukan saat Anda ingin menanyakan data tenant tertentu dalam kluster.
metrics: Metrik yang akan dikumpulkan. Jika parameter ini tidak ditentukan, semua metrik akan dikumpulkan. Tentukan metrik dalam format berikut:
instances: -instance_id: xxx tenant_id: xxx instance_type: cluster metrics: - sql_all_rt - sql_delete_rtCatatanUntuk informasi lebih lanjut, lihat Metrik pemantauan.
Jika sejumlah besar metrik dikumpulkan, kecepatan pengumpulan mungkin terpengaruh. Dalam hal ini, Anda dapat menggunakan beberapa exporter untuk mengumpulkan metrik.
Mulai OBCloud Exporter dengan menggunakan Docker.
Di direktori
/opt/obcloud-exporter, buat kontainer Docker obcloud-exporter.cd /opt/obcloud-exporter docker build -t obcloud-exporter:1.0 .Mulai kontainer Docker langsung atau dengan menggunakan file konfigurasi eksternal.
Mulai kontainer Docker langsung.
docker run -itd -p9400:9400 --name obcloud-exporter obcloud-exporter:1.0Mulai kontainer Docker dengan menggunakan file konfigurasi eksternal.
docker run -itd -p9400:9400 -v /opt/obcloud-exporter/application.yaml:/app/application.yaml --name obcloud-exporter obcloud-exporter:1.0
Verifikasi hasil penerapan di browser. Akses port 9400 pada alamat IP yang sesuai di browser untuk memverifikasi apakah data pemantauan diterima.
CatatanDalam praktiknya, gunakan alamat IP dan nomor port yang dikonfigurasi untuk akses.
Buat file konfigurasi prometheus.yml Prometheus.
vi /usr/local/bin/prometheus.ymlEdit file konfigurasi.
global: scrape_interval: 30s evaluation_interval: 30s scrape_configs: - job_name: obcloud-exporter-test static_configs: # Server lokal dan nomor port. - targets: ['obcloud-exporter:9400'] labels: instance: obcloud-exporterMulai layanan Prometheus.
docker run -d \ -p 9090:9090 \ -v /usr/local/bin/prometheus.yml:/etc/prometheus/prometheus.yml \ --link obcloud-exporter \ --name prometheus \ prom/prometheusPeriksa apakah Prometheus telah dimulai.
sudo netstat -ntlp | grep 9090
Lihat data pemantauan basis data melalui Prometheus
Kunjungi URL layanan Prometheus http://localhost:9090/targets di browser untuk melihat data pemantauan yang sesuai.
Metrik pemantauan
Saat mengonfigurasi OBCloud Exporter, tentukan metrik pemantauan yang didukung oleh ApsaraDB for OceanBase, sehingga metrik tersebut akan dikumpulkan oleh OBCloud Exporter. Saat OBCloud Exporter berjalan, sistem menyinkronkan metrik pemantauan ini, termasuk metrik pemantauan host kluster dan metrik pemantauan tingkat tenant, ke OBCloud Exporter. Untuk informasi lebih lanjut, lihat metrik pemantauan kluster dan metrik pemantauan tenant.
Saat parameter metric_meta_auto_refresh dalam file konfigurasi application.yaml diatur ke false, metrik pemantauan yang didukung adalah yang dikembalikan saat akses awal. Saat parameter metric_meta_auto_refresh diatur ke true, daftar metrik pemantauan yang didukung diperbarui setiap 10 menit.