Halaman ini menjelaskan metrik OpenTelemetry yang tersedia untuk memantau resource Config Sync Anda.
Harga
Metrik Config Sync menggunakan Google Cloud Managed Service for Prometheus untuk memuat metrik ke Cloud Monitoring. Biaya Cloud Monitoring untuk penyerapan metrik ini didasarkan pada jumlah sampel yang diserap.
Untuk mengetahui informasi selengkapnya, lihat harga Cloud Monitoring.
Cara Config Sync mengumpulkan metrik
Config Sync menggunakan OpenCensus untuk membuat dan mencatat metrik serta OpenTelemetry untuk mengekspor metriknya ke Prometheus dan Cloud Monitoring. Panduan berikut menjelaskan cara mengekspor metrik:
- Cloud Monitoring
- Prometheus
- Sistem pemantauan kustom (tidak direkomendasikan)
Untuk mengonfigurasi OpenTelemetry Collector, secara default, Config Sync membuat ConfigMap bernama otel-collector. Deployment otel-collector berjalan di namespace config-management-monitoring.
Pembuatan ConfigMap otel-collector mengonfigurasi pengekspor prometheus, yang mengekspos endpoint metrik untuk dipindai Prometheus.
Saat Anda menjalankan Config Sync di GKE, atau di lingkungan Kubernetes
lain yang dikonfigurasi dengan Google Cloud kredensial, Config Sync
akan membuat ConfigMap bernama otel-collector-google-cloud.
otel-collector-google-cloud mengganti konfigurasi di
otel-collector ConfigMap. Config Sync mengembalikan perubahan apa pun pada
otel-collector atau otel-collector-google-cloud ConfigMap.
Pembuatan ConfigMap otel-collector-google-cloud juga menambahkan pengekspor cloudmonitoring, yang mengekspor ke Cloud Monitoring, dan pengekspor kubernetes, yang mengekspor ke layanan metrik internal Google. Pengekspor kubernetes mengirimkan metrik yang dipilih dan dianonimkan ke Google untuk membantu meningkatkan Config Sync.
Cloud Monitoring menyimpan metrik yang Anda kirimkan ke
Google Cloud project Anda. Pengekspor cloudmonitoring dan kubernetes menggunakan akun layanan yang sama
Google Cloud , yang memerlukan izin IAM untuk menulis
ke Cloud Monitoring. Untuk mengonfigurasi izin ini, lihat
Memberikan izin penulisan metrik untuk Cloud Monitoring.
Metrik OpenTelemetry
Config Sync dan Pengontrol Grup Resource mengumpulkan metrik berikut dengan OpenCensus dan menyediakannya melalui OpenTelemetry Collector . Kolom Tag mencantumkan tag khusus Config Sync yang berlaku untuk setiap metrik. Metrik dengan tag mewakili beberapa pengukuran, satu untuk setiap kombinasi nilai tag.
Metrik Config Sync
| Nama | Jenis | Tag | Deskripsi |
|---|---|---|---|
| api_duration_seconds | Distribusi | operasi, status | Distribusi latensi panggilan server API. |
| apply_duration_seconds | Distribusi | status | Distribusi latensi penerapan resource yang dideklarasikan dari sumber tepercaya ke cluster. |
| apply_operations_total | Jumlah | operasi, status, pengontrol | Jumlah total operasi yang telah dilakukan untuk menyinkronkan resource dari sumber tepercaya ke cluster. |
| declared_resources | Nilai Terakhir | Jumlah resource yang dideklarasikan yang diuraikan dari Git. | |
| internal_errors_total | Jumlah | sumber | Jumlah total error internal yang dialami oleh Config Sync. Metrik mungkin tidak muncul dalam hasil kueri jika tidak ada error internal yang terjadi. |
| last_sync_timestamp | Nilai Terakhir | status | Stempel waktu sinkronisasi terbaru dari Git. |
| parser_duration_seconds | Distribusi | status, pemicu, sumber | Distribusi latensi berbagai tahap yang terlibat dalam sinkronisasi dari sumber tepercaya ke cluster. |
| pipeline_error_observed | Nilai Terakhir | nama, rekonsiliasi, komponen | Status resource kustom RootSync dan RepoSync. Nilai 1 menunjukkan kegagalan. |
| reconcile_duration_seconds | Distribusi | status | Distribusi latensi peristiwa rekonsiliasi yang ditangani oleh pengelola rekonsiliasi. |
| reconciler_errors | Nilai Terakhir | komponen, errorclass | Jumlah error yang terjadi saat menyinkronkan resource dari sumber tepercaya ke cluster. |
| remediate_duration_seconds | Distribusi | status | Distribusi latensi peristiwa rekonsiliasi remediator. |
| resource_conflicts_total | Jumlah | Jumlah total konflik resource yang dihasilkan dari ketidakcocokan antara resource yang di-cache dan resource cluster. Metrik mungkin tidak muncul dalam hasil kueri jika tidak ada konflik resource yang terjadi. | |
| resource_fights_total | Jumlah | Jumlah total resource yang terlalu sering disinkronkan. Hasil apa pun yang lebih tinggi dari nol menunjukkan masalah. Untuk mengetahui informasi selengkapnya, lihat KNV2005: ResourceFightWarning. Metrik mungkin tidak muncul dalam hasil kueri jika tidak ada konflik resource yang terjadi. |
Metrik Pengontrol Grup Resource
Pengontrol Grup Resource adalah komponen di Config Sync yang melacak resource terkelola dan memeriksa apakah setiap resource siap atau direkonsiliasi. Metrik berikut tersedia.
| Nama | Jenis | Tag | Deskripsi |
|---|---|---|---|
| rg_reconcile_duration_seconds | Distribusi | stallreason | Distribusi waktu yang diperlukan untuk merekonsiliasi CR ResourceGroup |
| resource_group_total | Nilai Terakhir | Jumlah CR ResourceGroup saat ini | |
| resource_count | Nilai Terakhir | resourcegroup | Jumlah total resource yang dilacak oleh ResourceGroup |
| ready_resource_count | Nilai Terakhir | resourcegroup | Jumlah total resource yang siap di ResourceGroup |
| resource_ns_count | Nilai Terakhir | resourcegroup | Jumlah namespace yang digunakan oleh resource di ResourceGroup |
| cluster_scoped_resource_count | Nilai Terakhir | resourcegroup | Jumlah resource cakupan cluster di ResourceGroup |
| crd_count | Nilai Terakhir | resourcegroup | Jumlah CRD di ResourceGroup |
| kcc_resource_count | Nilai Terakhir | resourcegroup | Jumlah total resource KCC di ResourceGroup |
| pipeline_error_observed | Nilai Terakhir | nama, rekonsiliasi, komponen | Status resource kustom RootSync dan RepoSync. Nilai 1 menunjukkan kegagalan. |
Label metrik Config Sync
Label metrik dapat digunakan untuk menggabungkan data metrik di Cloud Monitoring dan Prometheus. Label ini dapat dipilih dari daftar drop-down "Group By" di Konsol Monitoring.
Untuk mengetahui informasi selengkapnya tentang label Cloud Monitoring dan label metrik Prometheus, lihat Komponen model metrik dan Model data Prometheus.
Label metrik
Label berikut digunakan oleh metrik Config Sync dan Pengontrol Grup Resource, yang tersedia saat memantau dengan Cloud Monitoring dan Prometheus.
| Nama | Nilai | Deskripsi |
|---|---|---|
operation |
create, patch, update, delete | Jenis operasi yang dilakukan |
status |
success, error | Status eksekusi operasi |
reconciler |
rootsync, reposync | Jenis Rekonsiliasi |
source |
parser, differ, remediator | Sumber error internal |
trigger |
retry, watchUpdate, managementConflict, resync, reimport | Pemicu peristiwa rekonsiliasi |
name |
Nama rekonsiliasi | Nama Rekonsiliasi |
component |
parsing, source, sync, rendering, readiness | Nama komponen / tahap rekonsiliasi saat ini |
container |
reconciler, git-sync | Nama container |
resource |
cpu, memory | Jenis resource |
controller |
applier, remediator | Nama pengontrol di rekonsiliasi root atau namespace |
type |
Resource Kubernetes apa pun, misalnya ClusterRole, Namespace, NetworkPolicy, Role, dan sebagainya. | Jenis Kubernetes API |
commit |
---- | Hash commit yang terakhir disinkronkan |
Label resource
Metrik Config Sync yang dikirim ke Prometheus dan Cloud Monitoring memiliki label metrik berikut yang ditetapkan untuk mengidentifikasi Pod sumber:
| Nama | Deskripsi |
|---|---|
k8s.node.name |
Nama Node yang menghosting Pod Kubernetes |
k8s.pod.namespace |
Namespace Pod |
k8s.pod.uid |
UID Pod |
k8s.pod.ip |
IP Pod |
k8s.deployment.name |
Nama Deployment yang memiliki Pod |
Metrik Config Sync yang dikirim ke Prometheus dan Cloud Monitoring dari Pod reconciler juga memiliki label metrik berikut yang ditetapkan untuk mengidentifikasi RootSync atau RepoSync yang digunakan untuk mengonfigurasi rekonsiliasi:
| Nama | Deskripsi |
|---|---|
configsync.sync.kind |
Jenis resource yang mengonfigurasi rekonsiliasi ini: RootSync atau RepoSync |
configsync.sync.name |
Nama RootSync atau RepoSync yang mengonfigurasi rekonsiliasi ini |
configsync.sync.namespace |
Namespace RootSync atau RepoSync yang mengonfigurasi rekonsiliasi ini |
Label resource Cloud Monitoring
Label Resource Cloud Monitoring digunakan untuk mengindeks metrik dalam penyimpanan, yang berarti label ini memiliki efek yang dapat diabaikan pada kardinalitas, tidak seperti label metrik, yang kardinalitasnya merupakan masalah performa yang signifikan. Lihat Jenis Resource yang Dimonitor untuk mengetahui informasi selengkapnya.
Jenis resource k8s_container menetapkan label resource berikut untuk mengidentifikasi Container sumber:
| Nama | Deskripsi |
|---|---|
container_name |
Nama Container |
pod_name |
Nama Pod |
namespace_name |
Namespace Pod |
location |
Region atau zona cluster yang menghosting node |
cluster_name |
Nama cluster yang menghosting node |
project |
ID project yang menghosting cluster |
Mengonfigurasi pemfilteran metrik kustom
Anda dapat menyesuaikan metrik kustom yang diekspor Config Sync ke Prometheus, Cloud Monitoring, dan layanan pemantauan internal Google. Sesuaikan metrik kustom untuk menyempurnakan metrik yang disertakan atau mengonfigurasi backend yang berbeda.
Untuk mengubah metrik kustom, buat lalu edit ConfigMap bernama otel-collector-custom. Penggunaan ConfigMap ini memastikan bahwa Config Sync tidak mengembalikan modifikasi apa pun yang Anda lakukan. Jika Anda mengubah
otel-collector atau otel-collector-google-cloud ConfigMap, Config Sync
akan mengembalikan perubahan apa pun.
Untuk contoh cara menyesuaikan ConfigMap ini, lihat Pemfilteran Metrik Kustom dalam dokumentasi Config Sync open source.
Memahami metrik pipeline_error_observed
Metrik pipeline_error_observed adalah metrik yang dapat membantu Anda mengidentifikasi CR RepoSync atau RootSync yang tidak disinkronkan atau berisi resource yang tidak direkonsiliasi ke status yang diinginkan dengan cepat.
Untuk sinkronisasi yang berhasil oleh RootSync atau RepoSync, metrik dengan semua komponen (
rendering,source,sync,readiness) diamati dengan nilai 0.
Jika commit terbaru gagal dalam rendering otomatis, metrik dengan komponen
renderingakan diamati dengan nilai 1.Jika commit terbaru mengalami error saat melakukan checkout atau commit terbaru berisi konfigurasi yang tidak valid, metrik dengan komponen
sourceakan diamati dengan nilai 1.Jika resource gagal diterapkan ke cluster, metrik dengan komponen
syncakan diamati dengan nilai 1.Jika resource diterapkan, tetapi gagal mencapai status yang diinginkan, metrik dengan komponen
readinessakan diamati dengan nilai 1. Misalnya, Deployment diterapkan ke cluster, tetapi Pod yang sesuai tidak berhasil dibuat.
Langkah berikutnya
- Pelajari lebih lanjut cara memantau objek RootSync dan RepoSync.
- Pelajari cara menggunakan SLI Config Sync.