MessageLogging politikası

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

Ne

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

Sana Özel

Sistem günlüğü

<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ı sistem günlüğü hesabına giriş yapmaktır. API proxy'si, syslog için yapılandırıldığında günlük mesajlarını Apigee Edge'den uzak bir sistem günlüğü sunucusuna yönlendirir. Hâlihazırda kullanılabilir bir sistem günlüğü sunucunuz olmalıdır. Aksi takdirde Splunk, Sumo Logic ve Loggly gibi genel günlük yönetimi hizmetleri kullanılabilir. Üçüncü taraf günlük yönetimi hizmetlerini yapılandırma bölümüne bakın.

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

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

TLS/SSL üzerinden sistem günlüğü

<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> blokunu ekleyerek TLS/SSL üzerinden üçüncü taraf mesaj günlük kaydı sağlayıcılara mesaj gönderebilirsiniz.

Dosya rotasyonu: 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: saat

<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 dayalı 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ış özellikli

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

Akış özellikli mesaj günlük kaydı


Öğ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 Özel Bulut dağıtımları için Edge'de desteklenir.) Dosyaların nerede depolandığıyla ilgili bilgi edinmek için Private Cloud için Edge'de günlük dosyası konumu'na bakın.

Message İstediğiniz bilgiyi yakalamak için metni değişkenlerle birleştirerek günlük dosyasına gönderilecek mesajı oluşturun. Sana Özel'e göz atın.
FileName İletinin günlüğe kaydedildiği günlük dosyasının adı.
FileRotationOptions
rotateFileOnStartup

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

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

FileRotationType Bir günlük dosyasının rotasyon politikasını (size veya time) belirtir.
MaxFileSizeInMB (Rotasyon türü olarak size seçildiğinde) Sunucunun, günlük mesajlarını ayrı bir dosyaya taşımasını tetikleyen günlük dosyasının boyutunu belirtir. Günlük dosyası belirtilen boyuta ulaştıktan sonra, sunucu geçerli günlük dosyasını yeniden adlandırır.
RotationFrequency (Rotasyon türü olarak time seçildiğinde) Sunucunun günlük mesajlarını ayrı bir dosyaya taşımasını tetikleyecek zamanı dakika cinsinden belirtir. Belirtilen aralık sona erdikten sonra, geçerli günlük dosyası yeniden adlandırılır.
MaxFilesToRetain

Rotasyon 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 olarak hiçbir dosya silinmez veya yeniden adlandırılır. Bu nedenle, gelecekte diskle dolu hatalardan kaçınmak için bunu sıfırdan büyük bir değere ayarlayın veya saklanan eski günlük dosyalarının tamamen otomatik şekilde temizlenmesi ya da arşivlenmesi için otomatik bir sistem uygulayın.

BufferMessage

Proxy'niz için HTTP akışı 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 değerini true olarak ayarlayın. Örnek için "Akış özellikli" örnek sekmesine bakın. Varsayılan: false

Syslog

Sistem günlüğü hedefi. Splunk, Sumo Logic veya Loggly'ye sistem günlüğü göndermek için Üçüncü taraf günlük yönetimi hizmetlerini yapılandırma bölümüne bakın.

Message

İstediğiniz bilgiyi yakalamak için metni değişkenlerle birleştirerek sistem günlüğüne gönderilecek mesajı oluşturun. Sana Özel'e göz atın.

Not: Yanıt değişkenleri, Hata Akışı sonrasında PostClientFlow'da kullanılamayacaktır. Hem hata hem de başarı durumlarıyla ilgili yanıt bilgilerini günlüğe kaydetmek için mesaj değişkenlerini kullanın. Kullanım notları'na da bakın.

Host Sistem günlüğünün gönderilmesi gereken sunucunun ana makine adı veya IP adresi. Bu öğeyi eklemezseniz varsayılan olarak localhost kullanılır.
Port Sistem günlüğünün çalıştığı bağlantı noktası. Bu öğeyi dahil etmezseniz varsayılan değer 514'tür.
Protocol TCP veya UDP (varsayılan). UDP daha yüksek performans gösterse de TCP protokolü, mesaj günlüğünün sistem günlüğü sunucusuna teslim edilmesini garanti eder. TLS/SSL üzerinden sistem günlüğü mesajları göndermek için yalnızca TCP desteklenir.
FormatMessage

true veya false (varsayılan)

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

Bu öğe, Apigee tarafından oluşturulan içeriğin mesajın başına eklenen biçimini kontrol etmenizi sağlar. Doğru değerine ayarlanırsa sistem günlüğü mesajının başına sabit sayıda karakter eklenir. Bu sayede, bu bilgileri mesajlardan filtreleyebilirsiniz. Aşağıda, sabit biçim için bir örnek 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üzeyi ve tesis düzeyine göre bir öncelik puanı (Sistem Günlüğü Protokolü'ne bakın).
  • 1 - Geçerli sistem günlüğü sürümü.
  • UTC farkına sahip tarih (UTC = +0000).
  • Mesaj işlemcisi UUID'si.
  • "Apigee-Edge - - - "

Yanlış (varsayılan) değerine ayarlanırsa mesajın başına 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 başa eklenmiş karakterler olmadan, sistem günlüğü mesajının yalnızca gövdesini içerecek şekilde ayarlar.

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

FormatMessage konusuna bakın.

DateFormat

İsteğe bağlı.

Her günlük mesajının zaman damgasını biçimlendirmek için kullanılacak 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ının dokümanlarında açıklanmıştır.

SSLInfo

İletileri SSL/TLS üzerinden günlüğe kaydetmenizi sağlar. <Enabled>true</Enabled> alt öğesi ile kullanın.

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

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

<SSLInfo> etiketini, bir TargetEndpoint'te yaptığınız gibi yapılandırabilirsiniz. Buna API proxy yapılandırma referansı bölümünde açıklandığı şekilde iki yönlü TLS/SSL'yi de etkinleştirmeniz gerekir. Yalnızca TCP protokolü desteklenir.

logLevel

İsteğe bağlı.

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

İleti günlüğüne dahil edilecek belirli bir bilgi düzeyi belirleyin.

FormatMessage öğesini kullanıyorsanız (true olarak ayarlıysa) logLevel ayarınız, Apigee tarafından oluşturulan mesajın başına eklenen bilgilerdeki hesaplanan öncelik puanını (açılı ayraçların içindeki sayı) etkiler.

Şemalar


Kullanım notları

API proxy akışına bir MessageLogging politikası eklerken politikayı PostClientFlow adlı özel bir akışta ProxyEndpoint yanıtına yerleştirmeyi değerlendirin. PostClientFlow, yanıt istekte bulunan istemciye gönderildikten sonra yürütülerek 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 yapılandırma referansı bölümüne bakın.

PostClientFlow, iki açıdan özeldir:

  1. Yalnızca yanıt akışının bir parçası olarak yürütülür.
  2. Proxy hata durumuna girdikten sonra yürütülen tek akıştır.

Proxy'nin başarılı veya başarısız olmasına bakılmaksızın yürütüleceği için MessageLogging politikalarını PostClientFlow'a yerleştirebilir ve her zaman yürütülecekleri garanti edebilirsiniz.

Aşağıdaki Trace görüntüsünde, DefaultFaultRule yürütüldükten sonra PostClientFlow'un parçası olarak yürütülen bir MessageLogging politikası gösterilmektedir:

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

Aşağıda, PostClientFlow'u içeren ProxyEndpoint tanımı gösterilmektedir:

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

Edge, mesajları basit metin olarak günlüğe kaydeder. Ayrıca isteğin veya yanıtın alındığı tarih ve saat, istekteki kullanıcı kimliği, isteğin gönderildiği kaynak IP adresi gibi değişkenleri içerecek şekilde günlük kaydını yapılandırabilirsiniz. Edge, eşzamansız olarak mesaj kaydeder. Yani API'nize, çağrıların engellenmesinden kaynaklanabilecek herhangi bir gecikme yaşanmaz.

MessageLogging politikası, günlüğe kaydedilen iletileri bellekteki bir arabelleğe yazar. Mesaj günlük kaydedici, arabellekteki mesajları okur ve ardından yapılandırdığınız hedefe yazar. Her hedefin kendi tamponu 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ğıdaki bilgileri içeren bir mesaj görebilirsiniz:

Log message size exceeded. Increase the max message size setting

Private Cloud 4.15.07 ve önceki sürümlerinde bu sorunla karşılaşırsanız message-logging.properties dosyasını bulun ve şu çözümü kullanı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 4.16.01 ve sonraki sürümler için /opt/apigee/customer/application/message-processor.properties dosyasında conf_message-logging_max.log.message.size.in.kb özelliğini ayarlayın ve İleti İşleyici'yi yeniden başlatın.

Not: Edge'deki yanıt mesajı değişkenleri, Hata Akışı'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. Bu nesneyi, hata olup olmadığına bakılmaksızın başlıklara ve yanıttaki diğer bilgilere ulaşmak için kullanabilirsiniz. Daha fazla bilgi ve bir örnek için Mesaj değişkenleri bölümüne bakın.

Private Cloud için Edge'de 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, DateFormat öğesi kullanılarak sistem günlüğü hedefleri için geçersiz kılınabilir. Bu şablonun davranışı, Java'nın SimpleDateFormat sınıfının dokümanlarında açıklanmıştır. Bu tanıma göre yyyy yerine 4 haneli yıl, MM yerine ise 2 haneli ay numarası getirilir. 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 İşleyici'deki conf_system_apigee.syslogger.dateFormat özelliğini 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 yıl şeklinde kısaltarak zaman damgası şu şekilde kaydedilir:

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

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

  1. Bir düzenleyicide message-processor.properties dosyasını açın. Dosya mevcut değilse 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/impression/customer/application/message-processor.properties
  5. Edge Mesaj İşleyici'yi yeniden başlatın:
    > /opt/Apigee/Apigee-service/bin/Apigee-service kenar-message-processoryeniden başlatma

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

Private Cloud 4.16.01 ve sonraki sürümleri için Edge

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/

Varsayılan günlük konumunu, Mesaj İşleyiciler'de bulunan message-logging.properties dosyasındaki özellikleri değiştirerek değiştirebilirsiniz:

  • bin_setenv_data_dir - Günlük dosyası depolama için kök yolunu ayarlar. Örneğin, bin_setenv_data_dir=/opt/apigee/var/log
  • conf_message-logging_log.root.dir - Bunu 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
    conf/message-logging.properties+log.root.dir=/opt/apigee/var/log/messages gibi mutlak bir yola ayarlarsanız mesaj günlükleri /opt/apigee/var/log/messages/messagelog/ konumunda depolanır.
    Mutlak yol, bin_setenv_data_dir ile karşılaştırıldığında önceliklidir.

    Varsayılan olarak yorumlandığı için özelliğe conf/message-logging.properties+log.root.dir olarak referans vermeniz gerektiğini unutmayın. Daha fazla bilgi için Şu anda yorum dışında bırakılmış bir jeton ayarlama bölümüne bakın.

Günlük dosyalarını düz bir dosya yapısında depolamak için tüm günlük dosyaları aynı dizine yerleştirmek istiyorsanız, message-logging.properties dosyasında conf/message-logging.properties+enable.flat.directory.structure özelliğini true olarak ayarlayın. Mesajlar, yukarıdaki özelliklerde belirtilen dizinde depolanır ve dosya adları {org}_{environment}_{api_proxy_name}_{revision}_{logging_policy_name}_{filename} biçiminde olur.

Bu özellikleri ayarlamak için:

  1. Bir düzenleyicide message-processor.properties dosyasını açın. Dosya mevcut değilse 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/impression/customer/application/message-processor.properties
  5. Edge bileşenini yeniden başlatın:
    > /opt/../..//Apigee-service/bin/Apigee-service Edge-message-processoryeniden başlatma

Private Cloud 4.15.07 ve önceki sürümleri için Edge

Varsayılan olarak mesaj günlükleri, mesaj işlemcilerinde aşağıdaki konumda bulunur:

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

Varsayılan günlük konumunu, mesaj işlemcilerindeki message-logging.properties dosyasında aşağıdaki özellikleri değiştirerek değiştirebilirsiniz:

  • data.dir - Günlük dosyası depolama için kök yolunu ayarlar. Örneğin, data.dir=/opt/Apigee4/var/log
  • log.root.dir - Bunu log.root.dir=custom/folder/ gibi göreli bir yol olarak ayarlarsanız yol data.dir konumuna eklenir.

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

Bunu log.root.dir=/opt/apigee4/var/log/messages gibi mutlak bir yola ayarlarsanız mesaj günlükleri /opt/impression4/var/log/messages/messagelog/ konumunda depolanır. log.root.dir dosyasındaki mutlak yol, data.dir konumuna göre önceliklidir.

Günlük dosyalarını düz bir dosya yapısında depolamak ve tüm günlük dosyalarının aynı dizine yerleştirilmesini sağlamak için Mesaj İşleyicileri'ndeki message-logging.properties dosyasında enable.flat.directory.structure özelliğini true olarak ayarlayın. Mesajlar, yukarıdaki özelliklerde belirtilen dizinde depolanır ve dosya adları {org}_{environment}_{api_proxy_name}_{revision}_{logging_policy_name}_{filename} biçiminde olur.

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

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

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

Message öğesinde defaultVariableValue özelliği ayarlanarak tüm çözülmemiş değişkenler için 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

MessageLogging politikası Splunk, Sumo Logic ve Loggly gibi üçüncü taraf günlük yönetimi hizmetlerine sistem günlüğü mesajları göndermenize olanak tanır. Bu hizmetlerden birine sistem günlüğü göndermek istiyorsanız hizmetin ana makinesini, bağlantı noktasını ve protokolünü yapılandırmak için ilgili hizmetin belgelerine bakın. Ardından, bu politikada Sistem Günlüğü öğesini uygun şekilde ayarlayın.

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

Hata referansı

Bu bölümde, bu politika bir hatayı tetiklediğinde Edge tarafından ayarlanan hata kodları ile hata mesajları ve döndürülen hata mesajları ile Edge tarafından ayarlanan hata değişkenleri açıklanmaktadır. Bu bilgiyi, hataları ele almak için hata kuralları geliştirip geliştirmediğinizi bilmeniz önemlidir. Daha fazla bilgi için Politika hataları hakkında bilmeniz gerekenler ve Hataları işleme bölümlerine bakın.

Çalışma zamanı hataları

Politika yürütüldüğünde bu hatalar ortaya çıkabilir.

Hata kodu HTTP durumu Neden
steps.messagelogging.StepDefinitionExecutionFailed 500 Hata dizesine bakın.

Dağıtım hataları

Bu hatalar, bu politikayı içeren bir proxy dağıttığınızda ortaya çıkabilir.

Hata adı Neden Düzelt
InvalidProtocol <Protocol> öğesi içinde belirtilen protokol geçerli değilse MessageLogging politikasının dağıtımı bu hatayla başarısız olabilir. 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> öğesinde belirtilmezse veya geçerli değilse MessageLogging politikasının dağıtımı bu hatayla başarısız olabilir. Bağlantı noktası numarası sıfırdan büyük bir tam sayı olmalıdır.

Hata değişkenleri

Bu değişkenler, bir çalışma zamanı hatası oluştuğunda ayarlanır. Daha fazla bilgi için Politika hataları hakkında bilmeniz gerekenler bölümüne bakın.

Değişkenler Konum Örnek
fault.name="fault_name" fault_name, yukarıdaki Çalışma zamanı hataları tablosunda listelenen 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"
   }
}

Hata kuralı örneği

<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 hatası durumunda aşağıdaki değişkenler doldurulur.

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

İlgili konular