ACK Edge cluster için önceden tanımlanmış izleme panolarını ve performans ölçümlerini görüntülemek üzere Managed Service for Prometheus izlemeyi kullanın. ACK Edge cluster için Managed Service for Prometheus ile izlemeyi etkinleştirin.
Ön koşullar
1.18.8-aliyunedge.1 veya sonraki bir sürümde çalışan bir ACK Edge cluster oluşturun.
ACK Edge cluster üzerinde ack-arms-prometheus 1.1.4 veya sonraki bir sürümün yüklü olduğundan emin olun. Değilse, ack-arms-prometheus'ü yükseltin.
-
Küme sürümü 1,26'dan önceyse,
kube-system/edge-tunnel-server-cfgConfigMap'in Node Exporter için 9100 numaralı bağlantı noktasında ve GPU Exporter için 9445 numaralı bağlantı noktasında port yönlendirmeyi etkinleştirdiğinden emin olun. Aşağıdaki yapılandırmayı kullanın:http-proxy-ports: 9445 https-proxy-ports: 9100
Managed Service for Prometheus izlemeye genel bakış
Managed Service for Prometheus açık kaynaklı Prometheus ekosistemiyle tam entegre olur ve çok sayıda bileşenin izlenmesini destekler. Kullanıma hazır birçok önceden tanımlanmış izleme panosu sunar ve tamamen yönetilen bir Prometheus hizmeti sağlar. Managed Service for Prometheus izleme sayesinde kendi Prometheus izleme sisteminizi kurmanıza veya veri depolama, veri sunumu ve sistem işletimi gibi altyapı sorunlarıyla uğraşmanıza gerek kalmaz.
ACK Edge cluster Konteyner İzleme Temel Sürümünü destekler.
Managed Service for Prometheus Grafana panolarını görüntüleme
ACK konsolu oturumunu açın. Sol gezinme bölmesinde Clusters seçeneğine tıklayın.
-
Clusters sayfasında yönetmek istediğiniz kümenin adına tıklayın. Sol gezinme bölmesinde seçeneklerini belirleyin.
Notİlk kez oturum açtığınızda ekrandaki talimatları izleyin ve eklentinin altındaki Install seçeneğine tıklayın. Konsol eklentiyi otomatik olarak yükler ve izleme panolarını kontrol eder. Yükleme tamamlandığında konsol sizi Prometheus Monitoring ayrıntıları sayfasına yönlendirir.
Prometheus Monitoring sayfasında Node Monitoring, Application Monitoring ve GPU Monitoring gibi yerleşik izleme panolarını kullanarak kümedeki düğümlerin, uygulamaların ve GPU'ların izleme verilerini görüntüleyebilirsiniz.
Prometheus izleme uyarılarını yapılandırma
İzleme işleri için uyarılar oluşturmak anomalileri proaktif olarak tespit etmenize yardımcı olur. Uyarı koşulları karşılandığında telefon araması, e-posta, kısa mesaj, DingTalk, WeCom ve Webhook gibi kanallar aracılığıyla gerçek zamanlı olarak uyarılar gönderilir. Bir uyarı kuralı tetiklendiğinde belirtilen kişi grubuna bildirim gönderilir. Kişi grubu oluşturmadan önce bir kişi oluşturmanız gerekir. Kişi oluştururken bildirim almak için kullanılan cep telefonu numarasını ve e-posta adresini belirtebilirsiniz. Ayrıca uyarıları zamanında yönetebilmek için bir bildirim ilkesinde alıcı grubu belirtebilirsiniz.
DingTalk robotu oluşturma hakkında bilgi için DingTalk sohbet botu konusuna bakın.
WeCom robotu oluşturma hakkında bilgi için Uyarı bildirimlerini WeCom grup sohbetlerine gönderme konusuna bakın.
1. Adım: Kişi oluşturma
ARMS konsolu oturumunu açın. Sol gezinme bölmesinde seçeneklerini belirleyin.
Contacts sekmesinde Create Contact seçeneğine tıklayın.
-
Create Contact iletişim kutusunda parametreleri yapılandırın ve Confirm seçeneğine tıklayın.
Parametre
Açıklama
Ad
Kişi için özel bir ad belirtin.
Cep telefonu numarası
Bir cep telefonu numarası belirttiğinizde kişi, telefon araması ve kısa mesaj yoluyla uyarı bildirimleri alabilir.
NotBildirim ilkelerinde telefon araması bildirimleri için yalnızca doğrulanmış cep telefonu numaraları kullanılabilir. Cep telefonu numarasını doğrulama hakkında bilgi için Telefon numarasını doğrulama konusuna bakın.
E-posta adresi
Bir e-posta adresi belirttiğinizde kişi, e-posta yoluyla uyarı bildirimleri alabilir.
ÖnemliEn fazla 100 kişi ekleyebilirsiniz.
2. Adım: Prometheus uyarı kuralı oluşturma
Statik eşik kullanarak Prometheus uyarı kuralı oluşturma
Statik eşik denetim türü, sistem tarafından önceden ayarlanmış uyarı ölçümleri sağlar. Mevcut bir uyarı ölçümünü seçerek açıklamalı seçenekler aracılığıyla bu ölçüm için hızla bir uyarı kuralı oluşturabilirsiniz.
ARMS konsolu oturumunu açın.
Soldaki gezinme bölmesinde seçeneklerini belirleyin.
Prometheus Alert Rules sayfasında Create Prometheus Alert Rule seçeneğine tıklayın.
-
Create Prometheus Alert Rule sayfasında aşağıdaki uyarı parametrelerini yapılandırın ve Save seçeneğine tıklayın.
Parametre
Açıklama
Örnek
Uyarı Adı
Uyarının adı.
prod-cluster-container-cpu-alert
Denetim Türü
Static threshold seçeneğini belirleyin.
Static threshold
Prometheus Örneği
Uyarıyı oluşturmak istediğiniz Prometheus örneğini seçin.
Production Cluster
Uyarı Grubu
Bir uyarı grubu seçin.
Farklı Prometheus türleri farklı uyarı gruplarını destekler. Kullanılabilir uyarı grubu seçenekleri, seçilen Prometheus örnek türüne göre değişir.
Kubernetes Workloads
Uyarı Ölçümü
Uyarıyı yapılandırmak istediğiniz ölçümü seçin. Her uyarı grubu farklı ölçümlere karşılık gelir.
Container CPU utilization
Uyarı Koşulu
Uyarı ölçümünün önceden tanımlanmış içeriğine göre bir uyarı olayını tetikleyen koşulları ayarlayın.
Konteyner CPU kullanımı
greater than%80 olduğunda uyarı koşulu karşılanır.Filtreleme Koşulu
Uyarı ölçümüne göre uyarı kuralının kapsamını tanımlayın. Filtreleme koşullarını karşılayan herhangi bir kaynak uyarı kuralını sağladığında uyarı olayı tetiklenir.
Aşağıdaki filtreleme koşulları kullanılabilir:
Traverse: Uyarı kuralı mevcut Prometheus örneğindeki tüm kaynaklar için geçerlidir. Traverse varsayılan filtreleme koşuludur.
Equal To: Bu koşulu seçtikten sonra belirli bir kaynak adı girin. Uyarı kuralı yalnızca o kaynak için geçerlidir. Birden fazla kaynak adı giremezsiniz.
Not Equal To: Bu koşulu seçtikten sonra belirli bir kaynak adı girin. Uyarı kuralı belirtilen kaynak dışındaki tüm kaynaklar için geçerlidir. Birden fazla kaynak adı giremezsiniz.
Match Regular Expression: Bu koşulu seçtikten sonra gerektiği şekilde kaynak adlarını eşleştirmek için bir düzenli ifade girin. Uyarı kuralı düzenli ifadeyle eşleşen tüm kaynaklar için geçerlidir.
Do Not Match Regular Expression: Bu koşulu seçtikten sonra gerektiği şekilde kaynak adlarını eşleştirmek için bir düzenli ifade girin. Uyarı kuralı düzenli ifadeyle eşleşen tüm kaynakları filtreler.
NotFiltreleme koşullarını ayarladıktan sonra Data Preview alanı görünür.
Filtreleme koşulu 300 karakteri aşamaz.
Traverse
Veri Önizleme
Data Preview alanı, uyarı koşuluna karşılık gelen Prometheus Sorgu Dili (PromQL) ifadesini görüntüler. Ayrıca izleme ölçümünün değerlerini zaman serisi eğrisi olarak gösterir.
Varsayılan olarak yalnızca bir kaynağın gerçek zamanlı değeri görüntülenir. Farklı kaynaklar ve zaman aralıkları için değerleri görüntülemek üzere bu alandaki filtre kutusunda bir hedef kaynak ve zaman aralığı seçebilirsiniz.
NotZaman serisi eğrisinde uyarı eşiği kırmızı düz bir çizgi olarak görünür. Eşiği karşılayan eğri kısmı koyu kırmızı, karşılamayan kısım mavi renkte gösterilir.
Belirli bir zamandaki kaynak ayrıntılarını görüntülemek için zaman serisi eğrisinin üzerine gelin.
O dönem için eğriyi görüntülemek üzere zaman serisi eğrisinde bir zaman aralığı seçin.
Yok
Süre
Bir uyarı koşulu karşılandığında uyarı olayı hemen tetiklenir: Herhangi bir veri noktası eşiği karşıladığında uyarı olayı tetiklenir.
Bir uyarı koşulu N dakika boyunca devam ettikten sonra uyarı olayı tetiklenir: Uyarı olayı yalnızca eşik karşılanan süre N dakikadan büyük veya eşit olduğunda tetiklenir.
1
Uyarı Seviyesi
Uyarı seviyesini özelleştirin. Varsayılan uyarı seviyesi Default şeklindedir. Ciddiyet Default, P4, P3, P2 ve P1 şeklinde artar.
Default
Uyarı İçeriği
Kullanıcıların aldığı uyarı bilgileri. Uyarı içeriğindeki uyarı parametre değişkenlerini özelleştirmek için Go şablon sözdizimini kullanabilirsiniz.
Namespace: {{$labels.namespace}} / Pod: {{$labels.pod_name}} / Container: {{$labels.container}} CPU utilization {{$labels.metrics_params_opt_label_value}} {{$labels.metrics_params_value}}%, Current value: {{ printf "%.2f" $value }}%
Uyarı Bildirimi
Simple Mode: Notification Receiver, Notification Period ve Whether to Resend Notifications ayarlarını yapabilirsiniz.
Standard Mode:
Bildirim ilkesi belirtmeyin: Bu seçeneği belirlerseniz uyarı kuralını oluşturduktan sonra Notification Policy sayfasında yeni bir bildirim ilkesi oluşturabilir ve uyarı kuralıyla eşleşmesi için uyarı kuralı adı gibi eşleşme kuralları ve koşulları belirtebilirsiniz. Uyarı kuralı tetiklendiğinde ve bir uyarı olayı oluşturduğunda uyarı bilgileri bildirim ilkesinde belirtilen kişilere veya kişi gruplarına gönderilir. Daha fazla bilgi için Bildirim ilkeleri konusuna bakın.
Bildirim ilkesi belirtin: Bu seçeneği belirlerseniz ARMS ilgili bildirim ilkesine otomatik olarak bir eşleşme kuralı ekler. Eşleşme kuralı içeriği, uyarı kuralı adı olarak sunulan uyarı kuralı kimliğidir. Bu, mevcut uyarı kuralı tarafından oluşturulan uyarı olaylarının seçilen bildirim ilkesi tarafından eşleştirilmesini sağlar.
ÖnemliHızlıca bir bildirim ilkesi belirtmek yalnızca mevcut uyarı kuralından gelen uyarı olaylarının seçilen bildirim ilkesi tarafından eşleştirilmesini ve ilgili uyarıların oluşturulmasını sağlar. Ancak mevcut uyarı kuralından gelen olaylar bulanık eşleşme ile yapılandırılmış diğer bildirim ilkeleri tarafından da eşleştirilebilir ve bu da uyarı oluşturur. Uyarı olayları ile bildirim ilkeleri arasındaki ilişki çoktan çoğa eşlemedir.
Bildirim kuralı belirtmeyin
Advanced Settings
Uyarı Denetim Aralığı
Sistemin verilerin uyarı koşullarını karşılayıp karşılamadığını belirlemek için uyarı kuralını denetlediği aralık. Varsayılan 1 dakikadır ve minimum değer 1 dakikadır.
1
Veriler tamamlandıktan sonra denetle
Evet
Hayır
Evet
Etiketler
Uyarı için etiketler ayarlayın. Etiketler bildirim ilkesi eşleştirme kuralları için seçenek olarak kullanılabilir.
Yok
Ek Açıklamalar
Uyarı için ek açıklamalar ayarlayın.
Yok
Özel PromQL kullanarak Prometheus uyarı kuralı oluşturma
Statik eşik denetim türü tarafından sağlanan sistem öncesi ayarlı ölçümler dışındaki ölçümleri izlemek için özel PromQL denetim türünü kullanarak bir uyarı kuralı oluşturun.
Create Prometheus Alert Rule sayfasında aşağıdaki uyarı parametrelerini yapılandırın ve Save seçeneğine tıklayın.
Parametre | Açıklama | Örnek |
Uyarı Adı | Uyarının adı. | Pod CPU kullanımı %8'den büyük |
Denetim Türü | Custom PromQL query olarak ayarlayın. | Custom PromQL query |
Prometheus Örneği | Uyarıyı oluşturmak istediğiniz Prometheus örneğini seçin. | Yok |
Referans Uyarı Grubu | Bir uyarı grubu seçin. Farklı Prometheus türleri farklı uyarı gruplarını destekler. Kullanılabilir uyarı grubu seçenekleri, seçilen Prometheus örnek türüne göre değişir. | Kubernetes Workload |
Referans Uyarı Ölçümü | İsteğe bağlı. Referans ölçümler yaygın ölçümler için özel PromQL yapılandırmaları sağlar. Alanları önceden doldurmak için benzer bir ölçüm seçin. Ardından yapılandırmayı gerektiği gibi değiştirin. Reference Metric parametresi seçilenPrometheus örnek türüne göre desteklenen uyarı ölçümlerini otomatik olarak filtreler. | Pod disk kullanımı uyarısı |
Özel PromQL İfadesi | Uyarı kuralı ifadesini ayarlamak için bir PromQL ifadesi kullanın. | Namespace: {{$labels.namespace}}/Pod: {{$labels.pod_name}}/Disk device: {{$labels.device}} usage exceeds %90, current value {{ printf "%.2f" $value }}%max(container_fs_usage_bytes{pod!="", namespace!="arms-prom",namespace!="monitoring"}) by (pod_name, namespace, device)/max(container_fs_limit_bytes{pod!=""}) by (pod_name,namespace, device) * 100 > 90 |
Veri Önizleme | Data Preview alanı, uyarı koşuluna karşılık gelen Prometheus Sorgu Dili (PromQL) ifadesini görüntüler. Ayrıca izleme ölçümünün değerlerini zaman serisi eğrisi olarak gösterir. Varsayılan olarak yalnızca bir kaynağın gerçek zamanlı değeri görüntülenir. Farklı kaynaklar ve zaman aralıkları için değerleri görüntülemek üzere bu alandaki filtre kutusunda bir hedef kaynak ve zaman aralığı seçebilirsiniz. Not
| Yok |
Süre |
| 1 |
Uyarı Seviyesi | Uyarı seviyesini özelleştirin. Varsayılan uyarı seviyesi Default şeklindedir. Ciddiyet Default, P4, P3, P2 ve P1 şeklinde artar. | Default |
Uyarı İçeriği | Kullanıcıların aldığı uyarı bilgileri. Uyarı içeriğindeki parametre değişkenlerini özelleştirmek için Go şablon sözdizimini kullanın. Aşağıdaki örnek pod yeniden başlatma uyarısı için bir şablon gösterir. Bu, okunabilir bildirim içeriği yapılandırmanıza yardımcı olur: Namespace: {{$labels.namespace}}/Pod: {{$labels.pod_name}} restarted more than {{ $labels.metrics_params_value}} times in {{$labels.metrics_params_time}} minutes. Current restarts: {{ $value }} | Namespace: {{$labels.namespace}}/Pod: {{$labels.pod_name}}/Disk device: {{$labels.device}} usage exceeds %90, current value {{ printf "%.2f" $value }}% |
Uyarı Bildirimi |
| Bildirim kuralı belirtmeyin |
Gelişmiş Ayarlar | ||
Uyarı Denetim Periyodu | Uyarı kuralını denetlemek için dakika cinsinden aralık. Minimum değer 1 dakikadır. | 1 |
Veriler Tamamlandıktan Sonra Denetle |
| Evet |
Etiketler | Uyarı için etiketler ayarlayın. Etiketler bildirim ilkesi eşleştirme kuralları için seçenek olarak kullanılabilir. | Yok |
Ek Açıklamalar | Uyarı için ek açıklamalar ayarlayın. | Yok |
SSS
ack-arms-prometheus eklenti sürümünü nasıl görüntülerim?
ACK konsolu oturumunu açın. Sol gezinme bölmesinde Clusters seçeneğine tıklayın.
Clusters sayfasında kümenizin adına tıklayın. Sol gezinme bölmesinde Components and Add-ons seçeneğine tıklayın.
-
Add-ons sayfasında Logs and Monitoring sekmesine tıklayın ve ack-arms-prometheus eklentisini bulun.
Mevcut sürüm eklentinin altında görünür. Yeni bir sürüm varsa eklentiyi yükseltmek için sürümün sağındaki Upgrade seçeneğine tıklayın.
NotUpgrade seçeneği yalnızca yüklü eklenti sürümü en son sürüm olmadığında görünür.
ACK Edge cluster: İzleme verileri nasıl elde edilir?
Edge computing'de edge düğümleri nispeten izole edilmiş şirket içi veri merkezlerinde bulunur. Cloud tarafındaki Virtual Private Cloud (VPC) ile edge tarafı farklı ağ düzlemlerindedir. Cloud tarafında dağıtılan Prometheus Agent, ilgili izleme ölçümlerini elde etmek için uç noktalar aracılığıyla edge tarafındaki Node Exporter ve GPU Exporter'a doğrudan erişemez. ack-arms-prometheus 1.1.4 sürümünden itibaren ACK Edge cluster içinde yerleşik olan Cloud-edge O&M iletişim bileşeni Tunnel'a genel bakış ack-arms-prometheus'un cloud ve edge arasında otomatik olarak bir izleme verisi toplama yolu oluşturmasını sağlar.
GPU izlemesi neden dağıtılamıyor?
Bir GPU düğümünde taint'ler varsa GPU izlemesi dağıtılamayabilir. GPU düğümündeki taint'leri görüntülemek için aşağıdaki adımları kullanı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 girişleri bulabilirsiniz. Bu örnekte
keydeğeritest-key,valuedeğeritest-valueveeffectdeğeriNoScheduleolarak ayarlanmış bir taint kullanılı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- -
Pod'ların tainted düğüme zamanlanmasına izin vermek için GPU düğümündeki taint'e tolerans beyan edin.
# 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.
-
Kaynakların manuel olarak silinmesi Managed Service for Prometheus'un yeniden yüklenememesine neden olabilir. ARMS-Prometheus'u tamamen manuel olarak nasıl silerim?
Yalnızca Managed Service for Prometheus ad alanını silmek kaynaklar silindikten sonra kalan yapılandırmayı bırakır ve yeniden yüklemeyi etkiler. Kalan ARMS-Prometheus yapılandırmasını tamamen manuel olarak 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 -
Roles 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
ARMS-Prometheus kaynaklarını manuel olarak sildikten sonra ACK konsolu bölümünde yoluna gidin ve ack-arms-prometheus eklentisini yeniden yükleyin.