Halaman ini menjelaskan metrik OpenTelemetry yang tersedia untuk memantau resource Config Sync Anda.
Cara Config Sync mengumpulkan metrik
Config Sync menggunakan OpenCensus untuk membuat dan mencatat metrik serta OpenTelemetry untuk mengekspor metriknya ke Prometheus dan Cloud Monitoring. Anda juga dapat mengekspor metrik OpenTelemetry ke sistem pemantauan kustom. Panduan berikut menjelaskan cara mengekspor metrik:
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 eksportir prometheus
, yang mengekspos endpoint metrik untuk dipindai Prometheus.
Saat Anda menjalankan Config Sync di GKE, atau di lingkungan Kubernetes
lain yang dikonfigurasi dengan kredensial Google Cloud , Config Sync
akan membuat ConfigMap bernama otel-collector-google-cloud
. otel-collector-google-cloud
mengganti konfigurasi di
ConfigMap otel-collector
. Config Sync akan mengembalikan perubahan apa pun pada
ConfigMap otel-collector
atau otel-collector-google-cloud
.
Pembuatan ConfigMap otel-collector-google-cloud
juga menambahkan eksportir cloudmonitoring
, yang mengekspor ke Cloud Monitoring, dan eksportir kubernetes
, yang mengekspor ke layanan metrik internal Google. Eksporter kubernetes
mengirim metrik anonim tertentu ke Google untuk membantu meningkatkan Config Sync.
Cloud Monitoring menyimpan metrik yang Anda kirim ke project Google Cloud Anda. Eksporter cloudmonitoring
dan kubernetes
menggunakan akun layananGoogle Cloud yang sama, 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 Resource Group Controller 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 dan diuraikan dari Git. | |
total_internal_errors | Jumlah | sumber | Jumlah total error internal yang dialami oleh Config Sync. Metrik mungkin tidak muncul dalam hasil kueri jika tidak terjadi error internal. |
last_sync_timestamp | Nilai Terakhir | status | Stempel waktu sinkronisasi terbaru dari Git. |
parser_duration_seconds | Distribusi | status, pemicu, sumber | Distribusi latensi dari berbagai tahap yang terlibat dalam sinkronisasi dari sumber tepercaya ke cluster. |
pipeline_error_observed | Nilai Terakhir | name, reconciler, component | Status resource kustom RootSync dan RepoSync. Nilai 1 menunjukkan kegagalan. |
reconcile_duration_seconds | Distribusi | status | Distribusi latensi peristiwa rekonsiliasi yang ditangani oleh pengelola rekonsiliator. |
reconciler_errors | Nilai Terakhir | component, errorclass | Jumlah error yang ditemukan 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 yang lebih tinggi dari nol menunjukkan adanya masalah. Untuk informasi selengkapnya, lihat KNV2005: ResourceFightWarning. Metrik mungkin tidak muncul dalam hasil kueri jika tidak ada pertentangan resource yang terjadi. |
Metrik Pengontrol Grup Resource
Pengontrol Grup Resource adalah komponen di Config Sync yang melacak resource terkelola dan memeriksa apakah setiap resource sudah 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 dalam ResourceGroup |
kcc_resource_count | Nilai Terakhir | resourcegroup | Jumlah total resource KCC di ResourceGroup |
pipeline_error_observed | Nilai Terakhir | name, reconciler, component | 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. Parameter ini dapat dipilih dari menu drop-down "Group By" di Monitoring Console.
Untuk 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 Resource Group Controller, yang tersedia saat pemantauan dengan Cloud Monitoring dan Prometheus.
Nama | Nilai | Deskripsi |
---|---|---|
operation |
create, patch, update, delete | Jenis operasi yang dilakukan |
status |
berhasil, error | Status eksekusi operasi |
reconciler |
rootsync, reposync | Jenis Rekonsiliator |
source |
parser, differ, remediator | Sumber error internal |
trigger |
retry, watchUpdate, managementConflict, resync, reimport | Pemicu peristiwa rekonsiliasi |
name |
Nama rekonsiliator | Nama Reconciler |
component |
penguraian, sumber, sinkronisasi, rendering, kesiapan | Nama komponen / tahap rekonsiliasi saat ini |
container |
reconciler, git-sync | Nama penampung |
resource |
cpu, memori | Jenis resource |
controller |
applier, remediator | Nama pengontrol di root atau namespace reconciler |
type |
Resource Kubernetes apa pun, misalnya ClusterRole, Namespace, NetworkPolicy, Role, dan sebagainya. | Jenis Kubernetes API |
commit |
---- | Hash commit terbaru yang 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 rekonsiliator:
Nama | Deskripsi |
---|---|
configsync.sync.kind |
Jenis resource yang mengonfigurasi rekonsiliator ini: RootSync atau RepoSync |
configsync.sync.name |
Nama RootSync atau RepoSync yang mengonfigurasi rekonsiliator ini |
configsync.sync.namespace |
Namespace RootSync atau RepoSync yang mengonfigurasi rekonsiliator ini |
Label resource Cloud Monitoring
Label Resource Cloud Monitoring digunakan untuk pengindeksan metrik dalam penyimpanan, yang berarti label tersebut memiliki efek yang dapat diabaikan pada kardinalitas, tidak seperti label metrik, dengan kardinalitas sebagai masalah performa yang signifikan. Lihat Jenis Resource yang Dimonitor untuk mengetahui informasi selengkapnya.
Jenis resource k8s_container
menetapkan label resource berikut untuk mengidentifikasi Penampung sumber:
Nama | Deskripsi |
---|---|
container_name |
Nama Penampung |
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 menyesuaikan 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 Sinkronisasi Konfigurasi
tidak mengembalikan modifikasi apa pun yang Anda buat. Jika Anda mengubah
ConfigMap otel-collector
atau otel-collector-google-cloud
, 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 dengan cepat
CR RepoSync atau RootSync yang tidak sinkron atau berisi resource yang tidak
disesuaikan dengan status yang diinginkan.
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
rendering
akan diamati dengan nilai 1.Saat melakukan check out, commit terbaru mengalami error atau commit terbaru berisi konfigurasi yang tidak valid, metrik dengan komponen
source
diamati dengan nilai 1.Jika resource gagal diterapkan ke cluster, metrik dengan komponen
sync
akan diamati dengan nilai 1.Saat resource diterapkan, tetapi gagal mencapai status yang diinginkan, metrik dengan komponen
readiness
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.