Prometheus uyarı kuralı şablonlarını kullanarak farklı bölgelerdeki birden fazla Prometheus örneği için uyarı kurallarını merkezi olarak yönetebilirsiniz. Bu konu, kural tutarlılığını ve verimliliğini sağlamak amacıyla Prometheus uyarı kuralı şablonlarının nasıl oluşturulup yönetileceğini açıklar.
Arka plan bilgileri
Birden fazla bölgeye yayılmış Prometheus örneğiniz varsa her bir Prometheus örneği için uyarı kurallarını tek tek oluşturmak yoğun emek gerektirir ve her Prometheus örneğindeki kuralların senkronize şekilde yönetilmesini zorlaştırır. Bu sorunu çözmek için Managed Service for Prometheus uyarı kuralı şablonu özelliğini sunar. Bu özellik birden fazla Prometheus örneği için uyarı kurallarını hızlıca oluşturmanıza ve bunları tek bir yerden yönetmenize olanak tanıyarak çoklu Prometheus örneklerindeki uyarı kuralı yönetim maliyetini azaltır.
Prometheus uyarı kuralı şablonu oluşturma
ARMS konsolu oturum açın.
Sol gezinme bölmesinde seçeneğine gidin.
Managed Service for Prometheus konsolu oturum açın.
Sol gezinme bölmesinde Alert Rule Template öğesini tıklayın.
Sayfanın sağ üst köşesinde Create Prometheus Alert Rule Template öğesini tıklayın.
-
Create Prometheus Alert Rule sayfasında aşağıdaki parametreleri yapılandırın.
Statik eşik veya özel PromQL kullanarak bir Prometheus uyarı kuralı şablonu oluşturabilirsiniz.
Statik eşik kontrol türü önceden tanımlanmış uyarı ölçümleri sağlar. Önceden tanımlanmış bir ölçümü seçerek uyarı kuralını hızla oluşturabilirsiniz.
Önceden tanımlanmamış ölçümleri izlemek istiyorsanız özel PromQL kontrol türünü kullanarak uyarı kuralı oluşturabilirsiniz.
Tablo 1. Statik eşik kontrol türleri
Parametre
Açıklama
Örnek
Uyarı kuralı şablonu adı
Uyarı kuralı şablonunun adı.
Üretim kümesi - Konteyner CPU kullanımı uyarısı
Uyarı kuralı şablonu açıklaması
İsteğe bağlı. Şablonu açıklayın. Amacını uygulanabilir senaryoları veya diğer notları ekleyebilirsiniz.
Yok
Kontrol türü
Static Threshold seçin.
Static Threshold
Uyarı grubu
Bir uyarı grubu seçin.
Kubernetes Workloads
Uyarı ölçümü
Uyarı yapılandırmak istediğiniz ölçümü seçin. Her uyarı grubunda farklı ölçümler bulunur.
Konteyner CPU kullanımı
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 than80% olduğunda uyarı koşulu sağlanır.Filtre koşulu
Uyarı ölçümüne dayanarak uyarı kuralının kapsamını belirleyin. Hem filtre koşullarını hem de uyarı koşulunu karşılayan herhangi bir kaynak için uyarı olayı tetiklenir.
Kullanılabilir filtre koşulları şunlardır:
-
Traverse: Uyarı kuralı mevcut Prometheus örneğindeki tüm kaynaklar için geçerlidir. Varsayılan olarak filtre koşulu Traversal olarak ayarlanır.
-
Equal To: Bu koşulu seçtikten sonra belirli bir kaynak adı girin. Uyarı kuralı yalnızca bu kaynağa uygulanır. Birden fazla kaynak giremezsiniz.
-
Is not equal: Bu koşulu seçtikten sonra belirli bir kaynak adı girin. Uyarı kuralı bu kaynak hariç tüm kaynaklara uygulanır. Birden fazla kaynak giremezsiniz.
-
Match Regular Expression: Bu koşulu seçtikten sonra kaynak adlarını eşleştirmek için bir düzenli ifade girin. Uyarı kuralı ifadeyle eşleşen tüm kaynaklara uygulanır.
-
Do Not Match Regular Expression: Bu koşulu seçtikten sonra kaynak adlarını eşleştirmek için bir düzenli ifade girin. Uyarı kuralı ifadeyle eşleşen tüm kaynakları filtreler.
Örnek IP: Traverse
Süre
-
Uyarı koşulu sağlandığında hemen bir uyarı olayı tetikle: Herhangi bir veri noktası eşiği karşılıyorsa uyarı olayı tetiklenir.
-
Uyarı koşulu N dakika boyunca sürdüğünde uyarı olayı tetikle: Eşik N dakika veya daha uzun süre karşılanıyorsa uyarı olayı tetiklenir.
1
Uyarı önem düzeyi
Uyarının önem düzeyi. Varsayılan önem düzeyi Default şeklindedir. Önem düzeyleri en düşükten en yükseğe doğru Default P4 P3 P2 ve P1'dir.
Default
Uyarı içeriği
Kullanıcıların aldığı uyarı bilgileri. Uyarı içeriğindeki uyarı parametresi 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 }}%
Gelişmiş Ayarlar
Etiketler
Uyarı etiketlerini ayarlayın. Etiketler bildirim ilkelerindeki eşleştirme kuralları için seçenek olarak kullanılabilir.
Yok
Ek Açıklamalar
Uyarı için ek açıklamaları ayarlayın.
Yok
Tablo 2. Özel PromQL kontrol türleri
Parametre
Açıklama
Örnek
Uyarı kuralı şablonu adı
Uyarı kuralı şablonunun adı.
Pod CPU kullanımı %80'in üzerinde
Uyarı kuralı şablonu açıklaması
İsteğe bağlı. Şablonu açıklayın. Amacını uygulanabilir senaryoları veya diğer notları ekleyebilirsiniz.
Yok
Kontrol türü
Custom PromQL olarak ayarlayın.
Custom PromQL
Özel PromQL ifadesi
Uyarı kuralı ifadesini ayarlamak için bir PromQL ifadesi kullanın.
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
Süre
-
Uyarı koşulu sağlandığında hemen bir uyarı olayı tetikle: Herhangi bir veri noktası eşiği karşılıyorsa uyarı olayı tetiklenir.
-
Uyarı koşulu N dakika boyunca sürdüğünde uyarı olayı tetikle: Eşik N dakika veya daha uzun süre karşılanıyorsa uyarı olayı tetiklenir.
1
Uyarı önem düzeyi
Uyarının önem düzeyi. Varsayılan önem düzeyi Default şeklindedir. Önem düzeyleri en düşükten en yükseğe doğru Default P4 P3 P2 ve P1'dir.
Default
Uyarı içeriği
Kullanıcıların aldığı uyarı bilgileri. Uyarı içeriğindeki uyarı parametresi değişkenlerini özelleştirmek için Go şablon sözdizimini kullanabilirsiniz.
Namespace: {{$labels.namespace}}/Pod: {{$labels.pod_name}}/Disk device: {{$labels.device}} utilization exceeds %90, current value {{ printf "%.2f" $value }}%
Gelişmiş Ayarlar
Etiketler
Uyarı etiketlerini ayarlayın. Etiketler bildirim ilkelerindeki eşleştirme kuralları için seçenek olarak kullanılabilir.
Yok
Ek Açıklamalar
Uyarı için ek açıklamaları ayarlayın.
Yok
Şablon uygulama
Bir Prometheus uyarı şablonu oluşturduktan sonra bunu bir Prometheus örneği için uyarı kuralları oluşturmak üzere uygulayabilirsiniz. Ayrıca şablonu bir Prometheus örneğindeki mevcut uyarı kurallarını güncellemek için de kullanabilirsiniz.
Prometheus Alert Rule Template sayfasında uygulamak istediğiniz şablon için Apply Template öğesini tıklayın.
-
Apply Template sayfasında Prometheus Instance Selection Mode sekmesinde bir Prometheus örneği seçin ve OK öğesini tıklayın.
NotBu uyarı şablonuyla ilişkili Prometheus örneklerini Prometheus örnek adı bölge ve Prometheus örnek türüne göre filtreleyebilirsiniz.
-
Açılan iletişim kutusunda mevcut uyarı kurallarını güncelleyip güncellemeyeceğinizi seçin ve ardından OK öğesini tıklayın.
Update Existing Alert Rules seçmezseniz: Seçilen Prometheus örneğinde zaten geçerli uyarı şablonundan oluşturulmuş uyarı kuralları varsa Alert Rules Have Already Been Created By Using This Template And Will Not Be Updated mesajı görüntülenir. Mevcut uyarı kuralları güncellenmez.
-
Update Existing Alert Rules: Seçilen Prometheus örneğinde zaten geçerli uyarı şablonundan oluşturulmuş uyarı kuralları varsa Prometheus uyarı kuralları uyarı şablonunun en son içeriğiyle eşleşecek şekilde güncellenir.
ÖnemliBir uyarı kuralı tek tek değiştirildiyse ancak şablonla eşlemesi korunduyorsa tek tek yapılan değişikliklerin üzerine yazılır ve kaybolur.
Şablonu silme
Bir Prometheus uyarı şablonuna artık ihtiyaç duyulmuyorsa bu Prometheus uyarı şablonunu silebilirsiniz. Bir şablonu silerken ondan oluşturulan uyarı kurallarının korunup korunmayacağını belirtebilirsiniz.
Prometheus Alert Rule Template sayfasında hedef uyarı kuralı şablonunun sağındaki Delete öğesini tıklayın.
-
Açılan iletişim kutusunda şablondan oluşturulan uyarı kurallarının da silinip silinmeyeceğini seçin ve Confirm öğesini tıklayın.
Delete Alert Rules Created from Template seçin: Şablonla ilişkili Prometheus uyarı kuralları silinir. Şablondan oluşturulan bir Prometheus uyarı kuralı manuel olarak düzenlendiyse ve kaydederken Do Not Retain The Mapping Between The Template And The Rule seçtiyseniz kural silinmez.
Delete Alert Rules Created from Template seçmezseniz şablondan oluşturulan Prometheus uyarı kuralları korunur.
Şablondan oluşturulan uyarı kurallarını görüntüleme
Şablondan oluşturulan uyarı kurallarını toplu iş olarak görüntüleyebilir ve yönetebilirsiniz.
Prometheus Alert Rule Template sayfasında hedef uyarı kuralı şablonunun sağındaki View Rules Created From Template öğesini tıklayın.
-
Alert Rules Created from Template sayfasında uyarı kurallarını toplu iş olarak yönetebilirsiniz.
Uyarıları toplu iş olarak etkinleştirmek için: İstediğiniz uyarı kurallarını seçin ve Enable Alert Rules öğesini tıklayın.
Uyarıları toplu iş olarak devre dışı bırakmak için: İstediğiniz uyarı kurallarını seçin ve Disable Alert Rules öğesini tıklayın.
Uyarıları toplu iş olarak silmek için: İstediğiniz uyarı kurallarını seçin ve Delete Alert Rules öğesini tıklayın.
Notlar
Bir Prometheus uyarı kuralı şablonundan oluşturulan bir Prometheus uyarı kuralını düzenleyip kaydederken şablon ile kural arasındaki eşlemenin korunup korunmayacağını seçmeniz gerekir.
Retain the mapping between this alert rule and the alert rule template: Bu eşlemeyi korursanız ilgili uyarı kuralı şablonunu bu kuralın ait olduğu Prometheus örneğine uygular ve zorla güncelleme seçeneğini seçerseniz mevcut düzenlemelerinizin üzerine yazılabilir.
Remove the mapping between this alert rule and the alert rule template: Eşleme devre dışı bırakıldıktan sonra bu uyarı kuralı bağımsız bir kural olarak değerlendirilir. Uyarı kuralı adını değiştirmenizi öneririz. Aksi takdirde ilgili uyarı kuralı şablonunu Prometheus örneğine tekrar uyguladığınızda yinelenen uyarı kuralı adı nedeniyle oluşturma işlemi başarısız olur.