Bu belgede, Realtime Compute for Apache Flink için temel uyarı ölçümleri, önerilen uyarı yapılandırmaları ve işlemsel örnekler sunulmaktadır. Bu sayede sistem performansını etkin bir şekilde izleyebilir ve sorun teşhisi yapabilirsiniz.
Ön koşullar
Bakın: Configure monitoring and alerting. Çalışma alanınızın izleme hizmeti için uygun yapılandırma yöntemini seçin.
ARMS'de çoklu ölçüm izleme yalnızca use a custom PromQL statement to create an alert rule durumunda desteklenir. Daha basit bir kurulum için CloudMonitor ile uyarıları yapılandırabilirsiniz.
Önerilen uyarı kuralları
|
Senaryo |
Ölçüm/olay adı |
Kural yapılandırması |
Önem derecesi |
Eylemler |
|
Job run status event |
= FAILED (Olay tabanlı uyarı) |
P0 |
1. Yeniden başlatma ilkesinin yanlış yapılandırılıp yapılandırılmadığını kontrol edin. Varsayılan yapılandırmayı kullanmanızı öneririz. 2. Hatanın yeniden başlatma ilkesinden mi yoksa bir JobManager/TaskManager istisnasından mı kaynaklandığını belirleyin. 3. İşi en son savepoint'ten veya başarılı checkpoint'ten geri yükleyin. |
|
|
Overview / NumOfRestart |
Ardışık 1 dönem boyunca ≥ 1 |
P0 |
1. Kök nedeni belirleyin.
2. İşi en son savepoint'ten veya başarılı checkpoint'ten geri yükleyin. |
|
|
NumOfCheckpoints (5 dakikalık toplam) |
Ardışık 1 dönem boyunca ≤ 0 |
P0 |
1. Checkpoint hatalarının kök nedenini gidermek için bakın: System checkpoints. 2. Sorunu tespit edip çözün.
3. Yapılandırmayı dinamik olarak güncelleyin veya işi en son başarılı checkpoint'ten geri yükleyin. |
|
|
Overview / CurrentEmitEventTimeLag && NumOfRecordsInFromSourcePerSecond |
Maksimum gecikme süresi ≥ 180.000 ms Giriş kayıtları > 0 ardışık 3 dönem boyunca |
P1 |
1. Gecikme süresinin nedenini belirlemek için bakın: Monitor metrics.
Adım 2: Belirli nedene göre ayarlama yapın.
|
|
|
Overview / NumOfRecordsInFromSourcePerSecond && SourceIdleTime |
Giriş kayıtları ≤ 0 (iş mantığınıza bağlı olarak) Maksimum boşta kalma süresi ≥ 60.000 ms ardışık 5 dönem boyunca |
P1 |
1. taskmanager.log dosyasını, flame graph'leri ve yukarı akış hizmet ölçümlerini kontrol ederek sorunun yukarı akışta veri olmaması, hız sınırlaması veya bir istisna mı yoksa tıkanmış bir iş parçacığı yığını mı olduğunu doğrulayın. Adım 2: Belirli nedene göre ayarlama yapın.
|
|
|
Overview / NumOfRecordsOutToSinkPerSecond |
Ardışık 5 dönem boyunca ≤ 0 |
P1 |
1. Verilerin sink operatörüne ulaşıp ulaşmadığını doğrulayın.
2. Sink'in harici sisteme yazıp yazamadığını doğrulayın.
3. Geçici bir geri dönüş yöntemi olarak verileri yedek bir depolama sistemine çift yazma (dual-write) uygulayın. |
|
|
CPU / TMCPUUsage |
Ardışık 10 dönem boyunca ≥ %85 |
P2 |
1. Hotspot operatörü belirlemek için flame graph veya Flink UI kullanın.
2. Darboğaz oluşturan operatörün paralelliğini artırın veya TaskManager'a daha fazla CPU çekirdeği tahsis edin. |
|
|
TMHeapMemoryUsed |
Ardışık 10 dönem boyunca ≥ %90 |
P2 |
1. Sorunu belirlemek için GC günlüklerini analiz edin.
2. Slot başına veri hacmini azaltmak için yığın boyutunu veya paralelliği artırın. |
İş kullanılabilirliği
İş hata uyarıları
Console (ARMS)
Realtime Compute for Apache Flink konsolunda oturum açın ve hedef çalışma alanınızın Actions sütunundaki Console öğesini tıklayın.
Sol gezinme bölmesinde seçeneklerini seçin. Hedef işinizin adına tıklayın.
Alarm sekmesini tıklayın.
Add Alert Rule seçeneğine tıklayın. Create Rule panelinde uyarıyı yapılandırın. Rule bölümünde bir ad ve açıklama girin, Metric olarak Job Failed seçeneğini belirleyin ve Effective Period ile Mute For aralıklarını ayarlayın. Notification Method bölümünde tercih ettiğiniz yöntemleri ve bir contact group seçin. Kişileri yönetmek için Manage Contact bağlantısına tıklayın.
CloudMonitor
Cloud Monitor konsoluna giriş yapın.
Sol gezinme bölmesinde seçeneklerini seçin.
Subscription Policies sekmesinde Create Subscription Policy seçeneğine tıklayın.
Create Subscription Policy sayfasında parametreleri yapılandırın. Daha fazla bilgi için bakın: Manage event subscriptions (Recommended).
Subscribe to Events adımında Type değerini System Event olarak ayarlayın. Scope bölümünde Product için Realtime Compute for Apache Flink ve Event Name için Job Failed seçeneklerini belirleyin. Level ve application group değerlerini All olarak bırakabilirsiniz.
İş kararlılığı
Sık JobManager yeniden başlatmaları
Ölçüm:
NumOfRestartKural: İş bir dakika içinde yeniden başlatılırsa uyarı ver.
-
Önerilen yapılandırma:
-
NumOfRestartDeğer ≥ 1
Dönem: 1 dakika
Bildirim: Telefon + SMS + E-posta + Webhook (Kritik)
-
Checkpoint başarı oranı
Ölçüm:
NumOfCheckpointsKural: 5 dakika içinde başarılı checkpoint oluşmazsa uyarı ver.
-
Önerilen yapılandırma:
NumOfCheckpointsDeğer ≤ 0
Dönem: 5 dakika
Bildirim: Telefon + SMS + E-posta + Webhook (Kritik)
Veri güncelliği
Gecikme süresi SLA'sı
-
Ölçümler:
CurrentEmitEventTimeLagNumOfRecordsInFromSourcePerSecond
Kural: Veri alınıyorsa ve iş gecikme süresi 5 dakikayı aşıyorsa uyarı ver. Eşik değerini ve uyarı düzeyini iş gereksinimlerinize göre ayarlayabilirsiniz.
-
Önerilen yapılandırma:
-
CurrentEmitEventTimeLagMaksimum değer ≥ 300.000
-
NumOfRecordsInFromSourcePerSecondDeğer > 0
Dönem: 5 dakika
-
Yukarı akış veri akışı kesintileri
-
Ölçümler:
NumOfRecordsInFromSourcePerSecondSourceIdleTime
Kural: Veri girişi durursa ve kaynak 1 dakikadan fazla boşta kalırsa uyarı ver. Eşik değerini ve uyarı düzeyini iş gereksinimlerinize göre ayarlayabilirsiniz.
-
Önerilen yapılandırma:
-
NumOfRecordsInFromSourcePerSecondDeğer ≤ 0
-
SourceIdleTimeMaksimum değer > 60.000
Dönem: 5 dakika
-
Veri çıkışı yok
Ölçüm:
NumOfRecordsOutToSinkPerSecondKural: 5 dakikadan uzun süre veri gönderilmezse uyarı ver. Eşik değerini ve uyarı düzeyini iş gereksinimlerinize göre ayarlayabilirsiniz.
-
Önerilen yapılandırma:
-
NumOfRecordsOutToSinkPerSecondDeğer ≤ 0
Dönem: 5 dakika
-
Kaynak performans darboğazları
CPU performans darboğazı
Ölçüm:
TMCPUUsageKural: CPU kullanımı 10 dakikadan uzun süre %85'i aşarsa uyarı ver.
-
Önerilen yapılandırma:
-
TMCPUUsageMaksimum değer ≥ 85
Dönem: 10 dakika
-
Bellek performans darboğazı
Ölçüm:
TMHeapMemoryUsedKural: Yığın bellek kullanımı 10 dakikadan uzun süre %90'ı aşarsa uyarı ver.
-
Önerilen yapılandırma:
-
TMHeapMemoryUsedMaksimum değer ≥ Eşik değeri (%90)
Bu eşik değerini sayfasında bulabilirsiniz. Örneğin, toplam bellek 413 MB ise eşik değerini 372 MB (413 MB'nin %90'ı) olarak ayarlayabilirsiniz.
Dönem: 10 dakika
-