MessageLogging politikası

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

Ne?

API çalışma zamanı ortamındaki sorunları tespit etmenin en iyi yollarından biri mesajları günlüğe kaydetmektir. Özel mesajları yerel bir diske (yalnızca Private Cloud için Edge) veya syslog'a kaydetmek üzere 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. Syslog için yapılandırıldığında bir API proxy'si, Apigee Edge'deki günlük iletilerini uzak bir syslog sunucusuna yönlendirir. Zaten bir syslog sunucunuz olmalıdır. Aksi takdirde Splunk, Sumo Logic ve Loggly gibi herkese açık günlük yönetimi hizmetlerinden yararlanabilirsiniz. Üçü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 özel 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 bir sorgu parametresinin değeri.

Edge for Private Cloud 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 TLS/SSL üzerinden üçüncü taraf ileti günlüğü sağlayıcılarına ileti 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 döndürme.

Dosya rotasyonu: süre

<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 döndürme.

Dosya döndürme: süre 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>

Dosyaları zamana ve boyuta göre döndürme.

Akış etkin

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

Akış etkin 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üğü yalnızca Private Cloud dağıtımları için Edge'de desteklenir.) Dosyaların nerede depolandığı hakkında bilgi edinmek için Edge for Private Cloud'da günlük dosyası konumu başlıklı makaleyi inceleyin.

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

Bu kod yalnızca bir dosya adı belirtir ve geçerlidir:

<FileName>mylog.log</FileName>

Dosyanın nerede depolandığı hakkında bilgi için Edge for Private Cloud'da günlük dosyası 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 döndürme politikasını (size veya time) belirtir.
MaxFileSizeInMB (Döndürme türü olarak size seçildiğinde) Sunucunun günlük iletilerini 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 (Döndürme türü olarak time seçildiğinde) Sunucunun günlük iletilerini ayrı bir dosyaya taşımasını tetikleyen süreyi dakika cinsinden belirtir. Belirtilen aralık geçtikten 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) belirtirseniz günlük dosyaları süresiz olarak saklanır ancak dosya döndürme ayarlarınıza tabidir. Bu durumda dosyaların hiçbiri silinmez veya yeniden adlandırılmaz. Bu nedenle, gelecekte disk dolu hataları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 ya da arşivleyen 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'ı true olarak ayarlayın. Örnek için "Yayın etkin" örnek sekmesine bakın. Varsayılan: false

Syslog

Bir syslog hedefi. Syslog'u Splunk, Sumo Logic veya Loggly'ye 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 bölümüne bakın.

Not: Yanıt değişkenleri, 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 olur.
Protocol TCP veya UDP (varsayılan). UDP daha iyi performans gösterse de TCP protokolü, ileti günlüğünün syslog sunucusuna teslim edilmesini garanti eder. TLS/SSL üzerinden syslog mesajları 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, iletiye eklenen Apigee tarafından oluşturulan içeriklerin biçimini kontrol etmenize olanak tanır. Doğru (true) değerine ayarlanırsa syslog mesajının başına sabit sayıda karakter eklenir. Bu sayede, mesajlardaki bilgileri filtreleyebilirsiniz. Sabit biçimle ilgili bir örneği aşağıda bulabilirsiniz:

<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> - İletinin günlük düzeyi ve tesis düzeyine göre öncelik puanı (bkz. Syslog Protokolü).
  • 1 - Geçerli syslog sürümü.
  • UTC saat farkı olan 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 ile belirtilen ön ekli 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'a bakın.

DateFormat

İsteğe bağlıdır.

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ıyla ilgili dokümanda açıklanmıştır.

SSLInfo

İletileri SSL/TLS üzerinden kaydetmenizi sağlar. <Enabled>true</Enabled> alt öğesiyle birlikte kullanılır.

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ığı gibi, iki yönlü TLS/SSL'yi etkinleştirme de dahil olmak üzere bir TargetEndpoint'te olduğu gibi yapılandırabilirsiniz. Yalnızca TCP protokolü desteklenir.

logLevel

İsteğe bağlıdır.

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

İleti günlüğüne eklenecek belirli bir bilgi düzeyi ayarlayın.

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

Şemalar


Kullanım notları

Bir API proxy akışına MessageLogging politikası eklerken bu politikayı ProxyEndpoint yanıtına, PostClientFlow adlı özel bir akışa yerleştirmeyi düşünebilirsiniz. PostClientFlow, yanıtı isteyen istemciye gönderildikten sonra yürütülür. Bu sayede, tüm metriklerin günlüğe kaydedilmesi sağlanır. 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ışının bir parçası olarak yürütülür.
  2. Bu akış, proxy hata durumuna girdikten sonra yürütülen tek akıştır.

Proxy'nin başarılı olup olmamasından bağımsız olarak yürütüldüğünden, PostClientFlow'a MessageLogging politikaları yerleştirebilir ve bunların her zaman yürütüleceğinden emin olabilirsiniz.

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

Bu örnekte, geçersiz bir anahtar nedeniyle API anahtarını doğrulama politikası hataya neden oldu.

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. Günlüğe kaydetmeyi, istek 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 yapılandırabilirsiniz. Edge günlükleri, mesajları eşzamansız olarak kaydeder. Bu nedenle, API'nize çağrıların engellenmesinden kaynaklanabilecek herhangi bir gecikme eklenmez.

MessageLogging politikası, günlüğe kaydedilen iletileri bellekteki bir arabelleğe yazar. İleti kaydedici, iletileri arabellekten okur ve ardından yapılandırdığınız hedefe yazar. Her hedef için ayrı bir arabellek vardır.

Kullanıcılar, yeni bir syslog uç noktasına gönderilen günlük iletilerini almakta gecikme yaşayabilir. Bu durum, politikadaki amaçlanan "sıfırdan başlatma" davranışından kaynaklanmaktadır. Yeni bir günlük kaydı hedefi yapılandırıldığında, mevcut günlük kaydı hedeflerine ek olarak ileti işlemci (MP), göndermeden önce 1.000 günlük kaydı iletisini bellekte sıraya alabilir. Bu durum, düşük trafikli ortamlarda başlangıçta gecikmeye neden olabilir. Bu ilk gecikme, mesajlar hızlı bir şekilde birikeceğinden normal üretim iş yüklerinde gözlemlenemez. Eşik karşılandığında günlük mesajları beklendiği gibi teslim edilir. İleti İşleyici'nin sorunsuz bir şekilde yeniden başlatılması, kuyruktan boşaldıkça sıraya alınmış iletilerin teslimini de tetikleyebilir.

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 Edge for Private Cloud 4.15.07 ve önceki sürümlerde karşılaşırsanız message-logging.properties dosyasını bulun ve şu çözümü kullanın:

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

Edge for Private Cloud 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 özelliğini ayarlayın ve Mesaj İşleyici'yi yeniden başlatın. Bu özelliğin başlangıçta varsayılan olarak yorum satırı haline getirildiğini lütfen unutmayın.

Not: Edge'deki yanıt mesajı değişkenleri, hata akışından kullanılamaz. Önceki akış hata akışıysa 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 yanıttaki başlıkları ve diğer bilgileri almak için 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 iletilerindeki zaman damgası şu biçimdedir:

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

Sistem genelindeki bu varsayılan değer, 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 dokümanda açıklanmıştır. Bu tanıma göre yyyy, 4 haneli bir yılla, MM ise 2 haneli bir ay numarası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 Message Processor'daki conf_system_apigee.syslogger.dateFormat özelliğini kullanabilirsiniz. Örneğin, mesaj biçimini şu şekilde değiştirme:

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

Tarihlerdeki tireleri eğik çizgilerle değiştirip yılı 2 haneli olacak şekilde 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 yoksa 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 Message Processor'ı yeniden başlatın:
    > /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart

Edge for Private Cloud'daki günlük dosyası konumu

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

Varsayılan olarak, Private Cloud ileti günlükleri İleti İş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, ileti işlemcilerindeki message-logging.properties dosyasındaki özellikleri değiştirerek değiştirebilirsiniz:

  • bin_setenv_data_dir - Günlük dosyası depolama alanının 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
    Bunu 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/ içinde saklanır. Mutlak yol, bin_setenv_data_dir'a göre önceliklidir.

    Varsayılan olarak yorum satırı haline getirildiği için mülke conf/message-logging.properties+log.root.dir olarak başvurmanız gerektiğini unutmayın. Daha fazla bilgi için Şu anda yorum satırı olarak işaretlenmiş bir jetonu ayarlama başlıklı makaleyi inceleyin.

Günlük dosyalarını düz dosya yapısında depolamak istiyorsanız (böylece tüm günlük dosyaları aynı dizine yerleştirilir) message-logging.properties dosyasında conf/message-logging.properties+enable.flat.directory.structure özelliğini 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 yoksa 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

Varsayılan olarak, ileti günlükleri ileti 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, ileti 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 yolu ayarlar. Örneğin, data.dir=/opt/apigee4/var/log
  • log.root.dir: Bunu log.root.dir=custom/folder/ gibi göreli bir yola ayarlarsanız yol, data.dir konumuna eklenir.

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

Bunu log.root.dir=/opt/apigee4/var/log/messages gibi mutlak bir yola ayarlarsanız ileti günlükleri /opt/apigee4/var/log/messages/messagelog/ dizininde saklanır. log.root.dir içindeki mutlak yol, data.dir'e göre önceliklidir.

Tüm günlük dosyalarının aynı dizine yerleştirilmesi için günlük dosyalarını düz dosya yapısında depolamak istiyorsanız Mesaj İşleyiciler'deki message-logging.properties dosyasında enable.flat.directory.structure özelliğini 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.

Mesaj şablonundaki değişkenlerin varsayılan değerleri

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

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

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

<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ı, syslog mesajlarını Splunk, Sumo Logic ve Loggly gibi üçüncü taraf günlük yönetimi hizmetlerine göndermenize olanak tanır. Syslog'u bu hizmetlerden birine göndermek istiyorsanız hizmetin ana makinesini, bağlantı noktasını ve protokolünü yapılandırmak için hizmetin belgelerine bakın, ardından bu politikadaki Syslog öğesini buna göre 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 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

Aşağıdaki değişkenler politika hatası durumunda doldurulur.

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

İlgili konular