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. 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 agar dipindai oleh 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
menggantikan konfigurasi di ConfigMap otel-collector
. Config Sync mengembalikan perubahan apa pun pada ConfigMap otel-collector
atau otel-collector-google-cloud
.
Pembuatan otel-collector-google-cloud
ConfigMap juga menambahkan pengekspor
cloudmonitoring
, yang mengekspor ke Cloud Monitoring, dan pengekspor
kubernetes
, yang mengekspor ke layanan metrik internal Google. Exporter
kubernetes
mengirimkan metrik tertentu yang dianonimkan ke Google untuk membantu meningkatkan kualitas Config Sync.
Cloud Monitoring menyimpan metrik yang Anda kirimkan ke projectGoogle Cloud Anda. Pengekspor 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 Pengontrol Grup Resource mengumpulkan metrik berikut dengan OpenCensus dan menyediakannya melalui Pengumpul OpenTelemetry . 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 diurai 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. |
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 menyinkronkan dari sumber tepercaya ke cluster. |
pipeline_error_observed | Nilai Terakhir | nama, rekonsiliator, 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 | component, errorclass | Jumlah error yang terjadi saat menyinkronkan resource dari sumber tepercaya ke cluster. |
remediate_duration_seconds | Distribusi | status | Distribusi latensi peristiwa rekonsiliasi perbaikan. |
resource_conflicts_total | Jumlah | Jumlah total konflik resource yang disebabkan oleh ketidakcocokan antara resource yang di-cache dan resource cluster. Metrik mungkin tidak muncul dalam hasil kueri jika tidak ada konflik resource. | |
resource_fights_total | Jumlah | Jumlah total resource yang terlalu sering disinkronkan. Setiap hasil yang lebih tinggi dari nol menunjukkan adanya masalah. Untuk mengetahui informasi selengkapnya, lihat KNV2005: ResourceFightWarning. Metrik mungkin tidak muncul dalam hasil kueri jika tidak ada perebutan resource. |
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 dalam ResourceGroup |
cluster_scoped_resource_count | Nilai Terakhir | resourcegroup | Jumlah resource cakupan cluster dalam ResourceGroup |
crd_count | Nilai Terakhir | resourcegroup | Jumlah CRD dalam ResourceGroup |
kcc_resource_count | Nilai Terakhir | resourcegroup | Jumlah total resource KCC dalam ResourceGroup |
pipeline_error_observed | Nilai Terakhir | nama, rekonsiliator, 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. Opsi ini dapat dipilih dari menu drop-down "Kelompokkan Menurut" 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 Resource Group Controller, yang tersedia saat memantau 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 Penyesuai |
source |
parser, differ, remediator | Sumber error internal |
trigger |
coba lagi, watchUpdate, managementConflict, resync, reimport | Pemicu peristiwa rekonsiliasi |
name |
Nama rekonsiliator | Nama Reconciler |
component |
parsing, 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 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 rekonsiliator ini |
Label resource Cloud Monitoring
Label Resource Cloud Monitoring digunakan untuk mengindeks metrik dalam penyimpanan, yang berarti label tersebut 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 Penampung 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
. Menggunakan ConfigMap ini memastikan bahwa Config Sync tidak mengembalikan modifikasi yang Anda lakukan. 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 disinkronkan atau berisi resource yang tidak direkonsiliasi ke status yang diinginkan.
Agar sinkronisasi berhasil dilakukan 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 memeriksa 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.