Tüm Ürünler
Search
Belge Merkezi

Application Real-Time Monitoring Service:ARMS convergence policies

Son Güncelleme:Oct 05, 2026

Application Real-Time Monitoring Service (ARMS) aracı; istek sayısı, hata sayısı ve yanıt süreleri gibi ölçüm verilerini toplar. Veri çeşitliliğini ve doğruluğunu artırmak için ölçümler IP adresleri, SQL deyimleri ve URL'ler gibi boyutlar içerir.

Bazı boyutlar, yüksek kardinalite olarak bilinen çok sayıda benzersiz değer üretebilir. Örneğin, /api/v1/users/{ID}/info URL şablonuna sahip bir RESTful API, her kullanıcı kimliği için farklı bir URL oluşturur. Yüksek kardinalite depolamayı zorlar, yazma kayıplarına ve yavaş sorgulara neden olur ve maliyetleri artırır.

Bu sorunu çözmek için ARMS, yüksek kardinaliteli boyut değerlerini normalize edilmiş yer tutucularla değiştiren yakınsama ilkelerini uygular.

Not

ARMS aracı V4.x ve sonraki sürümlerde tüm yakınsama işlemleri araç üzerinde çalışır ve bu sayede %100 veri doğruluğu sağlanır. Hem orijinal hem de yakınsanmış değerler izleme verilerinde kaydedilir. Yakınsamadan önceki orijinal değerleri görüntülemek için

Trace Explorer

kullanın.

Hızlı referans: Yakınsama formatları

Aşağıdaki tabloda yer tutucu formatları ve bunların ne zaman kullanıldığı özetlenmiştir.

Format Senaryo
{ARMS_IP}:port Aynı bağlantı noktasına erişen IP adreslerinin sayısı eşiği aşar (varsayılan: 50).
{ARMS_STATIC_REQ} veya {ARMS_S_XXX} URL statik bir kaynağı işaret eder.
{ARMS_ATTACK_REQ} URL siber saldırılarda kullanılabilecek dizeler içerir.
{ARMS_PARAMED_REQ} URL sorgu parametreleri içerir.
{ARMS_OTHERS} Belirli bir zaman diliminde kaydedilen boyut değeri sayısı kardinalite alanı eşğini aşar. Varsayılan eşikler için bkz. Kardinalite alanı yakınsaması.
{ARMS_NUMBER} URL yol segmentleri (/ ile ayrılır) tamamen rakamlardan oluşur ve aşırı uzun veya çok değişkendir.
{ARMS_WORD} URL yol segmentleri (/ ile ayrılır) tamamen kelimelerden oluşur ve aşırı uzun veya çok değişkendir.
{ARMS_ANY} URL yol segmentleri (/ ile ayrılır) harf ve rakam karışımı dizelerdir ve aşırı uzun veya çok değişkendir.
{XXX} URL Spring Controller ek açıklamalarını kullanır.
* içeren dize Bellek istatistiğine dayalı yakınsama (yalnızca V4.x öncesi ARMS aracında).

Yakınsama ilkeleri

Tüm yakınsama ilkeleri varsayılan olarak etkindir. Kardinalite alanı yakınsaması dışındaki her ilke manuel olarak devre dışı bırakılabilir.

Not

Her ilke belirli veri türlerini destekler. Desteklenen veri türü aşağıdaki her ilke bölümünde belirtilmiştir.

Spring ek açıklamasına dayalı yakınsama

Yol değişkenleri içeren RESTful API'lerde ham istek URL'lerinin boyut değeri olarak kullanılması ıraksamaya neden olur. ARMS, Spring yönlendirme ek açıklamalarından (örneğin @RequestMapping) yol bilgilerini okur ve bunun yerine ek açıklamasında tanımlanan yolu boyut değeri olarak kullanır.

Özellik Ayrıntılar
Mantık Spring URL'lerinin yönlendirme ek açıklamalarından yol bilgilerini okur.
Format Yönlendirme ek açıklamalarında yapılandırılan değer.
Desteklenen veri türü URL (yalnızca gelen hizmet URL'leri; giden URL'ler desteklenmez).
Konum ARMS aracı
Desteklenen aracı sürümleri 2.9.1.2 ve sonrası

Örnek

Aşağıdaki APIController bir yol değişkeni kullanarak kullanıcı bilgilerini alan bir RESTful uç noktası tanımlar. @RequestMapping("/api/v1/user/{userId}/info") ek açıklaması URL desenini belirtir.

@RestController
@RequestMapping("/api/v1")
public class APIController {

    @RequestMapping("/user/{userId}/info")
    public String getUserInfo(@PathVariable("userId") String userId) {
        return "hello " + userId;
    }
}

Sonuç: /api/v1/user/1234/info değeri /api/v1/user/{userId}/info olarak yakınsanır.

Bellek istatistiğine dayalı yakınsama

Spring Web çerçevesini kullanmayan uygulamalar veya ek açıklamasına dayalı yakınsamanın başarısız olduğu durumlarda ARMS, bellek istatistiğine dayalı yakınsamaya geri döner.

Not

Bu ilke yalnızca V4.x öncesi ARMS aracı sürümleri için geçerlidir.

Özellik Ayrıntılar
Mantık 1. Her girişi önceden tanımlanmış ayraçlara (örneğin / veya =) göre bölerek bir terim kümesi belirler. 2. Her konumdaki benzersiz değer sayısını (kardinalite) sayar. Kardinalite önceden tanımlanmış bir eşiği aşarsa o konumdaki terim * ile değiştirilir.
Format * içeren dize.
Desteklenen veri türleri Tümü
Konum ARMS aracı
Desteklenen aracı sürümleri 2.x ve 2.x'ten sonraki ancak 4.x'ten önceki sürümler

Örnek

Bir uygulama /api/v1/user/${userId}/info URL şablonunu sağlar. Bellek istatistikleri modülü kullanıcı kimliklerinde ıraksama tespit eder ve URL'yi /api/v1/user/*/info olarak yakınsar.

Özel yakınsama

URL'leri normal ifadelere göre eşleştirmek ve bunları belirtilen bir hedefle değiştirmek için özel yakınsama kuralları tanımlayın.

Özellik Ayrıntılar
Mantık Özel yakınsama kurallarını sırayla eşleştirir. Eşleşen ilk kural uygulanır.
Format Yapılandırmanıza göre belirlenir.
Desteklenen veri türü URL
Konum ARMS aracı V4.x ve sonrası: araç. V4.x öncesi ARMS aracı: sunucu.
Desteklenen aracı sürümleri Tümü

Örnek

Özel kural: /api/v1/user/[\d]+/info ile eşleşen tüm URL'leri /api/v1/getUserInfo olarak yakınsa.

Sonuç: /api/v1/user/[\d]+/info normal ifadesiyle eşleşen tüm URL'ler /api/v1/getUserInfo olarak yakınsanır.

Statik kaynak yakınsaması

ARMS aracının bazı eski sürümleri statik kaynaklar için ölçümleri izler. Statik kaynak URL'leri sık sık değiştiğinden bu ölçümler için yakınsama varsayılan olarak etkindir.

Özellik Ayrıntılar
Mantık URL uzantısının varsayılan statik kaynak uzantıları listesiyle eşleşip eşleşmediğini kontrol eder. Eşleşirse URL yakınsanır.
Format Varsayılan: {ARMS_STATIC_REQ}. Gelişmiş yapılandırmayı etkinleştirmek için destek talebi gönderirseniz format kaynak uzantısını içerir (örneğin {ARMS_S_JPG}).
Desteklenen veri türü URL
Konum ARMS aracı V4.x ve sonrası: araç. V4.x öncesi ARMS aracı: sunucu.
Desteklenen aracı sürümleri Tümü

Varsayılan statik kaynak uzantıları:

.log .7z .tgz .jpg .jpeg .png .gif .css .js .ico .woff2 .xml .svg .pdf .txt .text .ppt .word .xlsx .tar.gz .tar.bz2 .sh .yml .yaml .zip .gz .ttf .woff .eot .rar .properties

Örnek

Varsayılan olarak /api/v1/hello.jpg değeri {ARMS_STATIC_REQ} olarak yakınsanır. Gelişmiş yapılandırma etkinleştirildiğinde ise {ARMS_S_JPG} olarak yakınsanır.

Siber saldırı isteği yakınsaması

Hizmetler siber saldırı istekleri alabilir (örneğin /etc/passwd dosyasını okuma girişimleri). Bu istekler saldırganlar tarafından hazırlanır ve sık sık değişir. Tümünün kaydedilmesi depolama kaynaklarını zorlar.

Özellik Ayrıntılar
Mantık Bir URL'nin siber saldırılarda yaygın olarak kullanılan karakterler içerip içermediğini kontrol eder. İçeriyorsa URL yakınsanır.
Format {ARMS_ATTACK_REQ}
Desteklenen veri türü URL
Konum ARMS aracı V4.x ve sonrası: araç. V4.x öncesi ARMS aracı: sunucu.
Desteklenen aracı sürümleri Tümü

Varsayılan karakterler: ' $ \ ' !

Örnek

/app/v1/user/info?cmd='more /etc/passwd' değeri {ARMS_ATTACK_REQ} olarak yakınsanır.

Sorgu parametresi yakınsaması

Varsayılan olarak ARMS aracı URL'leri toplarken sorgu parametrelerini yakalamaz. Ancak bazı URL'ler ıraksamaya neden olabilecek sorgu parametreleri içerir.

Özellik Ayrıntılar
Mantık Bir URL'nin sorgu parametreleri içerip içermediğini kontrol eder. İçeriyorsa URL yakınsanır.
Format Varsayılan: {ARMS_PARAMED_REQ}. Gelişmiş yapılandırmayı etkinleştirmek için destek talebi gönderirseniz yakınsama sonucu URL yolunu korur ve parametreleri {ARMS_REQ_PARAMS} ile değiştirir.
Desteklenen veri türü URL
Konum ARMS aracı V4.x ve sonrası: araç. V4.x öncesi ARMS aracı: sunucu.
Desteklenen aracı sürümleri Tümü

Varsayılan sorgu parametresi ayraçları: ; ? &

Örnek

Varsayılan olarak /api/v1/user/info?userId=12345 değeri {ARMS_PARAMED_REQ} olarak yakınsanır. Gelişmiş yapılandırma etkinleştirildiğinde ise /api/v1/user/info?{ARMS_REQ_PARAMS} olarak yakınsanır.

Anlamsız sözcük yakınsaması

Aşırı uzun kelimeler veya rakam dizileri içeren URL'lerin ıraksama olasılığı yüksektir. ARMS, belirtilen uzunluk eşiklerini aşan yol segmentlerini değiştirir.

Özellik Ayrıntılar
Mantık Bir URL'yi eğik çizgiye (/) göre bir terim dizisine böler ve her terimi aşağıdaki uzunluk eşiklerine göre kontrol eder: maksimum sözcük uzunluğu (64 karakter), maksimum rakam uzunluğu (10 karakter) ve sözcük içindeki maksimum rakam uzunluğu (10 karakter).
Format Aşırı uzun rakamlar: {ARMS_NUMBER}. Aşırı uzun sözcükler: {ARMS_WORD}. Aşırı uzun karma alfasayısal dizeler: {ARMS_ANY}.
Desteklenen veri türü URL
Konum ARMS aracı V4.x ve sonrası: araç. V4.x öncesi ARMS aracı: sunucu.
Desteklenen aracı sürümleri Tümü

Örnek

/api/2024040710/hello2024040710 değeri /api/{ARMS_NUMBER}/{ARMS_ANY} olarak yakınsanır.

Akıllı yakınsama

Önceki ilkeler uygulandıktan sonra bazı ıraksayan URL'ler kalabilir. ARMS, bu URL'leri işlemek için algoritmalar kullanarak periyodik olarak yakınsama kuralları oluşturur.

Özellik Ayrıntılar
Mantık 1. Örnek URL'leri algoritmalar kullanarak gruplandırır. 2. Her grubun URL desenini belirler ve yakınsama kuralları oluşturur. 3. Gruplar arasındaki yakınsama kurallarını birleştirir.
Format Iraksayan rakam segmentleri: {ARMS_NUMBER}. Iraksayan harf segmentleri: {ARMS_WORD}. Iraksayan karma alfasayısal segmentler: {ARMS_ANY}.
Desteklenen veri türü URL
Konum ARMS aracı V4.x ve sonrası: araç. V4.x öncesi ARMS aracı: sunucu.
Desteklenen aracı sürümleri Tümü

Örnek

/api/product/1/info
/api/product/2/info
....
/api/product/N/info

Sunucu bu URL'leri /api/product/[\d]+/info normal ifadesini kullanarak eşleştirir ve /api/product/{ARMS_NUMBER}/info olarak yakınsar.

SQL normalizasyonu

ARMS aracı; parçalama, ek açıklamaları veya satır içi değişmez değerler nedeniyle çok sayıda SQL deyimi toplayabilir. ARMS, her bir SQL deyimini ıraksayan değerleri değiştirerek normalize eder.

Özellik Ayrıntılar
Mantık 1. Ek açıklamaları kaldırır. 2. Düz metni değiştirir. 3. Parçalanmış veritabanı ve tablo adlarını değiştirir.
Format Iraksayan rakamlar veya harfler değiştirilir.
Desteklenen veri türü SQL
Konum ARMS aracı
Desteklenen aracı sürümleri 4.x ve sonrası

Örnek

select * from cache_0 where ckey='23'

Sonuç:

select * from cache_{NUM} where ckey=?

IP adresi yakınsaması

Uygulamanız IP adresleri üzerinden erişilen birçok harici hizmete bağlıysa ARMS aracı çok sayıda benzersiz IP adresi toplayarak ıraksamaya neden olabilir.

Özellik Ayrıntılar
Mantık 1. IP adreslerini bağlantı noktasına göre gruplandırır. 2. Bir gruptaki IP adresi sayısı eşiği aşarsa (varsayılan: 50) yakınsama uygular.
Format {ARMS_IP}:port
Desteklenen veri türü IP
Konum ARMS aracı V4.x ve sonrası: araç. V4.x öncesi ARMS aracı: sunucu.
Desteklenen aracı sürümleri Tümü

Örnek

1.1.1.1:8080
...
1.1.1.255:8080

Bu IP adresleri {ARMS_IP}:8080 olarak yakınsanır.

Kardinalite alanı yakınsaması

Önceki ilkeler URL'lerdeki yüksek kardinalite sorunlarının çoğunu çözer. Ancak SQL deyimleri ve diğer veri türleri için yine de çok sayıda boyut değeri kaydedilebilir. Bunu önlemek için ARMS, her zaman diliminde kaydedilen boyut değeri sayısını sınırlar.

Not

Bu ilke manuel olarak devre dışı bırakılamaz.

Özellik Ayrıntılar
Mantık 1. Sabit boyutta bir kardinalite alanı periyodik olarak oluşturur. 2. Her boyut değeri için kardinalite alanında olup olmadığını kontrol eder. Varsa değer olduğu gibi döndürülür. Yoksa değer kardinalite alanına eklenir. Alan doluysa {ARMS_OTHERS} döndürülür.
Format {ARMS_OTHERS}
Desteklenen veri türleri Tümü
Konum ARMS aracı V4.x ve sonrası: araç. V4.x öncesi ARMS aracı: sunucu.
Desteklenen aracı sürümleri Tümü

Varsayılan saatlik eşikler

Öğe Saatlik eşik
URL arayüzü 500
Zamanlama görevi 1.000
RPC arayüzü 1.000
Yukarı akış arayüzü 200
Normal SQL çağrısı 100
Yavaş SQL çağrısı 100
Harici istek URL'si 200
Harici istek adresi 100

Örnek

Kardinalite alanı boyutunun saat başına 100 kayıt olarak ayarlandığını varsayalım. Harici hizmet adresleri:

www.a1.com
www.a2.com
....
www.a1000.com

Saat başına yalnızca ilk 100 adres kaydedilir. Sonraki adresler {ARMS_OTHERS} olarak yakınsanır.

Çalıştırma sırası

Yakınsama ilkeleri aşağıda listelenen sırayla ardışık olarak çalışır. Bir boyut değeri bir ilkeyle eşleştiğinde kalan ilkeler atlanır.

V4.x öncesi ARMS aracı

Aracı tarafında:

  • URL: Spring ek açıklamasına dayalı yakınsama > Bellek istatistiğine dayalı yakınsama

  • SQL: Bellek istatistiğine dayalı yakınsama

  • IP ve diğerleri: Bellek istatistiğine dayalı yakınsama

Sunucu tarafında:

  • URL: Özel yakınsama > Siber saldırı isteği yakınsaması > Sorgu parametresi yakınsaması > Statik kaynak yakınsaması > Anlamsız sözcük yakınsaması > Akıllı yakınsama > Kardinalite alanı yakınsaması

  • SQL: Özel yakınsama > Kardinalite alanı yakınsaması

  • IP ve diğerleri: Özel yakınsama > IP adresi yakınsaması > Kardinalite alanı yakınsaması

ARMS aracı V4.x ve sonrası

Aracı tarafında:

  • URL: Spring ek açıklamasına dayalı yakınsama > Özel yakınsama > Siber saldırı isteği yakınsaması > Sorgu parametresi yakınsaması > Statik kaynak yakınsaması > Anlamsız sözcük yakınsaması > Akıllı yakınsama > Kardinalite alanı yakınsaması

  • SQL: Özel yakınsama > SQL normalizasyonu > Kardinalite alanı yakınsaması

  • IP ve diğerleri: Özel yakınsama > IP adresi yakınsaması > Kardinalite alanı yakınsaması

Sunucu tarafında: Yok (tüm yakınsama işlemleri araçta çalışır).

SSS

Yakınsamadan önceki orijinal değerleri nasıl görüntülerim?

  • ARMS aracı V4.x ve sonrası: Hem orijinal hem de yakınsanmış değerler izleme verilerinde kaydedilir. Orijinal değerleri görüntülemek için Trace Explorer kullanın.

  • V4.x öncesi ARMS aracı: Yakınsama sunucuda gerçekleştiğinden orijinal değerler kullanılamaz.

Yakınsama kurallarını nasıl özelleştiririm?

ARMS konsolunda özel yakınsama kuralları tanımlayın. Uygulama ayrıntıları sayfasında üst gezinme çubuğundan Configuration > Convergence seçeneğini belirleyin.

image

Örneğin, eşleşen tüm URL'leri /api/v1/user/userId/info olarak yakınsamak için /api/v1/user/\d+/info normal ifadesini belirtin. /api/v1/user/124343543/info URL'si daha sonra /api/v1/user/userId/info olarak yakınsanır.

Belirli URL'leri yakınsamadan nasıl hariç tutarım?

ARMS konsolunda yakınsamadan hariç tutulacak URL'leri belirtin. Önceki soruda açıklanan aynı Configuration > Convergence sayfasına gidin.

Örneğin, /api/v1/user/9999/info URL'sini yakınsamadan hariç tutarsanız bu URL /api/v1/user/userId/info olarak yakınsanmaz.

Aracı tarafı ve sunucu tarafı yakınsama arasındaki fark nedir?

Aracı tarafı yakınsama, verileri sunucuya raporlamadan önce ARMS aracısında işler. Bu yaklaşım sunucu işleme yükünü azaltır ve %100 veri doğruluğu sağlar.

Sunucu tarafı yakınsama, aracı sürümünün belirli ilkeleri desteklemediği durumlarda uygulanır. Aracı tarafı yakınsama olmadan aracı yakınsanmamış veri paketlerini sunucuya gönderir. Büyük paketler iki risk oluşturur:

  • Veri kaybı: Aşırı büyük paketler reddedilebilir.

  • Azalan doğruluk: Sunucu tarafı işleme sınırlamaları yakınsanmış verilerin doğruluğunu etkileyebilir.

Tüm yakınsama ilkelerini araçta çalıştırmak için en son ARMS aracı sürümüne yükseltin.