Azure Uygulaması lication Gateway izleme verileri başvurusu
Bu makale, bu hizmetin tüm izleme başvuru bilgilerini içerir.
Application Gateway için toplayabileceğiniz veriler ve nasıl kullanılacağı hakkında ayrıntılı bilgi için bkz. Azure Uygulaması lication Gateway'i izleme.
Ölçümler
Bu bölümde, bu hizmet için otomatik olarak toplanan tüm platform ölçümleri listelenir. Bu ölçümler, Azure İzleyici'de desteklenen tüm platform ölçümlerinin genel listesinin de bir parçasıdır.
Ölçüm saklama hakkında bilgi için bkz . Azure İzleyici Ölçümlerine genel bakış.
Microsoft.Network/applicationGateways için desteklenen ölçümler
Aşağıdaki tabloda, Microsoft.Network/applicationGateways kaynak türü için kullanılabilen tüm ölçümler listelenir. Bu tablodan sonra birçok ölçüm için daha fazla açıklama ayrıntısı eklenmiştir.
- Tüm sütunlar her tabloda mevcut olmayabilir.
- Bazı sütunlar sayfanın görüntüleme alanının dışında olabilir. Kullanılabilir tüm sütunları görüntülemek için Tabloyu genişlet'i seçin.
Tablo başlıkları
- Kategori - Ölçüm grubu veya sınıflandırma.
- Ölçüm - Azure portalında göründüğü şekilde ölçüm görünen adı.
- REST API'deki ad - REST API'de bahsedilen ölçüm adı.
- Birim - Ölçü birimi.
- Toplama - Varsayılan toplama türü. Geçerli değerler: Ortalama (Ortalama), Minimum (Min), Maksimum (Maksimum), Toplam (Toplam), Sayı.
- - Ölçüm için kullanılabilen Boyutlar Boyutları.
- Ölçümün örneklendiği Zaman Dilimleri - Aralıkları. Örneğin,
PT1M
ölçümün dakikada bir, 30 dakikada bir,PT30M
PT1H
saatte bir vb. örneklendiğini gösterir. - DS Dışarı Aktarma- Ölçümün tanılama ayarları aracılığıyla Azure İzleyici Günlüklerine aktarılıp aktarılmayacağı. Ölçümleri dışarı aktarma hakkında bilgi için bkz . Azure İzleyici'de tanılama ayarları oluşturma.
Metric | REST API'de ad | Unit | Toplama | Boyutlar | Zaman Dilimleri | DS Dışarı Aktarma |
---|---|---|---|---|---|---|
Application Gateway Toplam Süresi bir isteğin işlenmesi ve yanıtının gönderilmesi için geçen süre. Bu, Application Gateway'in bir HTTP isteğinin ilk baytını aldığı zamandan yanıt gönderme işleminin sona erdiği zamana kadar olan zaman aralığıdır. Bunun genellikle Application Gateway işleme süresini, istek ve yanıt paketlerinin ağ üzerinden seyahat etme süresini ve arka uç sunucusunun yanıt verme süresini içerdiğini unutmayın. |
ApplicationGatewayTotalTime |
Milisaniye | Ortalama, Maksimum | Listener |
PT1M | Hayır |
Sağlıklı Konak başına dakika başına istek sayısı Havuzdaki iyi durumdaki arka uç konağı başına dakika başına ortalama istek sayısı |
AvgRequestCountPerHealthyHost |
Sayı | Ortalama | BackendSettingsPool |
PT1M | Hayır |
WAF Bot Koruması Eşleşmeleri Eşleşen Bot Kuralları |
AzwafBotProtection |
Sayı | Toplam (Toplam) | Action , Category , Mode , , CountryCode , PolicyName , PolicyScope |
PT1M | Yes |
WAF Özel Kural Eşleşmeleri Eşleşen Özel Kurallar |
AzwafCustomRule |
Sayı | Toplam (Toplam) | Action , CustomRuleID , Mode , , CountryCode , PolicyName , PolicyScope |
PT1M | Yes |
WAF JS Sınama İsteği Sayısı WAF tarafından değerlendirilen toplam JS sınama isteği sayısı |
AzWAFJSChallengeRequestCount |
Sayı | Toplam (Toplam) | Action , PolicyName , Rule , PolicyScope |
PT1M | Yes |
WAF Yönetilen Kural Eşleşmeleri Eşleşen Yönetilen Kurallar |
AzwafSecRule |
Sayı | Toplam (Toplam) | Action , Mode , RuleGroupID , , RuleID , CountryCode , PolicyName , PolicyScope , RuleSetName |
PT1M | Yes |
WAF Toplam İstek sayısı WAF tarafından değerlendirilen toplam istek sayısı |
AzwafTotalRequests |
Sayı | Toplam (Toplam) | Action , CountryCode , Method , , Mode , PolicyName , PolicyScope |
PT1M | Yes |
Arka Uç Bağlantı Süresi Arka uç sunucusuyla bağlantı kurmak için harcanan süre |
BackendConnectTime |
Milisaniye | Ortalama, Maksimum | Listener , BackendServer , BackendPool , BackendHttpSetting |
PT1M | Hayır |
Arka Uç İlk Bayt Yanıt Süresi Arka uç sunucusuna bağlantı kurmaya başlama ile yanıt üst bilgisinin ilk baytını alma arasındaki zaman aralığı, arka uç sunucusunun işlem süresini yaklaşık olarak belirler |
BackendFirstByteResponseTime |
Milisaniye | Ortalama, Maksimum | Listener , BackendServer , BackendPool , BackendHttpSetting |
PT1M | Hayır |
Arka Uç Son Bayt Yanıt Süresi Arka uç sunucusuna bağlantı kurmaya başlama ile yanıt gövdesinin son baytını alma arasındaki zaman aralığı |
BackendLastByteResponseTime |
Milisaniye | Ortalama, Maksimum | Listener , BackendServer , BackendPool , BackendHttpSetting |
PT1M | Hayır |
Arka Uç Yanıt Durumu Arka uç üyeleri tarafından oluşturulan HTTP yanıt kodlarının sayısı. Bu, Application Gateway tarafından oluşturulan yanıt kodlarını içermez. |
BackendResponseStatus |
Sayı | Toplam (Toplam) | BackendServer , BackendPool , BackendHttpSetting , HttpStatusGroup |
PT1M | Yes |
Engellenen İstekler Kuralı Dağıtım Web Uygulaması Güvenlik Duvarı Engellenen istekler kuralı dağılımını Web Uygulaması Güvenlik Duvarı |
BlockedCount |
Sayı | Toplam (Toplam) | RuleGroup , RuleId |
PT1M | Yes |
Alınan Bayt Sayısı Application Gateway tarafından istemcilerden alınan toplam bayt sayısı |
BytesReceived |
Bayt | Toplam (Toplam) | Listener |
PT1M | Yes |
Gönderilen Bayt Sayısı Application Gateway tarafından istemcilere gönderilen toplam bayt sayısı |
BytesSent |
Bayt | Toplam (Toplam) | Listener |
PT1M | Yes |
Geçerli Kapasite Birimleri Tüketilen Kapasite Birimleri |
CapacityUnits |
Sayı | Ortalama | <none> | PT1M | Hayır |
İstemci RTT İstemciler ve Application Gateway arasında gidiş dönüş süresi. Bu ölçüm, bağlantı kurmanın ve onayları döndürmenin ne kadar sürdüğünü gösterir |
ClientRtt |
Milisaniye | Ortalama, Maksimum | Listener |
PT1M | Hayır |
Geçerli İşlem Birimleri Tüketilen İşlem Birimleri |
ComputeUnits |
Sayı | Ortalama | <none> | PT1M | Hayır |
CPU Kullanımı Application Gateway'in geçerli CPU kullanımı |
CpuUtilization |
Yüzde | Ortalama | <none> | PT1M | Hayır |
Geçerli Bağlantılar Application Gateway ile kurulan geçerli bağlantıların sayısı |
CurrentConnections |
Sayı | Toplam (Toplam) | <none> | PT1M | Yes |
Tahmini Faturalanan Kapasite Birimleri Ücretlendirilecek tahmini kapasite birimleri |
EstimatedBilledCapacityUnits |
Sayı | Ortalama | <none> | PT1M | Hayır |
Başarısız İstekler Application Gateway tarafından sunulan başarısız isteklerin sayısı |
FailedRequests |
Sayı | Toplam (Toplam) | BackendSettingsPool |
PT1M | Yes |
Sabit Faturalanabilir Kapasite Birimleri Ücretlendirilecek en düşük kapasite birimleri |
FixedBillableCapacityUnits |
Sayı | Ortalama | <none> | PT1M | Hayır |
İyi DurumdaKi Konak Sayısı İyi durumdaki arka uç konaklarının sayısı |
HealthyHostCount |
Sayı | Ortalama | BackendSettingsPool |
PT1M | Yes |
Toplam Kural Dağılımını Web Uygulaması Güvenlik Duvarı Gelen trafik için Toplam Kural Dağılımını Web Uygulaması Güvenlik Duvarı |
MatchedCount |
Sayı | Toplam (Toplam) | RuleGroup , RuleId |
PT1M | Yes |
Saniye başına yeni bağlantılar Application Gateway ile saniyede yeni bağlantılar kuruldu |
NewConnectionsPerSecond |
CountPerSecond | Ortalama | <none> | PT1M | Hayır |
Yanıt Durumu Application Gateway tarafından döndürülen Http yanıt durumu |
ResponseStatus |
Sayı | Toplam (Toplam) | HttpStatusGroup |
PT1M | Yes |
İşlem hızı Application Gateway'in hizmet aldığı saniyedeki bayt sayısı |
Throughput |
BytesPerSecond | Ortalama | <none> | PT1M | Hayır |
İstemci TLS Protokolü Application Gateway ile bağlantı kuran istemci tarafından başlatılan TLS ve TLS dışı isteklerin sayısı. TLS protokol dağıtımını görüntülemek için, BOYUT TLS Protokolü'ne göre filtreleyin. |
TlsProtocol |
Sayı | Toplam (Toplam) | Listener , TlsProtocol |
PT1M | Yes |
Toplam İstek Sayısı Application Gateway tarafından sunulan başarılı isteklerin sayısı |
TotalRequests |
Sayı | Toplam (Toplam) | BackendSettingsPool |
PT1M | Yes |
İyi Durumda Olmayan Konak Sayısı İyi durumda olmayan arka uç konaklarının sayısı |
UnhealthyHostCount |
Sayı | Ortalama | BackendSettingsPool |
PT1M | Yes |
Kullanılabilir Web Uygulaması Güvenlik Duvarı (WAF) ölçümleri için bkz. Application Gateway WAF v2 ölçümleri ve Application Gateway WAF v1 ölçümleri.
Application Gateway v2 SKU için zamanlama ölçümleri
Application Gateway v2 SKU'su, istek ve yanıtla ilgili birçok yerleşik zamanlama ölçümü sağlar ve bunların tümü milisaniye cinsinden ölçülür. Aşağıda, önceki ölçümler tablosunda zaten listelenmiş olan zamanlama ölçümlerinin genişletilmiş açıklamaları verilmiştir.
- Arka uç bağlantı süresi. Bu değer, ağ gecikme süresini ve arka uç sunucusunun TCP yığını tarafından yeni bağlantılar kurmak için geçen süreyi içerir. TLS için, el sıkışmaya harcanan zamanı da içerir.
- Arka uç ilk bayt yanıt süresi. Bu değer, Arka uç bağlantı süresinin toplamına, Application Gateway'den arka uça ulaşma isteği tarafından geçen süreye, arka uç uygulamasının yanıt vermesi için geçen süreye, sunucunun içerik oluşturması ve olası veritabanı sorgularını getirme süresine ve yanıtın arka uçtan Application Gateway'e ulaşması için ilk bayt tarafından geçen süreye yaklaşık olarak eşittir.
- Arka uç son bayt yanıt süresi. Bu değer, arka uç ilk bayt yanıt süresinin ve veri aktarım süresinin toplamına yaklaşık olarak eşittir. Bu sayı, istenen nesnelerin boyutuna ve sunucu ağının gecikme süresine bağlı olarak büyük ölçüde değişir.
- Uygulama ağ geçidi toplam süresi. Bu aralık, Application Gateway'den HTTP isteğinin ilk baytını istemciye son yanıt baytının gönderildiği zamana kadar olan süredir.
- İstemci RTT. İstemciler ve Application Gateway arasındaki ortalama gidiş dönüş süresi.
Application Gateway v2 SKU ölçümleri
Application Gateway v2 SKU'su için aşağıdaki ölçümler kullanılabilir. Aşağıda, önceki ölçümler tablosunda zaten listelenen ölçümlerin genişletilmiş açıklamaları verilmiştir.
- Alınan bayt sayısı. Bu ölçüm yalnızca Application Gateway tarafından gözlemlenen İstek içerik boyutunu hesaplar. TLS üst bilgi anlaşmaları, TCP/IP paket üst bilgileri veya yeniden iletimler gibi veri aktarımlarını içermez.
- Gönderilen bayt sayısı. Bu ölçüm yalnızca Application Gateway tarafından sunulan Yanıt İçeriği boyutunu hesaplar. TCP/IP paket üst bilgileri veya yeniden iletimler gibi veri aktarımlarını içermez.
- İstemci TLS protokolü. TLS ve TLS olmayan isteklerin sayısı.
- Geçerli kapasite birimleri. Kapasite birimi için üç belirleyici vardır: işlem birimi, kalıcı bağlantılar ve aktarım hızı. Her kapasite birimi en fazla bir işlem biriminden veya 2500 kalıcı bağlantıdan ya da 2,22 Mb/sn aktarım hızından oluşur.
- Geçerli işlem birimleri. İşlem birimini etkileyen faktörler, TLS bağlantısı/sn, URL Yeniden yazma hesaplamaları ve WAF kural işlemedir.
- Geçerli bağlantılar. İstemcilerden Application Gateway'e etkin eş zamanlı bağlantıların toplam sayısı.
- Tahmini Faturalanan Kapasite birimleri. v2 SKU ile tüketim, fiyatlandırma modelini destekler. Kapasite birimleri, sabit maliyete ek olarak ücretlendirilen tüketim tabanlı maliyeti ölçer. *Tahmini Faturalanan Kapasite birimleri, faturalamanın tahmini olduğu kapasite birimi sayısını gösterir. Bu tutar, Geçerli kapasite birimleri (trafiğin yükünü dengelemek için gereken kapasite birimleri) ile Sabit faturalanabilir kapasite birimleri (sağlanan minimum kapasite birimleri) arasında daha büyük bir değer olarak hesaplanır.
- Başarısız İstekler. Bu değer Application Gateway'den oluşturulan 5xx kodlarını ve arka uçtan oluşturulan 5xx kodlarını içerir. İstek sayısı, her/belirli arka uç havuzu-http ayarı bileşimine göre sayıyı gösterecek şekilde daha fazla filtrelenebilir.
- Sabit Faturalanabilir Kapasite Birimleri. Application Gateway yapılandırmasındaki Minimum ölçek birimleri ayarına göre sağlanan en düşük kapasite birimi sayısı. Bir örnek 10 kapasite birimine çevrilir.
- Saniye başına yeni bağlantılar. İstemcilerden Application Gateway'e ve Application Gateway'den arka uç üyelerine kurulan saniyede ortalama yeni TCP bağlantısı sayısı.
- Yanıt Durumu. Yanıt durumu kodu dağılımı, yanıtları 2xx, 3xx, 4xx ve 5xx kategorilerinde gösterecek şekilde daha fazla kategorilere ayırılabilir.
- Aktarım hızı. Bu ölçüm yalnızca Application Gateway tarafından sunulan İçerik boyutunu hesaplar. TLS üst bilgi anlaşmaları, TCP/IP paket üst bilgileri veya yeniden iletimler gibi veri aktarımlarını içermez.
- Toplam İstek sayısı. Application Gateway tarafından sunulan başarılı istekler. İstek sayısı, her bir/belirli arka uç havuzu-http ayarı bileşimine göre sayıyı gösterecek şekilde filtrelenebilir.
Application Gateway v2 SKU için arka uç ölçümleri
Application Gateway v2 SKU'su için aşağıdaki arka uç ölçümleri kullanılabilir. Aşağıda, önceki ölçümler tablosunda zaten listelenmiş olan arka uç ölçümlerinin genişletilmiş açıklamaları verilmiştir.
- Arka uç yanıt durumu. Application Gateway tarafından oluşturulan yanıt kodları dahil olmak üzere arka uçlar tarafından döndürülen HTTP yanıt durum kodlarının sayısı. Yanıt durumu kodu dağılımı, yanıtları 2xx, 3xx, 4xx ve 5xx kategorilerinde gösterecek şekilde kategorilere ayırılabilir.|
- İyi durumdaki konak sayısı. Sistem durumu yoklaması tarafından iyi durumda olarak belirlenen konak sayısı. Belirli bir arka uç havuzundaki iyi durumdaki konakların sayısını göstermek için arka uç havuzu başına temelinde filtreleyebilirsiniz.
- İyi durumda olmayan konak sayısı. Sistem durumu yoklaması tarafından iyi durumda olmayan olarak belirlenen konakların sayısı. Belirli bir arka uç havuzundaki iyi durumda olmayan konakların sayısını göstermek için arka uç havuzu başına temelinde filtreleyebilirsiniz.
- Sağlıklı Konak başına dakika başına istek sayısı. Bir arka uç havuzundaki her iyi durumdaki üye tarafından bir dakika içinde alınan ortalama istek sayısı. BackendPool HttpSettings boyutunu kullanarak arka uç havuzunu belirtin.
Application Gateway v1 SKU ölçümleri
Application Gateway v1 SKU'su için aşağıdaki ölçümler kullanılabilir. Aşağıda, önceki ölçümler tablosunda zaten listelenen ölçümlerin genişletilmiş açıklamaları verilmiştir.
CPU Kullanımı. Application Gateway’e ayrılan CPU’ların kullanımını görüntüler. Normal koşullarda CPU kullanımı düzenli olarak %90'ı aşmamalıdır, çünkü bu durum Application Gateway'in arkasında barındırılan web sitelerinde gecikmeye neden olabilir ve istemci deneyimini kesintiye uğratabilir. Örnek sayısını artırarak veya daha büyük bir SKU boyutuna geçerek ya da her ikisini de yaparak Application Gateway yapılandırmasını değiştirebilir ve CPU kullanımını dolaylı olarak denetleyebilir veya iyileştirebilirsiniz.
Geçerli bağlantılar. Application Gateway ile kurulan geçerli bağlantıların sayısı.
Başarısız İstekler. Bağlantı sorunları nedeniyle başarısız olan istek sayısı. Bu sayı, "İstek zaman aşımı" HTTP ayarının aşılması nedeniyle başarısız olan istekleri ve Application gateway ile arka uç arasındaki bağlantı sorunları nedeniyle başarısız olan istekleri içerir. Bu sayı, kullanılabilir iyi durumda bir arka uç olmadığından kaynaklanan hataları içermez. Arka uçtan gelen 4xx ve 5xx yanıtları da bu ölçümün bir parçası olarak kabul edilmez.
Yanıt Durumu. Application Gateway tarafından döndürülen HTTP yanıt durumu. Yanıt durumu kodu dağılımı, yanıtları 2xx, 3xx, 4xx ve 5xx kategorilerinde gösterecek şekilde daha fazla kategorilere ayırılabilir.
Aktarım hızı. Application Gateway tarafından sunulan saniyedeki bayt sayısı.
Toplam İstek sayısı. Application Gateway tarafından sunulan başarılı isteklerin sayısı. İstek sayısı, her/belirli arka uç havuzu-http ayarı bileşimine göre sayıyı gösterecek şekilde daha fazla filtrelenebilir.
Application Gateway v1 SKU için arka uç ölçümleri
Application Gateway v1 SKU'su için aşağıdaki arka uç ölçümleri kullanılabilir. Aşağıda, önceki ölçümler tablosunda zaten listelenmiş olan arka uç ölçümlerinin genişletilmiş açıklamaları verilmiştir.
İyi durumdaki konak sayısı. Sistem durumu yoklaması tarafından iyi durumda olarak belirlenen arka uçların sayısı. Belirli bir arka uç havuzundaki iyi durumdaki konakların sayısını göstermek için arka uç havuzu başına temelinde filtreleyebilirsiniz.
İyi durumda olmayan konak sayısı. Sistem durumu yoklaması tarafından iyi durumda olmayan olarak belirlenen arka uçların sayısı. Belirli bir arka uç havuzundaki iyi durumda olmayan konakların sayısını göstermek için arka uç havuzu başına temelinde filtreleyebilirsiniz.
Arka uç sistem durumu API'si
Uygulama ağ geçidinin arka uç durumunu almak için API çağrısının ayrıntıları için bkz . Application Gateways - Arka Uç Durumu .
Örnek İstek:
POST
https://management.azure.com/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Network/
applicationGateways/appgw/backendhealth?api-version=2021-08-01
Bu POST isteğini gönderdikten sonra bir HTTP 202 Kabul edildi yanıtı görmeniz gerekir. Yanıt üst bilgilerinde Konum üst bilgisini bulun ve bu URL'yi kullanarak yeni bir GET isteği gönderin.
GET
https://management.azure.com/subscriptions/subid/providers/Microsoft.Network/locations/region-name/operationResults/GUID?api-version=2021-08-01
TLS/TCP proxy ölçümleri
Application Gateway TLS/TCP proxy izlemeyi destekler. Application Gateway ile kullanılabilen katman 4 proxy özelliği sayesinde hem katman 7 hem de katman 4 için geçerli olan bazı Yaygın ölçümler vardır. Katman 4'e özgü bazı ölçümler vardır. Aşağıdaki listede ölçümlerin 4. katman kullanımı için geçerli olduğu özetlenir.
- Geçerli Bağlantılar
- Saniye başına yeni bağlantılar
- Aktarım hızı
- İyi durumda olan konak sayısı
- İyi durumda olmayan konak sayısı
- İstemci RTT
- Arka Uç Bağlantı Süresi
- Arka Uç İlk Bayt Yanıt Süresi.
BackendHttpSetting
boyut hem katman 7 hem de katman 4 arka uç ayarlarını içerir.
Daha fazla bilgi için önceki açıklamalar ve ölçümler tablosuna bakın.
Bu ölçümler yalnızca katman 4 için geçerlidir.
- Arka Uç Oturum Süresi. Arka uç bağlantısının toplam süresi. Yeni bir bağlantının başlangıcından sonlandırmasına kadar olan ortalama süre.
BackendHttpSetting
boyut hem katman 7 hem de katman 4 arka uç ayarlarını içerir. - Bağlantı Ömrü. Uygulama ağ geçidine istemci bağlantısının toplam süresi. Yeni bir bağlantının başlangıcından sonlandırmasına kadar olan ortalama süre milisaniye cinsinden.
TLS/TCP proxy arka uç durumu
Application Gateway'in katman 4 ara sunucusu, portal ve REST API aracılığıyla arka uç havuzlarının tek tek üyelerinin durumunu izleme olanağı sağlar.
Ölçüm boyutları
Ölçüm boyutlarının ne olduğu hakkında bilgi için bkz . Çok boyutlu ölçümler.
Bu hizmet, ölçümleriyle ilişkilendirilmiş aşağıdaki boyutlara sahiptir.
- Eylem
- Arka UçHttpSetting
- Arka Uç Havuzu
- BackendServer
- BackendSettingsPool
- Kategori
- CountryCode
- CustomRuleID
- HttpStatusGroup
- Dinleyici
- Metot
- Mod
- PolicyName
- PolicyScope
- RuleGroup
- RuleGroupID
- RuleId
- RuleSetName
- TlsProtocol
Not
Application Gateway'de birden fazla dinleyici varsa, daha anlamlı çıkarım elde etmek için farklı gecikme süresi ölçümlerini karşılaştırırken her zaman Dinleyici boyutuna göre filtreleyin.
Kaynak günlükleri
Bu bölümde, bu hizmet için toplayabileceğiniz kaynak günlükleri türleri listelenmiştir. bölümü, Azure İzleyici'de desteklenen tüm kaynak günlükleri kategori türleri listesinden çekilir.
Microsoft.Network/applicationGateways için desteklenen kaynak günlüğü kategorileri
Kategori | Kategori görünen adı | Günlük tablosu | Temel günlük planını destekler | Alım zamanı dönüşümlerini destekler | Örnek sorgular | Dışarı aktarma maliyetleri |
---|---|---|---|---|---|---|
ApplicationGatewayAccessLog |
Application Gateway Erişim Günlüğü | AGWAccessLogs Application Gateway erişim desenlerini görüntülemek ve önemli bilgileri analiz etmek için tüm günlüğü içerir. Bu, çağıranın IP'sini, istenen URL'yi, yanıt gecikme süresini, dönüş kodunu ve baytları içeri ve dışarı aktarmayı içerir. |
Yes | Hayır | Hayır | |
ApplicationGatewayFirewallLog |
Application Gateway Güvenlik Duvarı Günlüğü | AGWFirewallLogs Web uygulaması güvenlik duvarıyla yapılandırılmış bir uygulama ağ geçidinin algılama veya önleme modu aracılığıyla günlüğe kaydedilen istekleri görüntülemek için tüm günlükleri içerir. |
Yes | Hayır | Hayır | |
ApplicationGatewayPerformanceLog |
Application Gateway Performans Günlüğü | AGWPerformanceLogs Application Gateway örneklerinin performansını görüntülemek için tüm günlükleri içerir. Bu günlük sunulan toplam istek sayısı, bayt cinsinden aktarım hızı, sunulan toplam istek sayısı, başarısız istek sayısı ve iyi durumda ve iyi durumda olmayan arka uç örneği sayısı gibi her örnek için performans bilgilerini yakalar. Performans günlüğü yalnızca v1 SKU'su için kullanılabilir. |
Yes | Hayır | Hayır |
Erişim günlüğü. Application Gateway erişim desenlerini görüntülemek ve önemli bilgileri analiz etmek için Erişim günlüğünü kullanabilirsiniz. Bu bilgiler, çağıranın IP'sini, istenen URL'yi, yanıt gecikme süresini, dönüş kodunu ve gelen ve giden baytları içerir. Her 60 saniyede bir erişim günlüğü toplanır. Bu günlük Application Gateway örneği başına bir kayıt içerir. özelliği Application
instanceId
Gateway örneğini tanımlar.Güvenlik duvarı günlüğü. Web uygulaması güvenlik duvarıyla yapılandırılmış bir uygulama ağ geçidinin algılama veya önleme modu aracılığıyla günlüğe kaydedilen istekleri görüntülemek için Güvenlik Duvarı günlüğünü kullanabilirsiniz. Güvenlik duvarı günlükleri her 60 saniyede bir toplanır.
Performans günlüğü. Application Gateway örneklerinin performansını görüntülemek için Performans günlüğünü kullanabilirsiniz. Bu günlük sunulan toplam istek sayısı, bayt cinsinden aktarım hızı, sunulan toplam istek sayısı, başarısız istek sayısı ve iyi durumda ve iyi durumda olmayan arka uç örneği sayısı gibi her örnek için performans bilgilerini yakalar. Performans günlüğü her 60 saniyede bir toplanır.
Not
Performans günlüğü yalnızca v1 SKU'su için kullanılabilir. v2 SKU'su için performans verileri için Ölçümler'i kullanın.
Erişim günlüğü kategorisi
Erişim günlüğü yalnızca günlüğü etkinleştirme bölümünde açıklandığı gibi her Application Gateway örneğinde etkinleştirdiğinizde oluşturulur. Veriler, günlüğü etkinleştirdiğinizde belirttiğiniz depolama hesabında depolanır. Application Gateway'in her erişimi gösterildiği gibi JSON biçiminde günlüğe kaydedilir.
Application Gateway ve WAF v2 SKU için:
Value | Açıklama |
---|---|
instanceId | İstekte bulunan Application Gateway örneği. |
clientIP | Application Gateway'in anlık istemcisinin IP'sini. Uygulama ağ geçidinizi başka bir ara sunucu önlüyorsa, bu değer söz konusu ön proxy'nin IP'sini görüntüler. |
httpMethod | İstek tarafından kullanılan HTTP yöntemi. |
requestUri | Alınan isteğin URI'sini. |
UserAgent | HTTP isteği üst bilgisinden kullanıcı aracısı. |
httpStatus | Application Gateway'den istemciye döndürülen HTTP durum kodu. |
httpVersion | İsteğin HTTP sürümü. |
receivedBytes | Alınan paketin bayt cinsinden boyutu. |
sentBytes | Gönderilen paketin bayt cinsinden boyutu. |
clientResponseTime | İstemciye gönderilen ilk bayt ve son bayt uygulama ağ geçidi arasındaki zaman farkı (saniye cinsinden). Yanıtlar veya yavaş istemciler için Application Gateway'in işlem süresini belirlemede yararlı olur. |
timeTaken | İstemci isteğinin ilk baytının işlenmesi ve istemciye yanıt olarak son baytının gönderilmesi için geçen süre ( saniye cinsinden). Geçen Süre alanının genellikle istek ve yanıt paketlerinin ağ üzerinden seyahat etme zamanını içerdiğini unutmayın. |
WAFEvaluationTime | İsteğin WAF tarafından işlenmesi için gereken süre (saniye cinsinden). |
WAFMode | Değer Algılama veya Önleme olabilir. |
transactionId | İstemciden alınan isteği ilişkilendirmek için benzersiz tanımlayıcı. |
sslEnabled | Arka uç havuzlarıyla iletişimin TLS kullanıp kullanmadığı. Geçerli değerler açık ve kapalı. |
sslCipher | TLS iletişimi için kullanılan şifreleme paketi (TLS etkinse). |
sslProtocol | Kullanılan SSL/TLS protokolü (TLS etkinse). |
sslClientVerify | İstemci sertifikası doğrulamasının sonucunu BAŞARI VEYA BAŞARISIZ olarak gösterir. Başarısız durum hata bilgilerini içerir. |
sslClientCertificateFingerprint | Yerleşik bir TLS bağlantısı için istemci sertifikasının SHA1 parmak izi. |
sslClientCertificateIssuerName | Kurulan BIR TLS bağlantısı için istemci sertifikasının veren DN dizesi. |
serverRouted | Application Gateway'in isteği yönlendirdiğini arka uç sunucusu. |
serverStatus | Arka uç sunucusunun HTTP durum kodu. |
serverResponseLatency | Yanıtın arka uç sunucusundan gecikme süresi (saniye olarak). |
host | İsteğin ana bilgisayar üst bilgisinde listelenen adres. Üst bilgi yeniden yazma kullanılarak yeniden yazılırsa, bu alan güncelleştirilmiş ana bilgisayar adını içerir. |
originalRequestUriWithArgs | Bu alan özgün istek URL'sini içerir. |
requestUri | Bu alan, Application Gateway'de yeniden yazma işleminden sonraki URL'yi içerir. |
upstreamSourcePort | Arka uç hedefine bağlantı başlatırken Application Gateway tarafından kullanılan kaynak bağlantı noktası. |
originalHost | Bu alan özgün istek ana bilgisayar adını içerir. |
error_info | 4xx ve 5xx hatasının nedeni. Başarısız istek için bir hata kodu görüntüler. Bu makaledeki hata kodu tablolarındaki diğer ayrıntılar. |
contentType | Uygulama ağ geçidi tarafından işlenen veya teslim edilen içerik veya veri türü. |
{
"timeStamp": "2021-10-14T22:17:11+00:00",
"resourceId": "/SUBSCRIPTIONS/{subscriptionId}/RESOURCEGROUPS/{resourceGroupName}/PROVIDERS/MICROSOFT.NETWORK/APPLICATIONGATEWAYS/{applicationGatewayName}",
"listenerName": "HTTP-Listener",
"ruleName": "Storage-Static-Rule",
"backendPoolName": "StaticStorageAccount",
"backendSettingName": "StorageStatic-HTTPS-Setting",
"operationName": "ApplicationGatewayAccess",
"category": "ApplicationGatewayAccessLog",
"properties": {
"instanceId": "appgw_2",
"clientIP": "185.42.129.24",
"clientPort": 45057,
"httpMethod": "GET",
"originalRequestUriWithArgs": "\/",
"requestUri": "\/",
"requestQuery": "",
"userAgent": "Mozilla\/5.0 (Windows NT 6.1; WOW64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/52.0.2743.116 Safari\/537.36",
"httpStatus": 200,
"httpVersion": "HTTP\/1.1",
"receivedBytes": 184,
"sentBytes": 466,
"clientResponseTime": 0,
"timeTaken": 0.034,
"WAFEvaluationTime": "0.000",
"WAFMode": "Detection",
"transactionId": "592d1649f75a8d480a3c4dc6a975309d",
"sslEnabled": "on",
"sslCipher": "ECDHE-RSA-AES256-GCM-SHA384",
"sslProtocol": "TLSv1.2",
"sslClientVerify": "NONE",
"sslClientCertificateFingerprint": "",
"sslClientCertificateIssuerName": "",
"serverRouted": "52.239.221.65:443",
"serverStatus": "200",
"serverResponseLatency": "0.028",
"upstreamSourcePort": "21564",
"originalHost": "20.110.30.194",
"host": "20.110.30.194",
"error_info":"ERRORINFO_NO_ERROR",
"contentType":"application/json"
}
}
Not
İstemciIP değeri 127.0.0.1 olan erişim günlükleri, uygulama ağ geçidi örneklerinde çalışan bir iç güvenlik işleminden kaynaklanır. Bu günlük girdilerini güvenle yoksayabilirsiniz.
Application Gateway Standard ve WAF SKU (v1) için:
Value | Açıklama |
---|---|
instanceId | İstekte bulunan Application Gateway örneği. |
clientIP | İstek için kaynak IP. |
clientPort | İstek için kaynak bağlantı noktası. |
httpMethod | İstek tarafından kullanılan HTTP yöntemi. |
requestUri | Alınan isteğin URI'sini. |
RequestQuery | Sunucu Yönlendirmeli: İstek gönderilen arka uç havuzu örneği. X-AzureApplicationGateway-LOG-ID: İstek için kullanılan bağıntı kimliği. Arka uç sunucularında trafik sorunlarını gidermek için kullanılabilir. SUNUCU DURUMU: Application Gateway'in arka uçtan aldığı HTTP yanıt kodu. |
UserAgent | HTTP isteği üst bilgisinden kullanıcı aracısı. |
httpStatus | Application Gateway'den istemciye döndürülen HTTP durum kodu. |
httpVersion | İsteğin HTTP sürümü. |
receivedBytes | Alınan paketin bayt cinsinden boyutu. |
sentBytes | Gönderilen paketin bayt cinsinden boyutu. |
timeTaken | İsteğin işlenmesi ve yanıtının gönderilmesi için gereken süre (milisaniye cinsinden). Bu değer, Application Gateway'in http isteğinin ilk baytını aldığı zamandan yanıt gönderme işleminin sona erdiği zamana kadar olan zaman aralığı olarak hesaplanır. Geçen Süre alanının genellikle istek ve yanıt paketlerinin ağ üzerinden seyahat etme zamanını içerdiğini unutmayın. |
sslEnabled | Arka uç havuzlarıyla iletişimin TLS/SSL kullanıp kullanmadığı. Geçerli değerler açık ve kapalı. |
host | İsteğin arka uç sunucusuna gönderildiği ana bilgisayar adı. Arka uç ana bilgisayar adı geçersiz kılınıyorsa, bu ad bunu yansıtır. |
originalHost | İsteğin istemciden Application Gateway tarafından alındığı ana bilgisayar adı. |
{
"resourceId": "/SUBSCRIPTIONS/{subscriptionId}/RESOURCEGROUPS/PEERINGTEST/PROVIDERS/MICROSOFT.NETWORK/APPLICATIONGATEWAYS/{applicationGatewayName}",
"operationName": "ApplicationGatewayAccess",
"time": "2017-04-26T19:27:38Z",
"category": "ApplicationGatewayAccessLog",
"properties": {
"instanceId": "ApplicationGatewayRole_IN_0",
"clientIP": "203.0.113.97",
"clientPort": 46886,
"httpMethod": "GET",
"requestUri": "/phpmyadmin/scripts/setup.php",
"requestQuery": "X-AzureApplicationGateway-CACHE-HIT=0&SERVER-ROUTED=10.4.0.4&X-AzureApplicationGateway-LOG-ID=aaaa0000-bb11-2222-33cc-444444dddddd&SERVER-STATUS=404",
"userAgent": "-",
"httpStatus": 404,
"httpVersion": "HTTP/1.0",
"receivedBytes": 65,
"sentBytes": 553,
"timeTaken": 205,
"sslEnabled": "off",
"host": "www.contoso.com",
"originalHost": "www.contoso.com"
}
}
Uygulama ağ geçidi isteği tamamlayamazsa, aşağıdaki neden kodlarından birini erişim günlüğünün error_info alanında depolar.
5XX Hataları | Açıklama |
---|---|
ERRORINFO_UPSTREAM_NO_LIVE | Uygulama ağ geçidi, gelen istekleri işlemek için etkin veya erişilebilir arka uç sunucusu bulamıyor. |
ERRORINFO_UPSTREAM_CLOSED_CONNECTION | Arka uç sunucusu beklenmedik bir şekilde veya istek tam olarak işlenmeden önce bağlantıyı kapattı. Bu durum arka uç sunucusunun sınırlarına ulaşması, kilitlenmesi vb. nedeniyle oluşabilir. |
ERRORINFO_UPSTREAM_TIMED_OUT | Sunucuyla kurulan TCP bağlantısı, bağlantı yapılandırılan zaman aşımı değerinden uzun sürdüğünden kapatıldı. |
Güvenlik duvarı günlük kategorisi
Güvenlik duvarı günlüğü, günlüğü etkinleştirme bölümünde açıklandığı gibi yalnızca her uygulama ağ geçidi için etkinleştirdiğinizde oluşturulur. Bu günlük, web uygulaması güvenlik duvarının bir uygulama ağ geçidinde yapılandırılmasını da gerektirir. Veriler, günlüğü etkinleştirdiğinizde belirttiğiniz depolama hesabında depolanır. Aşağıdaki veriler günlüğe kaydedilir:
Value | Açıklama |
---|---|
instanceId | Güvenlik duvarı verilerinin oluşturulduğu Application Gateway örneği. Birden çok örnekli bir uygulama ağ geçidi için örnek başına bir satır vardır. |
clientIp | İstek için kaynak IP. |
clientPort | İstek için kaynak bağlantı noktası. |
requestUri | Alınan isteğin URL'si. |
ruleSetType | Kural kümesi türü. Kullanılabilir değer OWASP'dir. |
ruleSetVersion | Kullanılan kural kümesi sürümü. Kullanılabilir değerler 2.2.9 ve 3.0'dır. |
ruleId | Tetikleyen olayın kural kimliği. |
ileti | Tetikleme olayı için kullanıcı dostu ileti. Ayrıntılar bölümünde daha fazla ayrıntı sağlanır. |
eylem | İstekte gerçekleştirilen eylem. Kullanılabilir değerler Engellendi ve İzin Verildi (özel kurallar için), Eşleştirildi (kural isteğin bir bölümüyle eşleştiğinde) ve Algılandı ve Engellendi (WAF'nin algılama veya önleme modunda olmasına bağlı olarak, bu değerlerin her ikisi de zorunlu kurallar içindir). |
site | Günlüğün oluşturulduğu site. Şu anda kurallar genel olduğundan yalnızca Genel listelenmiştir. |
ayrıntılar | Tetikleme olayının ayrıntıları. |
details.message | Kuralın açıklaması. |
details.data | İstekte kuralla eşleşen belirli veriler bulundu. |
details.file | Kuralı içeren yapılandırma dosyası. |
details.line | Olayı tetikleyen yapılandırma dosyasındaki satır numarası. |
Ana bilgisayar adı | Application Gateway'in ana bilgisayar adı veya IP adresi. |
transactionId | Belirli bir işlemin benzersiz kimliği, aynı istekte oluşan birden çok kural ihlalini gruplandırmanıza yardımcı olur. |
{
"timeStamp": "2021-10-14T22:17:11+00:00",
"resourceId": "/SUBSCRIPTIONS/{subscriptionId}/RESOURCEGROUPS/{resourceGroupName}/PROVIDERS/MICROSOFT.NETWORK/APPLICATIONGATEWAYS/{applicationGatewayName}",
"operationName": "ApplicationGatewayFirewall",
"category": "ApplicationGatewayFirewallLog",
"properties": {
"instanceId": "appgw_2",
"clientIp": "185.42.129.24",
"clientPort": "",
"requestUri": "\/",
"ruleSetType": "OWASP_CRS",
"ruleSetVersion": "3.0.0",
"ruleId": "920350",
"message": "Host header is a numeric IP address",
"action": "Matched",
"site": "Global",
"details": {
"message": "Warning. Pattern match \\\"^[\\\\d.:]+$\\\" at REQUEST_HEADERS:Host .... ",
"data": "20.110.30.194:80",
"file": "rules\/REQUEST-920-PROTOCOL-ENFORCEMENT.conf",
"line": "791"
},
"hostname": "20.110.30.194:80",
"transactionId": "592d1649f75a8d480a3c4dc6a975309d",
"policyId": "default",
"policyScope": "Global",
"policyScopeName": "Global"
}
}
Performans günlüğü kategorisi
Performans günlüğü yalnızca günlüğü etkinleştirme bölümünde açıklandığı gibi her Application Gateway örneğinde etkinleştirdiğinizde oluşturulur. Veriler, günlüğü etkinleştirdiğinizde belirttiğiniz depolama hesabında depolanır. Performans günlüğü verileri 1 dakikalık aralıklarla oluşturulur. Yalnızca v1 SKU'su için kullanılabilir. v2 SKU'su için performans verileri için Ölçümler'i kullanın. Aşağıdaki veriler günlüğe kaydedilir:
Value | Açıklama |
---|---|
instanceId | Performans verilerinin oluşturulduğu Application Gateway örneği. Birden çok örnekli bir uygulama ağ geçidi için örnek başına bir satır vardır. |
healthyHostCount | Arka uç havuzundaki iyi durumdaki konakların sayısı. |
unHealthyHostCount | Arka uç havuzundaki iyi durumda olmayan konakların sayısı. |
requestCount | Sunulan istek sayısı. |
gecikme süresi | İsteklere hizmet eden örnekten arka uca yönelik isteklerin ortalama gecikme süresi (milisaniye cinsinden). |
failedRequestCount | Başarısız istek sayısı. |
aktarım hızı | Saniye başına bayt cinsinden ölçülen son günlükten bu yana ortalama aktarım hızı. |
{
"resourceId": "/SUBSCRIPTIONS/{subscriptionId}/RESOURCEGROUPS/{resourceGroupName}/PROVIDERS/MICROSOFT.NETWORK/APPLICATIONGATEWAYS/{applicationGatewayName}",
"operationName": "ApplicationGatewayPerformance",
"time": "2016-04-09T00:00:00Z",
"category": "ApplicationGatewayPerformanceLog",
"properties":
{
"instanceId":"ApplicationGatewayRole_IN_1",
"healthyHostCount":"4",
"unHealthyHostCount":"0",
"requestCount":"185",
"latency":"0",
"failedRequestCount":"0",
"throughput":"119427"
}
}
Not
Gecikme süresi, HTTP isteğinin ilk baytının alındığı zamandan HTTP yanıtının son baytının gönderildiği zamana kadar hesaplanır. Application Gateway işlem süresinin yanı sıra arka uç için ağ maliyetinin yanı sıra arka ucun isteği işlemesi için gereken sürenin toplamıdır.
Azure İzleyici Günlükleri ve Log Analytics Tabloları
Azure Uygulaması lication Gateway, kaynak günlüğü bilgilerini depolamak için Azure Tanılama tablosunu kullanır. Aşağıdaki sütunlar uygun.
Özellik | Açıklama |
---|---|
requestUri_s | İstemci isteğinin URI'sini. |
İleti | "SQL Ekleme Saldırısı" gibi bilgilendirme iletileri |
userAgent_s | İstemci isteğinin kullanıcı aracısı ayrıntıları |
ruleName_s | Bu isteği sunmak için kullanılan istek yönlendirme kuralı |
httpMethod_s | İstemci isteğinin HTTP yöntemi |
instanceId_s | değerlendirme için istemci isteğinin yönlendirildiği Appgw örneği |
httpVersion_s | İstemci isteğinin HTTP sürümü |
clientIP_s | İstekte bulunulan IP |
host_s | İstemci isteğinin ana bilgisayar üst bilgisi |
requestQuery_s | İstemci isteğinin bir parçası olarak sorgu dizesi |
sslEnabled_s | İstemci isteğinde SSL etkin mi? |
Azure İzleyici Günlükleri tabloları
Bu bölümde, Kusto sorguları kullanılarak Log Analytics tarafından sorgulanabilen bu hizmetle ilgili Azure İzleyici Günlükleri tabloları listelenmektedir. Tablolar, toplanan ve bunlara yönlendirilenlere bağlı olarak kaynak günlüğü verilerini ve büyük olasılıkla daha fazlasını içerir.
Application Gateway Microsoft.Network/applicationGateways
TLS/TCP proxy günlükleri
Application Gateway'in Katman 4 ara sunucusu, erişim günlükleri aracılığıyla günlük verileri sağlar. Bu günlükler yalnızca ağ geçidinizin tanılama ayarlarında yapılandırılmışsa oluşturulur ve yayımlanır. Ayrıca bkz. Azure İzleyici kaynak günlükleri için desteklenen kategoriler.
Not
TLS dinleyicisi için Karşılıklı Kimlik Doğrulaması ayrıntılarını içeren sütunlar şu anda yalnızca AzureDiagnostics tablosu aracılığıyla kullanılabilir.
Kategori | Kaynak günlüğü kategorisi |
---|---|
ResourceGroup | Uygulama ağ geçidi kaynağının ait olduğu kaynak grubu. |
SubscriptionId | Uygulama ağ geçidi kaynağının abonelik kimliği. |
ResourceProvider | Bu değer MICROSOFT'tır. Uygulama ağ geçidi için NETWORK. |
Kaynak | Uygulama ağ geçidi kaynağının adı. |
ResourceType | Bu değer APPLICATIONGATEWAYS değeridir. |
ruleName | Bağlantı isteğine hizmet veren yönlendirme kuralının adı. |
instanceId | İstekte bulunan Application Gateway örneği. |
clientIP | İstek için kaynak IP. |
receivedBytes | İstemciden ağ geçidine bayt cinsinden alınan veriler. |
sentBytes | Ağ geçidinden istemciye bayt cinsinden gönderilen veriler. |
listenerName | İstemciyle ön uç bağlantısını kuran dinleyicinin adı. |
backendSettingName | Arka uç bağlantısı için kullanılan arka uç ayarının adı. |
backendPoolName | Arka uç bağlantısını kurmak için hedef sunucunun seçildiği arka uç havuzunun adı. |
protokol | TCP (TCP veya TLS olmasına bakılmadan protokol değeri her zaman TCP'dir). |
sessionTime | Saniye cinsinden oturum süresi (bu değer client-appgw> oturumu içindir). |
upstreamSentBytes | Arka uç sunucusuna bayt cinsinden gönderilen veriler. |
upstreamReceivedBytes | Arka uç sunucusundan bayt cinsinden alınan veriler. |
upstreamSessionTime | Saniye cinsinden oturum süresi (bu değer appgw-backend> oturumu içindir). |
sslCipher | TLS iletişimi için kullanılan şifreleme paketi (TLS protokol dinleyicileri için). |
sslProtocol | Kullanılan SSL/TLS protokolü (TLS protokol dinleyicileri için). |
serverRouted | Trafiğin yönlendirildiği arka uç sunucu IP'si ve bağlantı noktası numarası. |
serverStatus | 200 - oturum başarıyla tamamlandı. 400 - istemci verileri ayrıştırılamıyor. 500 - iç sunucu hatası. 502 - hatalı ağ geçidi. Örneğin, bir yukarı akış sunucusuna ulaşılamayınca. 503 - hizmet kullanılamıyor. Örneğin, erişim bağlantı sayısıyla sınırlıysa. |
ResourceId | Application Gateway kaynak URI'si. |
Etkinlik günlüğü
Bağlı tablo, bu hizmetin etkinlik günlüğüne kaydedilebilecek işlemleri listeler. Bu işlemler, etkinlik günlüğündeki tüm olası kaynak sağlayıcısı işlemlerinin bir alt kümesidir.
Etkinlik günlüğü girdilerinin şeması hakkında daha fazla bilgi için bkz . Etkinlik Günlüğü şeması.
Azure aboneliğinize gönderilen tüm işlemleri ve bunların durumunu görüntülemek için Azure etkinlik günlüklerini kullanabilirsiniz. Etkinlik günlüğü girişleri varsayılan olarak toplanır. Bunları Azure portalında görüntüleyebilirsiniz. Azure etkinlik günlükleri eskiden işletimsel günlükler ve denetim günlükleri olarak biliniyordu.
Azure varsayılan olarak etkinlik günlükleri oluşturur. Günlükler Azure olay günlükleri deposunda 90 gün boyunca korunur. Olayları ve etkinlik günlüğünü görüntüleme makalesini okuyarak bu günlükler hakkında daha fazla bilgi edinin.
İlgili içerik
- Application Gateway'i izlemenin açıklaması için bkz. Azure Uygulaması lication Gateway'i izleme.
- Azure kaynaklarını izleme hakkında ayrıntılı bilgi için bkz . Azure İzleyici ile Azure kaynaklarını izleme.