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ı | |
|---|---|---|
|
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: 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 |
|
|
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 |
İsteğe bağlıdır ancak Loggly ile kullanmak için 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:
Apigee tarafından oluşturulan bilgiler şunları içerir:
Yanlış (varsayılan) olarak ayarlanırsa iletiye bu sabit karakterler eklenmez. |
|
PayloadOnly |
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 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 |
|
SSLInfo |
İletileri SSL/TLS üzerinden kaydetmenizi sağlar. 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: İleti günlüğüne eklenecek belirli bir bilgi düzeyi ayarlayın.
|
|
Ş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:
- Yalnızca yanıt akışının bir parçası olarak yürütülür.
- 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:
- message-processor.properties dosyasını bir düzenleyicide açın. Dosya yoksa oluşturun:
> vi /opt/apigee/customer/application/message-processor.properties - Özellikleri istediğiniz gibi ayarlayın:
conf_system_apigee.syslogger.dateFormat=yy/MM/dd'T'HH:mm:ss.SSSZ - Değişikliklerinizi kaydedin.
- Özellikler dosyasının "apigee" kullanıcısına ait olduğundan emin olun:
> chown apigee:apigee /opt/apigee/customer/application/message-processor.properties - 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
Bunuconf/message-logging.properties+log.root.dir=/opt/apigee/var/log/messagesgibi 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:
- message-processor.properties dosyasını bir düzenleyicide açın. Dosya yoksa oluşturun:
> vi /opt/apigee/customer/application/message-processor.properties - Özellikleri istediğiniz gibi ayarlayın:
conf/message-logging.properties+log.root.dir=/opt/apigee/var/log/messages - Değişikliklerinizi kaydedin.
- Özellikler dosyasının "apigee" kullanıcısına ait olduğundan emin olun:
> chown apigee:apigee /opt/apigee/customer/application/message-processor.properties - 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:
- Splunk (ürün sürümünü seçin)
Ayrıca şu Apigee Topluluğu gönderisine de göz atın: Log messages into Splunk (Splunk'a günlük mesajları gönderme) -
Sumo
Logic
- Ayrıca şu Apigee topluluk gönderisine de göz atın: Sumo Logic ile günlük kaydı oluştururken hangi ana makineyi kullanmalıyım?
- Günlük hizmeti olarak Sumo Logic'in kullanıldığı eksiksiz bir örnek için aşağıdaki Apigee Community gönderisine bakın. Çözüm, Sumo Logic HTTP Kaynağı Toplayıcı'ya HTTP POST istekleri göndermek için tek bir JavaScript politikası kullanır: JavaScript ve HTTP kullanarak Sumo Logic'e günlük kaydetme
- Loggly
Loggly kullanılırken<Syslog>öğesinin alt öğesi olarak politikada<FormatMessage>true</FormatMessage>gereklidir.
Loggly'ye ileti günlüğü kaydetme hakkında daha fazla bilgi için şu Apigee Topluluğu gönderisine de göz atın: Loggly'ye ileti kaydetme
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. |
build |
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ı. |
build |
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.failedmessagelogging.{stepdefinition-name}.failed
İlgili konular
- Edge tarafından kullanıma sunulan değişkenler: Değişken referansı