MessageLogging politikası

Apigee Edge belgelerini görüntülüyorsunuz.
Apigee X belgelerine gidin.
info

Ne?

API çalışma ortamı sorunlarını izlemenin en iyi yollarından biri, iletileri günlüğe kaydetmektir. Özel mesajları yerel bir diske (yalnızca Private Cloud için Edge) veya syslog'a kaydetmek için API'nize bir MessageLogging politikası ekleyip yapılandırabilirsiniz.

Örnekler

Syslog

<MessageLogging name="LogToSyslog">
  <Syslog>
    <Message>[3f509b58 tag="{organization.name}.{apiproxy.name}.{environment.name}"] Weather request for WOEID {request.queryparam.w}.</Message>
    <Host>logs-01.loggly.com</Host>
    <Port>514</Port>
    <Protocol>TCP</Protocol>
    <FormatMessage>true</FormatMessage>
    <DateFormat>yyyy-MM-dd'T'HH:mm:ss.SSSZ</DateFormat>
  </Syslog>
  <logLevel>ALERT</logLevel>
</MessageLogging>

MessageLogging politika türünün yaygın bir kullanımı, bir syslog hesabına günlük kaydetmektir. API proxy'si, syslog için yapılandırıldığında Apigee Edge'deki günlük mesajlarını uzak bir syslog sunucusuna yönlendirir. Kullanabileceğiniz bir syslog sunucunuz olmalıdır. Aksi takdirde Splunk, Sumo Logic ve Loggly gibi herkese açık günlük yönetimi hizmetlerini kullanabilirsiniz. Üçüncü taraf günlük yönetimi hizmetlerini yapılandırma başlıklı makaleyi inceleyin.

Örneğin, API'nizin tüketici uygulamalarından aldığı her istek mesajıyla ilgili bilgileri kaydetmeniz gerektiğini varsayalım. 3f509b58 değeri, loggly hizmetine özgü bir anahtar değerini temsil eder. Loggly hesabınız varsa Loggly anahtarınızı kullanın. Oluşturulan günlük mesajı, dört değerle doldurulur: işlemle ilişkili kuruluş, API proxy'si ve ortam adı ile istek mesajındaki sorgu parametresinin değeri.

Private Cloud için Edge dağıtımınız varsa günlük mesajlarını bir dosyaya da yazabilirsiniz.

TLS/SSL üzerinden Syslog

<MessageLogging name="LogToSyslog">
  <Syslog>
    <Message>[3f509b58 tag="{organization.name}.{apiproxy.name}.{environment.name}"] Weather request for WOEID {request.queryparam.w}.</Message>
    <Host>logs-01.loggly.com</Host>
    <Port>6514</Port>
    <Protocol>TCP</Protocol>
    <FormatMessage>true</FormatMessage>
    <SSLInfo>
        <Enabled>true</Enabled>
    </SSLInfo>
    <DateFormat>yyMMdd-HH:mm:ss.SSS</DateFormat>
  </Syslog>
  <logLevel>WARN</logLevel>
</MessageLogging>

<SSLInfo> bloğunu ekleyerek üçüncü taraf mesaj günlük kaydı sağlayıcılarına TLS/SSL üzerinden mesaj gönderebilirsiniz.

Dosya döndürme: boyut

<MessageLogging name="LogPolicy">
  <File>
    <Message>This is a test message. Message id : {request.header.messageid}</Message>
      <FileName>test.log</FileName>
      <FileRotationOptions rotateFileOnStartup="true">
        <FileRotationType>SIZE</FileRotationType>
        <MaxFileSizeInMB>10</MaxFileSizeInMB>
        <MaxFilesToRetain>10</MaxFilesToRetain>
      </FileRotationOptions>
  </File>
  <logLevel>ERROR</logLevel>
</MessageLogging>

Dosya boyutuna göre dosya rotasyonu.

Dosya rotasyonu: zaman

<MessageLogging name="LogPolicy">
  <File>
    <Message>This is a test message. Message id : {request.header.messageid}</Message>
    <FileName>test.log</FileName>
    <FileRotationOptions rotateFileOnStartup="true">
      <FileRotationType>TIME</FileRotationType>
      <RotationFrequency unit="minute">10</RotationFrequency>
      <MaxFilesToRetain>10</MaxFilesToRetain>
    </FileRotationOptions>
  </File>
  <logLevel>ERROR</logLevel>
</MessageLogging>

Zamana göre dosya rotasyonu.

Dosya rotasyonu: zaman ve boyut

<MessageLogging name="LogPolicy">
  <File>
    <Message>This is a test message. Message id : {request.header.messageid}</Message>
    <FileName>test.log</FileName>
    <FileRotationOptions rotateFileOnStartup="true">
      <FileRotationType>TIME_SIZE</FileRotationType>
      <MaxFileSizeInMB>10</MaxFileSizeInMB>
      <MaxFilesToRetain>10</MaxFilesToRetain>
      <RotationFrequency unit="minute">10</RotationFrequency>
    </FileRotationOptions>
  </File>
  <logLevel>ERROR</logLevel>
</MessageLogging>

Zamana ve boyuta göre dosya rotasyonu.

Akış etkin

<MessageLogging name="LogPolicy">
  <File>
  ....
  ....
  </File>
  <BufferMessage>true</BufferMessage>
</MessageLogging>

Aktarmaya uygun mesaj günlüğü


Öğe referansı

MessageLogging politika türünü yapılandırmak için aşağıdaki öğeleri kullanın.

Alan adı Alan Açıklaması

File

Yerel dosya hedefi. (Dosya günlük kaydı yalnızca Private Cloud dağıtımları için Edge'de desteklenir.) Dosyaların depolandığı yer hakkında bilgi edinmek için Private Cloud için Edge'de günlük dosyasının konumu başlıklı makaleyi inceleyin.

Message İstediğiniz bilgileri yakalamak için metni değişkenlerle birleştirerek günlük dosyasına gönderilecek mesajı oluşturun. Örnekler'e bakın.
FileName Günlük dosyasının temel adı. Dosya yolu belirtin. Örneğin, bu FileName öğesi bir dosya yolu belirtir ve geçersizdir:
<FileName>/opt/apigee/var/log/messages/mylog.log</FileName>

Aşağıdaki kod yalnızca bir dosya adını belirtir ve geçerlidir:

<FileName>mylog.log</FileName>

Dosyanın depolandığı yer hakkında bilgi edinmek için Private Cloud için Edge'de günlük dosyasının konumu başlıklı makaleyi inceleyin.

FileRotationOptions
rotateFileOnStartup

Özellik. Geçerli değerler: true/false

Doğru değerine ayarlanırsa günlük dosyası, mesajlaşma motoru her yeniden başlatıldığında döndürülür.

FileRotationType Bir günlük dosyasının rotasyon politikasını (size veya time) belirtir.
MaxFileSizeInMB (Dönüşüm türü olarak size seçildiğinde) Günlük mesajlarını ayrı bir dosyaya taşıması için sunucuyu tetikleyen günlük dosyasının boyutunu belirtir. Günlük dosyası belirtilen boyuta ulaştıktan sonra sunucu, mevcut günlük dosyasını yeniden adlandırır.
RotationFrequency (Rotasyon türü olarak time seçildiğinde) Günlük mesajlarını ayrı bir dosyaya taşımak için sunucuyu tetikleyen süreyi (dakika cinsinden) belirtir. Belirtilen aralık dolduktan sonra mevcut günlük dosyası yeniden adlandırılır.
MaxFilesToRetain

Döndürme ayarlarınız bağlamında saklanacak maksimum dosya sayısını belirtir. Varsayılan değer 8'dir.

Sıfır (0) değerini belirtirseniz günlük dosyaları süresiz olarak saklanır ancak dosya rotasyonu ayarlarınıza tabi olur. Dosyaların hiçbiri silinmez veya yeniden adlandırılmaz. Bu nedenle, gelecekte disk dolu hataları olmasını önlemek için bu değeri sıfırdan büyük bir değere ayarlayın veya eski tutulan günlük dosyalarını düzenli olarak temizleyen veya arşivleyen otomatik bir sistem uygulayın.

BufferMessage

Proxy'niz için HTTP akış özelliği etkinse istek/yanıt mesajları arabelleğe alınmaz. Akış mesajının ayrıştırılmasını gerektiren içeriği günlüğe kaydetmek istiyorsanız BufferMessage parametresini true olarak ayarlayın. Örnek için "Akış etkin" örnek sekmesine bakın. Varsayılan: false

Syslog

Syslog hedefi. Splunk, Sumo Logic veya Loggly'ye syslog göndermek için Üçüncü taraf günlük yönetimi hizmetlerini yapılandırma başlıklı makaleyi inceleyin.

Message

İstediğiniz bilgileri yakalamak için metni değişkenlerle birleştirerek syslog'a gönderilecek mesajı oluşturun. Örnekler'e bakın.

Not: Yanıt değişkenleri, bir Hata Akışından sonra PostClientFlow'da kullanılamaz. Hem hata hem de başarı durumları için yanıt bilgilerini günlüğe kaydetmek üzere mesaj değişkenlerini kullanın. Kullanım notları başlıklı makaleyi de inceleyin.

Host Syslog'un gönderilmesi gereken sunucunun ana makine adı veya IP adresi. Bu öğeyi eklemezseniz varsayılan değer localhost olur.
Port Syslog'un çalıştığı bağlantı noktası. Bu öğeyi eklemezseniz varsayılan değer 514'tür.
Protocol TCP veya UDP (varsayılan). UDP daha yüksek performanslı olsa da TCP protokolü, ileti günlüğünün syslog sunucusuna teslim edilmesini garanti eder. syslog mesajlarını TLS/SSL üzerinden göndermek için yalnızca TCP desteklenir.
FormatMessage

true veya false (varsayılan)

İsteğe bağlıdır ancak Loggly ile kullanmak için <FormatMessage>true</FormatMessage> gereklidir.

Bu öğe, mesajın başına eklenen Apigee tarafından oluşturulan içeriğin biçimini kontrol etmenize olanak tanır. Doğru (true) değerine ayarlanırsa syslog mesajına sabit sayıda karakter eklenir. Bu, söz konusu bilgileri iletilerden filtrelemenize olanak tanır. Sabit biçim için bir örnek aşağıda verilmiştir:

<14>1 2023-03-20T09:24:39.039+0000 e49cd3a9-4cf6-48a7-abb9-7ftfe4d97d00 Apigee-Edge - - - Message starts here

Apigee tarafından oluşturulan bilgiler şunları içerir:

  • <14>: Mesajın günlük düzeyine ve tesis düzeyine göre belirlenen bir öncelik puanı (Syslog Protokolü'ne bakın).
  • 1: Mevcut syslog sürümü.
  • UTC farkı içeren tarih (UTC = +0000).
  • Mesaj işleyici UUID'si.
  • "Apigee-Edge - - - "

Yanlış (varsayılan) olarak ayarlanırsa iletiye bu sabit karakterler eklenmez.

PayloadOnly

true veya false (varsayılan)

Bu öğe, Apigee tarafından oluşturulan mesajların biçimini FormatMessage tarafından belirtilen önceden eklenmiş karakterler olmadan yalnızca syslog mesajının gövdesini içerecek şekilde ayarlar.

Bu öğeyi eklemezseniz veya boş bırakırsanız varsayılan değer false olur.

FormatMessage işlevine bakın.

DateFormat

İsteğe bağlı.

Her günlük mesajının zaman damgasını biçimlendirmek için kullanılacak bir biçimlendirme şablonu dizesi. Apigee varsayılan olarak yyyy-MM-dd'T'HH:mm:ss.SSSZ kullanır. Bu şablonun davranışı, Java'nın SimpleDateFormat sınıfı ile ilgili belgelerde açıklanmaktadır.

SSLInfo

SSL/TLS üzerinden iletileri günlüğe kaydetmenize olanak tanır. <Enabled>true</Enabled> alt öğesiyle birlikte kullanın.

Bu öğeyi eklemezseniz veya boş bırakırsanız varsayılan değer false (TLS/SSL yok) olur.

<SSLInfo>
    <Enabled>true</Enabled>
</SSLInfo>

<SSLInfo> etiketini, API proxy yapılandırma referansında açıklandığı şekilde iki yönlü TLS/SSL'yi etkinleştirmek de dahil olmak üzere bir TargetEndpoint'te yapabileceğiniz şekilde yapılandırabilirsiniz. Yalnızca TCP protokolü desteklenir.

logLevel

İsteğe bağlı.

Geçerli değerler: INFO (varsayılan), ALERT, WARN, ERROR

Mesaj günlüğüne dahil edilecek belirli bir bilgi düzeyi ayarlayın.

FormatMessage öğesini kullanıyorsanız (doğru olarak ayarlayarak) logLevel ayarınız, mesajın başına eklenen Apigee tarafından oluşturulan bilgilerdeki hesaplanmış öncelik puanını (köşeli parantez içindeki sayı) etkiler.

Şemalar


Kullanım notları

Bir API proxy akışına MessageLogging politikası eklerken bunu ProxyEndpoint yanıtına, PostClientFlow adlı özel bir akışa yerleştirebilirsiniz. PostClientFlow, istek gönderen istemciye yanıt gönderildikten sonra yürütülür. Bu, tüm metriklerin günlük kaydı için kullanılabilir olmasını sağlar. PostClientFlow'u kullanmayla ilgili ayrıntılar için API proxy'si yapılandırma referansı başlıklı makaleyi inceleyin.

PostClientFlow iki açıdan özeldir:

  1. Yalnızca yanıt akışı kapsamında yürütülür.
  2. Proxy hata durumuna girdikten sonra yürütülen tek akıştır.

Proxy'nin başarılı olup olmadığından bağımsız olarak yürütüldüğü için PostClientFlow'a MessageLogging politikaları ekleyebilir ve her zaman yürütüleceklerini garanti edebilirsiniz.

Aşağıdaki izleme resminde, DefaultFaultRule çalıştıktan sonra PostClientFlow kapsamında yürütülen bir MessageLogging politikası gösterilmektedir:

Bu örnekte, geçersiz bir anahtar nedeniyle API Anahtarı Doğrulama Politikası hataya neden olmuştur.

PostClientFlow'u içeren ProxyEndpoint tanımı aşağıda gösterilmiştir:

<ProxyEndpoint name="default">
  ...
  <PostClientFlow>
    <Response>
      <Step>
        <Name>Message-Logging-1</Name>
      </Step>
    </Response>
  </PostClientFlow>
  ...
</ProxyEndpoint>

Edge, mesajları basit metin olarak günlüğe kaydeder. Günlüğe kaydetme işlemini, istek veya yanıtın alındığı tarih ve saat, istekteki kullanıcı kimliği, istemin gönderildiği kaynak IP adresi gibi değişkenleri içerecek şekilde yapılandırabilirsiniz. Edge, mesajları asenkron olarak kaydeder. Bu sayede, açıklama metinlerinin engellenmesinden kaynaklanabilecek gecikme API'nize eklenmez.

MessageLogging politikası, günlüklenen iletileri bellekte bir arabelleğe yazar. İleti günlüğü, arabellekten iletileri okur ve ardından yapılandırdığınız hedefe yazar. Her hedefin kendi arabelleği vardır.

Arabelleğe yazma hızı, okuma hızının üzerine çıkarsa arabellek taşar ve günlük kaydı başarısız olur. Bu durumda, günlük dosyasında aşağıdakileri içeren bir mesaj görebilirsiniz:

Log message size exceeded. Increase the max message size setting

Bu sorunla Private Cloud için Edge 4.15.07 ve önceki sürümlerde karşılaşırsanız message-logging.properties dosyasını bulun ve aşağıdaki çözümü uygulayın:

message-logging.properties dosyasında max.log.message.size.in.kb özelliğini (varsayılan değer = 128 KB) artırın.

Private Cloud için Edge 4.16.01 ve sonraki sürümlerde /opt/apigee/customer/application/message-processor.properties dosyasında conf/message-logging.properties+max. log.message.size.in.kb mülkünü ayarlayın ve Mesaj İşlemcisi'ni yeniden başlatın. Bu özelliğin varsayılan olarak ilk başta yoruma alındığını lütfen unutmayın.

Not: Edge'deki yanıt mesajı değişkenleri Hata Akışları'nda kullanılamaz. Önceki akış Hata Akışı ise bu değişkenler PostClientFlow'da da kullanılamaz. PostClientFlow'dan gelen yanıt bilgilerini günlüğe kaydetmek istiyorsanız message nesnesini kullanın. Hata olup olmadığına bakılmaksızın yanıttaki üstbilgileri ve diğer bilgileri almak için bu nesneyi kullanabilirsiniz. Daha fazla bilgi ve örnek için Mesaj değişkenleri bölümüne bakın.

Edge for Private Cloud'da günlük mesajı zaman damgasını kontrol etme

Varsayılan olarak, tüm günlük mesajlarındaki zaman damgası şu biçimdedir:

yyyy-MM-dd'T'HH:mm:ss.SSSZ

Sistem genelindeki bu varsayılan ayar, DateFormat öğesi kullanılarak syslog hedefleri için geçersiz kılınabilir. Bu şablonun davranışı, Java'nın SimpleDateFormat sınıfıyla ilgili belgelerde açıklanmaktadır. Bu tanıma göre yyyy, 4 haneli bir yıl sayısıyla, MM ise 2 haneli bir ay sayısıyla değiştirilir. Yukarıdaki biçim, şu biçimde bir dizeyle sonuçlanabilir:

2022-09-28T22:38:11.721+0000

Bu biçimi kontrol etmek için Edge Mesaj İşleyicide conf_system_apigee.syslogger.dateFormat mülkünü kullanabilirsiniz. Örneğin, mesaj biçimini şu şekilde değiştirebilirsiniz:

yy/MM/dd'T'HH:mm:ss.SSSZ

..kısa çizgileri eğik çizgiyle değiştirip 2 haneli bir yıla kısaltarak şu biçimde bir zaman damgası kaydeder:

22/09/28T22:38:11.721+0000

Biçimi değiştirmek için:

  1. message-processor.properties dosyasını bir düzenleyicide açın. Dosya mevcut değilse dosyayı oluşturun:
    > vi /opt/apigee/customer/application/message-processor.properties
  2. Özellikleri istediğiniz gibi ayarlayın:
    conf_system_apigee.syslogger.dateFormat=yy/MM/dd'T'HH:mm:ss.SSSZ
  3. Değişikliklerinizi kaydedin.
  4. Özellikler dosyasının "apigee" kullanıcısına ait olduğundan emin olun:
    > chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
  5. Edge Mesaj İşlemcisini yeniden başlatın:
    > /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart

Private Cloud için Edge'de günlük dosyası konumu

Edge for Private Cloud 4.16.01 ve sonraki sürümler

Varsayılan olarak Private Cloud mesaj günlükleri, Mesaj İşleyici düğümlerinde aşağıdaki dizinde bulunur:

/opt/apigee/var/log/edge-message-processor/messagelogging/org_name/environment/api_proxy_name/revision/logging_policy_name/

Mesaj işleyicilerdeki message-logging.properties dosyasında özellikleri değiştirerek varsayılan günlük konumunu değiştirebilirsiniz:

  • bin_setenv_data_dir: Günlük dosyası depolama alanının kök yolunu belirler. Örneğin, bin_setenv_data_dir=/opt/apigee/var/log
  • conf_message-logging_log.root.dir: Bu parametreyi conf/message-logging.properties+log.root.dir=custom/folder/, the path is appended to the bin_setenv_data_dir location. gibi göreli bir yola ayarlarsanız

    Bu parametreyi conf/message-logging.properties+log.root.dir=/opt/apigee/var/log/messages gibi mutlak bir yola ayarlarsanız ileti günlükleri /opt/apigee/var/log/messages/messagelog/'de depolanır. Mutlak yol, bin_setenv_data_dir değerine göre önceliklidir.

    Varsayılan olarak yoruma alındığı için mülke conf/message-logging.properties+log.root.dir olarak referans vermeniz gerektiğini unutmayın. Daha fazla bilgi için Şu anda yorumlanmış bir jeton ayarlama başlıklı makaleyi inceleyin.

Günlük dosyalarını düz dosya yapısında depolamak istiyorsanız (tüm günlük dosyalarının aynı dizinde yer alması için) message-logging.properties dosyasında conf/message-logging.properties+enable.flat.directory.structure değerini true olarak ayarlayın. İletiler, yukarıdaki özelliklerle belirtilen dizinde saklanır ve dosya adları {org}_{environment}_{api_proxy_name}_{revision}_{logging_policy_name}_{filename} biçimindedir.

Bu özellikleri ayarlamak için:

  1. message-processor.properties dosyasını bir düzenleyicide açın. Dosya mevcut değilse dosyayı oluşturun:
    > vi /opt/apigee/customer/application/message-processor.properties
  2. Özellikleri istediğiniz gibi ayarlayın:
    conf/message-logging.properties+log.root.dir=/opt/apigee/var/log/messages
  3. Değişikliklerinizi kaydedin.
  4. Özellikler dosyasının "apigee" kullanıcısına ait olduğundan emin olun:
    > chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
  5. Edge bileşenini yeniden başlatın:
    > /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart

Edge for Private Cloud 4.15.07 ve önceki sürümler

Mesaj günlükleri varsayılan olarak mesaj işleyicilerde aşağıdaki konumda bulunur:

/opt/apigee4/var/log/apigee/message-processor/messagelog/{org}/{environment}/{api_proxy_name}/{revision}/{logging_policy_name}/

Mesaj işleyicilerdeki message-logging.properties dosyasında aşağıdaki özellikleri değiştirerek varsayılan günlük konumunu değiştirebilirsiniz:

  • data.dir: Günlük dosyasının depolandığı kök yolunu belirler. Örneğin, data.dir=/opt/apigee4/var/log
  • log.root.dir: Bu parametreyi log.root.dir=custom/folder/ gibi göreli bir yola ayarlarsanız yol, data.dir konumuna eklenir.

Örneğin, iki özelliğin birleşimi günlük kaydı dizinini /opt/apigee4/var/log/custom/folder/messagelog/ olarak ayarlar (/messagelog'un otomatik olarak eklendiğini unutmayın).

Bu değeri log.root.dir=/opt/apigee4/var/log/messages gibi mutlak bir yola ayarlarsanız mesaj günlükleri /opt/apigee4/var/log/messages/messagelog/ adresinde saklanır. log.root.dir içindeki mutlak bir yol, data.dir'e göre önceliklidir.

Günlük dosyalarını düz dosya yapısında depolamak istiyorsanız (tüm günlük dosyalarının aynı dizinde olması için) Mesaj İşleyicilerdeki message-logging.properties dosyasında enable.flat.directory.structure property değerini true olarak ayarlayın. Mesajlar, yukarıdaki özellikler tarafından belirtilen dizinde saklanır ve dosya adları {org}_{environment}_{api_proxy_name}_{revision}_{logging_policy_name}_{filename} biçimindedir.

Mesaj şablonundaki değişkenler için varsayılan değerler

Mesaj şablonundaki her değişken için ayrı ayrı varsayılan değerler belirtilebilir. Örneğin, request.header.id değişkeni çözülemezse değeri unknown değeriyle değiştirilir.

<Message>This is a test message. id = {request.header.id:unknown}</Message>

Çözümlenmemiş tüm değişkenler için Message öğesinde defaultVariableValue özelliği ayarlanarak ortak bir varsayılan değer belirtilebilir:

<Message defaultVariableValue="unknown">This is a test message. id = {request.header.id}</Message>

Üçüncü taraf günlük yönetimi hizmetlerini yapılandırma

Mesaj Günlüğe Kaydetme politikası, Splunk, Sumo Logic ve Loggly gibi üçüncü taraf günlük yönetimi hizmetlerine syslog mesajları göndermenize olanak tanır. Bu hizmetlerden birine syslog göndermek istiyorsanız hizmetin ana makinesini, bağlantı noktasını ve protokolünü yapılandırmak için ilgili hizmetin dokümanlarına bakın, ardından bu politikadaki Syslog öğesini uygun şekilde ayarlayın.

Üçüncü taraf günlük yönetimi yapılandırması için aşağıdaki dokümanlara bakın:

Hata referansı

Bu bölümde, bu politika bir hatayı tetiklediğinde döndürülen hata kodları ve hata mesajlarının yanı sıra Edge tarafından ayarlanan hata değişkenleri açıklanmaktadır. Hata kuralları geliştirirken bu bilgilerin farkında olmanız önemlidir. hoşuma gitmesi için bir fırsattır. Daha fazla bilgi için Bilmeniz gerekenler Politika hataları ve Kullanım sorun.

Çalışma zamanı hataları

Bu hatalar, politika yürütüldüğünde ortaya çıkabilir.

Hata kodu HTTP durumu Neden
steps.messagelogging.StepDefinitionExecutionFailed 500 Hata dizesini inceleyin.

Dağıtım hataları

Bu politikayı içeren bir proxy dağıttığınızda bu hatalar oluşabilir.

Hata adı Neden Düzelt
InvalidProtocol Protokol <Protocol> öğesi içinde belirtilen geçerli değil. Geçerli protokoller TCP ve UDP'dir. TLS/SSL üzerinden sistem günlüğü mesajları göndermek için yalnızca TCP desteklenir.
InvalidPort Bağlantı noktası numarası <Port> öğesi içinde belirtilmemişse veya geçerli değilse. Bağlantı noktası numarası şu olmalıdır: sıfırdan büyük bir tam sayı.

Hata değişkenleri

Bu değişkenler, çalışma zamanı hatası oluştuğunda ayarlanır. Daha fazla bilgi için Bilmeniz gerekenler hakkında daha fazla bilgi edinin.

Değişkenler Konum Örnek
fault.name="fault_name" fault_name, yukarıdaki Çalışma zamanı hataları tablosunda listelendiği gibi hatanın adıdır. Hata adı, hata kodunun son kısmıdır. fault.name Matches "StepDefinitionExecutionFailed"
messagelogging.policy_name.failed policy_name, hataya neden olan politikanın kullanıcı tarafından belirtilen adıdır. messagelogging.ML-LogMessages.failed = true

Örnek hata yanıtı

{  
   "fault":{  
      "detail":{  
         "errorcode":"steps.messagelogging.StepDefinitionExecutionFailed"
      },
      "faultstring":"Execution failed"
   }
}

Örnek hata kuralı

<FaultRule name="MessageLogging">
    <Step>
        <Name>ML-LogMessages</Name>
        <Condition>(fault.name Matches "StepDefinitionExecutionFailed") </Condition>
    </Step>
    <Condition>(messagelogging.ML-LogMessages.failed = true) </Condition>
</FaultRule>


Akış değişkenleri

Politika başarısız olduğunda aşağıdaki değişkenler doldurulur.

  • messagelogging.failed
  • messagelogging.{stepdefinition-name}.failed

İlgili konular