Managed Service for Prometheus ile entegrasyon kurarak ACK kümenizden kontrol düzlemi, düğüm ve uygulama ölçümlerini kapsamlı bir şekilde toplayın; görsel panolar ve gerçek zamanlı uyarılar sayesinde küme performans yönetimi verimliliğini artırın.
Bir sürüm seçin
Managed Service for Prometheus, açık kaynaklı Prometheus ekosistemiyle tam entegre çalışan ve tamamen yönetilen bir izleme hizmeti sunar. Altta yatan veri depolama, veri görselleştirme veya bakım ve işletme (O&M) işlemlerini yönetmenize gerek kalmaz.
Pro Sürümü (Önerilen): 90 günlük ölçüm saklama süresi, tamamen yönetilen toplayıcılar ve %99,95 üretim düzeyinde hizmet düzeyi sözleşmesi (SLA) sağlar. Container Service for Kubernetes (ACK) bileşenleri için özelleştirilebilir Grafana panoları ve önceden yapılandırılmış uyarı kuralları sunar. Daha fazla bilgi için bkz. Container Monitoring Pro Sürümünü Kullanma.
Temel Sürüm: 7 günlük ölçüm saklama süresi sağlar. Toplayıcıları kendiniz sürdürmelisiniz ve yalnızca temel panolar sunulur.
Prometheus izlemeyi etkinleştirme
Mevcut küme
(İsteğe bağlı) ACK özel kümesi için önce kümeye izleme izinlerini verin.
Kümeler sayfasında hedef kümenin adını tıklayın. Küme ayrıntıları sayfasının sol gezinme bölmesinde seçeneğini belirleyin.
-
Prometheus Monitoring sayfasında bir konteyner izleme sürümü seçin ve Install öğesini tıklayın.
İzlemeyi etkinleştirdikten sonra varsayılan temel ölçümler otomatik olarak toplanır. Özel ölçümleri toplamak için Özel ölçümleri toplama bölümüne bakın. Geçerli sayfada Cluster Overview , Node Monitoring , Application Monitoring , Network Monitoring ve Storage Monitoring gibi önceden yapılandırılmış birçok panoyu görüntüleyebilirsiniz.
Yeni küme
-
ACK yönetilen kümesi (Pro Sürümü):
Küme oluşturma sihirbazının Component Configurations adımında, Container Monitoring bölümünde Container Cluster Monitoring Pro Edition veya Container Cluster Monitoring Basic Edition seçeneklerinden birini belirleyin. Daha fazla bilgi için bkz. ACK yönetilen kümesi oluşturma.
Auto Mode, varsayılan olarak Container Cluster Monitoring Basic Edition sürümünü kullanır.
-
ACK yönetilen kümesi (Temel Sürüm), ACS kümeleri ve ACK Serverless kümeleri:
Küme oluşturma sihirbazının Component Configurations adımında, Container Monitoring bölümünde Enable Managed Service for Prometheus seçeneğini belirleyin. Bu işlem, Container Cluster Monitoring Basic Edition sürümünü yükler.
İzlemeyi etkinleştirdikten sonra varsayılan temel ölçümler otomatik olarak toplanır. Özel ölçümleri toplamak için Özel ölçümleri toplama bölümüne bakın. Küme ayrıntıları sayfasının sol gezinme bölmesinden yolunu izleyerek Application Monitoring , Network Monitoring , Storage Monitoring , Operations ve Prometheus Monitoring gibi önceden yapılandırılmış birçok panoyu görüntüleyebilirsiniz.
Uyarı bildirimlerini yapılandırma
Anomaliler oluştuğunda e-posta, SMS veya DingTalk gibi kanallar üzerinden otomatik bildirim göndermek için anahtar ölçümlere yönelik uyarı kuralları yapılandırın.
ARMS konsolu oturumunu açın. Sol gezinme bölmesinde seçeneğini belirleyin.
Notification Objects sayfasında bir bildirim yöntemi seçin ve bildirim ilkesi oluşturun.
ARMS konsolunun sol gezinme bölmesinde seçeneğini belirleyin.
-
Prometheus alert rules sayfasında Create Prometheus Alert Rule öğesini tıklayın.
Ayrıntılı yapılandırma talimatları için Prometheus uyarı kuralı oluşturma bölümüne bakın.
Özel ölçümleri toplama
Managed Service for Prometheus, saniye başına sorgu sayısı (QPS) ve işleme gecikme süresi gibi özel ölçümleri toplamak için birden çok yöntem destekler. Daha fazla bilgi için bkz. Konteyner ortamları için özel toplama kurallarını yönetme.
Prometheus izlemeyi devre dışı bırakma
Küme ayrıntıları sayfasının sol gezinme bölmesinde Add-ons öğesini tıklayın.
Add-ons sayfasında ack-arms-prometheus eklentisini bulun ve seçeneğini belirleyin. Onay iletişim kutusunda OK öğesini tıklayın.
Faturalama
Küme izleme ücretleri: Temel Sürüm ücretsizdir. Pro Sürüm, kümedeki düğüm sayısına göre kullandıkça öde modeli üzerinden faturalandırılır.
Prometheus örnek ücretleri: temel ölçümlerin toplanması varsayılan olarak ücretsizdir. Özel ölçümlerin toplanması ise yazma hacmi, raporlama hacmi, depolama hacmi ve saklama süresi gibi faktörlere göre kullandıkça öde modeli üzerinden faturalandırılır.
Ayrıntılı faturalama kuralları ve fiyatlandırma bilgileri için bkz. Container Monitoring Faturalandırması.
Varsayılan temel ölçümler
Prometheus izlemeyi etkinleştirdikten sonra konteyner izleme için temel ölçümler otomatik olarak toplanır. Bu ölçümlerin ayrıntılı açıklamaları için bkz. Ölçümler.
kubelet'ten gelen konteynerler için temel kaynak ölçümleri.
kube-state-metrics'ten gelen kümeler için uygulama durumu ölçümleri.
node-exporter'dan gelen küme düğümleri için temel kaynak ölçümleri.
ack-gpu-exporter'dan gelen küme düğümleri için GPU ölçümleri.
yönetilen kümelerin kontrol düzlemi bileşenleri için ölçümler; API sunucusu, etcd, kube-scheduler, kube-controller-manager ve cloud-controller-manager dahil.
Kümedeki CoreDNS için temel izleme ölçümleri.
Kümedeki Ingress denetleyicileri için temel izleme ölçümleri.
-
İlgili özellikleri etkinleştirdikten sonra aşağıdaki temel ölçümler otomatik olarak raporlanır:
Container Storage Monitoring özelliğini etkinleştirdikten sonra csi-plugin eklentisi ölçüm raporlamaya başlar.
Cost Insight özelliğini etkinleştirdikten sonra ack-cost-exporter eklentisi ölçüm raporlamaya başlar.
iş yükü birlikte yerleştirme izlemeyi ve Resource Profiling özelliğini etkinleştirdikten sonra ack-koordinator eklentisi ölçüm raporlamaya başlar.
SSS
Prometheus Monitoring sayfasında pano görünmüyor
Prometheus izlemeyi etkinleştirdikten sonra sayfasında No related monitoring dashboard found uyarısını görüyorsanız sorunu çözmek için aşağıdaki adımları uygulayın.
-
Prometheus izleme eklentisini yeniden yükleyin.
-
Bileşeni yeniden yükleyin:
Bileşenin kaldırıldığını onayladıktan sonra Install öğesini tıklayın. Onay iletişim kutusunda OK öğesini tıklayın.
-
Yükleme tamamlandıktan sonra Prometheus Monitoring sayfasına dönün ve sorunun çözülüp çözülmediğini kontrol edin.
Sorun devam ederse aşağıdaki adımlarla ilerleyin.
-
Prometheus örneği entegrasyonunu kontrol edin.
ARMS konsolu sol gezinme bölmesinde Integration Management öğesini tıklayın.
-
Integrations sekmesinde, Container Service listesinde kümenizle aynı ada sahip bir konteyner ortamı olup olmadığını kontrol edin.
Böyle bir konteyner ortamı yoksa bkz. ARMS veya Prometheus konsolunda hizmet entegre etme.
-
Böyle bir konteyner ortamı varsa hedef konteyner ortamının Actions sütunundaki Settings seçeneğini tıklayarak Settings sayfasına gidin.
Yüklenen aracının beklendiği gibi çalışıp çalışmadığını kontrol edin.
Ölçüm saklama süresi nasıl ayarlanır
Daha fazla bilgi için bkz. Ölçümlerin saklama süresini ayarlama.
ack-arms-prometheus eklenti sürümü nasıl görüntülenir
Kümeler sayfasında hedef kümenin adını tıklayın. Sol gezinme bölmesinde Add-ons öğesini tıklayın.
-
Add-ons sayfasında ack-arms-prometheus eklentisini bulun.
Geçerli sürüm, bileşen adının altında görüntülenir. Daha yeni bir sürüm mevcutsa ve bileşeni yükseltmek istiyorsanız sürüm numarasının yanındaki Upgrade seçeneğini tıklayın.
NotUpgrade seçeneği yalnızca yüklü sürüm en son sürüm değilse görüntülenir.
GPU izleme neden dağıtılamıyor?
Bir GPU düğümünde taint'ler (lekeler) varsa GPU izleme dağıtılamayabilir. GPU düğümündeki taint'leri görüntülemek için aşağıdaki adımları uygulayın.
-
Hedef GPU düğümündeki taint'leri görüntülemek için aşağıdaki komutu çalıştırın.
GPU düğümünde özel taint'ler varsa taint ile ilgili girdileri bulabilirsiniz. Bu örnekte
keydeğeritest-key,valuedeğeritest-valueveeffectdeğeriNoScheduleolarak ayarlanmış bir taint kullanılmıştır:kubectl describe node cn-beijing.47.100.***.***Beklenen çıktı:
Taints:test-key=test-value:NoSchedule -
GPU düğümündeki taint'leri işlemek için aşağıdaki iki yöntemden birini kullanın.
-
GPU düğümünden taint'i kaldırmak için aşağıdaki komutu çalıştırın.
kubectl taint node cn-beijing.47.100.***.*** test-key=test-value:NoSchedule- -
Podların lekeli düğüme zamanlanmasına izin vermek için GPU düğümündeki taint'e tolerans bildirin.
# 1. Run the following command to edit ack-prometheus-gpu-exporter. kubectl edit daemonset -n arms-prom ack-prometheus-gpu-exporter # 2. Add the following fields to the YAML file to declare a toleration for the taint. # Other fields are omitted. #tolerations field is added above the containers field, at the same level as the containers field. tolerations: - key: "test-key" operator: "Equal" value: "test-value" effect: "NoSchedule" containers: # Other fields are omitted.
-
ARMS Prometheus tamamen nasıl kaldırılır
Yalnızca Managed Service for Prometheus ad alanını silmek, kaynaklar silindikten sonra kalan yapılandırmaya neden olur ve yeniden yüklemeyi etkiler. Kalan ARMS-Prometheus yapılandırmasını manuel olarak tamamen silmek için aşağıdaki işlemleri gerçekleştirin.
-
arms-prom ad alanını silin.
kubectl delete namespace arms-prom -
ClusterRoles öğelerini silin.
kubectl delete ClusterRole arms-kube-state-metrics kubectl delete ClusterRole arms-node-exporter kubectl delete ClusterRole arms-prom-ack-arms-prometheus-role kubectl delete ClusterRole arms-prometheus-oper3 kubectl delete ClusterRole arms-prometheus-ack-arms-prometheus-role kubectl delete ClusterRole arms-pilot-prom-k8s kubectl delete ClusterRole gpu-prometheus-exporter kubectl delete ClusterRole o11y:addon-controller:role kubectl delete ClusterRole arms-aliyunserviceroleforarms-clusterrole -
ClusterRoleBindings öğelerini silin.
kubectl delete ClusterRoleBinding arms-node-exporter kubectl delete ClusterRoleBinding arms-prom-ack-arms-prometheus-role-binding kubectl delete ClusterRoleBinding arms-prometheus-oper-bind2 kubectl delete ClusterRoleBinding arms-kube-state-metrics kubectl delete ClusterRoleBinding arms-pilot-prom-k8s kubectl delete ClusterRoleBinding arms-prometheus-ack-arms-prometheus-role-binding kubectl delete ClusterRoleBinding gpu-prometheus-exporter kubectl delete ClusterRoleBinding o11y:addon-controller:rolebinding kubectl delete ClusterRoleBinding arms-kube-state-metrics-agent kubectl delete ClusterRoleBinding arms-node-exporter-agent kubectl delete ClusterRoleBinding arms-aliyunserviceroleforarms-clusterrolebinding -
Rolleri ve RoleBindings öğelerini silin.
kubectl delete Role arms-pilot-prom-spec-ns-k8s kubectl delete Role arms-pilot-prom-spec-ns-k8s -n kube-system kubectl delete RoleBinding arms-pilot-prom-spec-ns-k8s kubectl delete RoleBinding arms-pilot-prom-spec-ns-k8s -n kube-system
Helm kullanarak nasıl kaldırılır
Hizmeti manuel olarak Helm kullanarak dağıttıysanız veya ortam ya da Helm sürümü sorunları nedeniyle kalan kaynaklar varsa hizmeti kaldırmak için bu yöntemi kullanın.
Kümeler sayfasında hedef kümenin adını tıklayın. Sol gezinme bölmesinde seçeneğini belirleyin.
Helm sayfasında ack-arms-prometheus sürümünü bulun, Actions sütununda Delete öğesini tıklayın, Clear Release Records seçeneğini belirleyin ve ardından uygulamayı istem üzerine silin.
Yükleme sırasında "xxx in use" hatası
Kümeler sayfasında hedef kümenin adını tıklayın. Sol gezinme bölmesinde seçeneğini belirleyin.
-
Helm sayfasında ack-arms-prometheus olup olmadığını kontrol edin.
Mevcut ise ack-arms-prometheus'u Helm sayfasından silin ve Add-ons sayfasından yeniden yükleyin. ack-arms-prometheus yükleme hakkında daha fazla bilgi için bkz. Bileşenleri yönetme.
-
Mevcut değilse:
ack-arms-prometheus Helm sürümünde kalan kaynaklar olabilir. ARMS Prometheus'u tamamen manuel olarak kaldırın.
Yükleme sırasında "Component Not Installed" hatası
-
ack-arms-prometheus eklentisinin yüklü olup olmadığını kontrol edin.
Kümeler sayfasında hedef kümenin adını tıklayın. Sol gezinme bölmesinde seçeneğini belirleyin.
-
Helm sayfasında ack-arms-prometheus olup olmadığını kontrol edin.
Mevcut ise ack-arms-prometheus'u Helm sayfasından silin ve Add-ons sayfasından yeniden yükleyin. ack-arms-prometheus yükleme hakkında daha fazla bilgi için bkz. Bileşenleri yönetme.
-
Mevcut değilse:
ack-arms-prometheus Helm sürümünde kalan kaynaklar olabilir. ARMS Prometheus'u tamamen manuel olarak kaldırın.
-
ack-arms-prometheus günlüklerinde hata olup olmadığını kontrol edin.
Küme ayrıntıları sayfasının sol gezinme bölmesinde seçeneğini belirleyin.
Deployments sayfasının üst kısmında Namespace değerini arms-prom olarak ayarlayın ve ardından arms-prometheus-ack-arms-prometheus öğesini tıklayın.
Günlüklerdeki hataları kontrol etmek için Logs sekmesini tıklayın.
-
Aracı yüklemesi sırasında bir hata oluşup oluşmadığını kontrol edin.
ARMS konsolu oturumunu açın. Sol gezinme bölmesinde Integration Management öğesini tıklayın.
Integrations sekmesinde Container Service listesini kontrol edin. Hedef konteyner ortamının Actions sütununda Settings seçeneğini tıklayarak Settings sayfasına gidin.
ACK özel kümeleri için izleme izinleri nasıl verilir
Kümeler sayfasında hedef kümenin adını tıklayın. Sol gezinme bölmesinde Cluster Information öğesini tıklayın.
Basic Information sekmesinde, Worker RAM Role yanındaki KubernetesWorkerRole-*** bağlantısını tıklayın ve ardından RAM rolü sayfasında Trust Policy sekmesine geçin.
Trust Policy sekmesinde Edit Trust Policy öğesini tıklayın.
-
Komut dosyası düzenleyicide, Statement alanına aşağıdaki yetkilendirme kuralını ekleyin ve OK öğesini tıklayın.
{ "Statement": [ { "Action": [ "arms:Describe*", "arms:List*", "arms:Get*", "arms:Search*", "arms:Check*", "arms:Query*", "arms:ListEnvironments", "arms:DescribeAddonRelease", "arms:InstallAddon", "arms:DeleteAddonRelease", "arms:ListEnvironmentDashboards", "arms:ListAddonReleases", "arms:CreateEnvironment", "arms:UpdateEnvironment", "arms:InitEnvironment", "arms:DescribeEnvironment", "arms:InstallEnvironmentFeature", "arms:ListEnvironmentFeatures", "cms:GetIntegrationVersionForCS", "cms:CreateIntegrationPolicy", "cms:ListAddonReleases", "cms:UpdateAddonRelease", "cms:CreateAddonRelease", "cms:GetPrometheusInstance", "cms:ListIntegrationPolicyStorageRequirements", "log:PostLogStoreLogs" ], "Resource": "*", "Effect": "Allow" } ], "Version": "1" }
İlgili konular
Managed Service for Prometheus'i Temel Sürümden Pro Sürüme Yükseltme