Azure İzleyici, etkinlik günlüğü özelliği aracılığıyla Azure kaynaklarınız için yönetim işlemlerini kaydeder. Etkinlik günlüğü, sanal makine oluşturma, anahtar kasası erişim ilkesini değiştirme veya Resource Manager dağıtım hataları gibi işlemleri kaydeder. Bu yönetim işlemlerine denetim düzlemi işlemleri de denir. Bu bilgileri gözden geçirmek veya denetlemek için etkinlik günlüğünü kullanın ya da bir olay oluştuğunda proaktif olarak bilgilendirilecek bir uyarı oluşturun.
Etkinlik günlüğünün aksine Azure kaynak günlükleri bir kaynak içinde gerçekleştirilen data plane işlemlerini yakalar. Örneğin, bu işlemler bir anahtar kasasından gizli dizi almayı veya veritabanına istekte bulunmayı içerir. Kaynak günlükleri varsayılan olarak toplanmaz ve bir tanılama ayarıyla yapılandırma gerektirir.
Etkinlik günlüğü girişleri
Azure İzleyici, etkinlik günlüğü girdilerini varsayılan olarak gerekli yapılandırma olmadan toplar. Sistem bu girdileri oluşturur ve değiştiremez veya silemezsiniz. Girişler genellikle değişikliklerden (oluşturma, güncelleştirme ve silme işlemleri) veya başlatılan bir eylemden kaynaklanır. Etkinlik günlüğü genellikle okuma işlemlerini yakalamaz.
Etkinlik günlüğü girişleri genellikle olayın gerçekleştiği 3-20 dakika içinde analiz ve uyarı için kullanılabilir. Etkinlik günlüğü kategorilerinin açıklaması için bkz. Azure etkinlik günlüğü olay şeması.
Bekletme süresi
Azure etkinlik günlüğü olaylarını 90 gün boyunca tutar ve ardından siler. Hacimden bağımsız olarak, bu süre boyunca girişler için ücret alınmaz. Daha uzun saklama gibi daha fazla işlevsellik için bir tanılama ayarı oluşturun ve girdileri gereksinimlerinize göre başka bir konumda toplayın . Bekletme süresini uzatmanın en yaygın nedenlerinden biri, yalnızca etkinlik günlüğünde bulunan kaynak oluşturucu bilgilerini korumaktır.
Etkinlik günlüğünü görüntüleme ve alma
Abonelik, kaynak grubu veya tek bir kaynak için etkinlik günlüğü olaylarını görüntüleyin. Azure portalını kullanın veya Activity Log REST API kullanarak bunları program aracılığıyla sorgular.
Azure portalı, çoğu hizmet menüsünden Etkinlik günlüğü panelini sağlar. Bu alanların her biri REST ile veya belirli Azure CLI ve Azure PowerShell komutları aracılığıyla programlı erişimi de destekler.
Alınacak olayların zaman aralığını belirtin. REST API kullanarak olayları almak için parametresini $filter en az bir eventTimestamp başlangıç değeriyle birlikte eklemeniz gerekir. Varsayılan olarak, etkinlik günlüğü olayları 90 gün boyunca saklar. Zaman aralığınızın hem başlangıç hem de bitişinin bu 90 günlük süre içinde olduğundan emin olun.
Etkinlik günlüğü erişim senaryoları
Aşağıdaki bölümlerde, Azure portalı üzerinden, Azure CLI ve Azure PowerShell kullanarak veya REST çağrılarıyla etkinlik günlüğü olaylarına erişmek ve olay almak için farklı yollar gösteren yaygın senaryolar sunulur:
Azure portal örnekleri, bu görünümde ne tür olaylar bekleyebileceğinize dair ek bağlam sağlar.
Azure CLI örnekleri, az monitor activity-log list komutu aracılığıyla kullanılabilen belirli komutları vurgular.
Azure PowerShell örnekleri, Get-AzActivityLog komutu aracılığıyla kullanılabilen belirli cmdlet'leri vurgular.
REST API örnekleri, Etkinlik Günlüğü REST API'siyle gerekli $filter parametreyi kullanarak olayların nasıl alınacağını gösterir.
Bir kaynak grubu için etkinlik günlüğü olaylarını listeleme örneği, Prefer üst bilgisini kullanarak istemciniz için zaman aşımının, etkinlik günlüğü REST API'sinin 75 saniye olan maksimum zaman aşımı süresiyle eşleşecek şekilde açıkça nasıl ayarlanacağını da gösterir.
Desteklenen $filter desenler |
Ayrıntılar |
| zaman aralığına sahip varsayılan abonelik |
$filter=eventTimestamp ge '{startTime}' and eventTimestamp le '{endTime}' |
| kaynak grubu |
$filter=eventTimestamp ge '{startTime}' and eventTimestamp le '{endTime}' and resourceGroupName eq '{resourceGroupName}' |
| belirli bir kaynak |
$filter=eventTimestamp ge '{startTime}' and eventTimestamp le '{endTime}' and resourceUri eq '{resourceURI}' |
| kaynak sağlayıcısı |
$filter=eventTimestamp ge '{startTime}' and eventTimestamp le '{endTime}' and resourceProvider eq '{resourceProviderName}' |
| eşleştirme kimliği |
$filter=eventTimestamp ge '{startTime}' and eventTimestamp le '{endTime}' and correlationId eq '{correlationID}' |
Abonelik için etkinlik günlüğü olaylarını listeleme
Abonelik düzeyi olayları, doğrudan kaynak sağlayıcıları tarafından oluşturulan olayları yakalar ve etkinlik günlüğü olaylarını listelemek için varsayılan kapsamdır. Kiracı düzeyi ve yönetim grubu düzeyindeki olaylar yalnızca bu hiyerarşilerdeki Azure Resource Manager olaylarını yakalar. Bu üst düzey kapsamlar, Azure Resource Manager işlemleri dışındaki kaynak sağlayıcıları tarafından doğrudan oluşturulan olayları içermez.
Aşağıdaki örnek belirli bir zaman aralığında bir abonelik için etkinlik günlüğü olaylarını alır.
Etkinlik günlüğünü açtığınız menü ilk filtresini belirler.
İzleyici menüsünden açarsanız, varsayılan olarak seçilen tek filtre aboneliktir. Bu, Abonelikler> aboneliği seçtikten sonra >Etkinlik Günlüğü'nü açmakla aynıdır.
az monitor activity-log list Azure CLI komutunu kullanarak belirtilen zaman aralığındaki bir aboneliğin etkinlik günlüğü olaylarını alın. Varsayılan olarak, bu komut şu anda Azure CLI bağlamında ayarlanmış olan abonelik için olayları alır. Bir aboneliği açıkça belirtmek için aşağıdaki örneklerde gösterildiği gibi parametresini kullanın --subscription .
Açık zaman aralığı:
Azure CLI, --start-time ve --end-time kullanarak REST ile aynı tür açık zaman aralığını destekler:
subscriptionId="aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e"
startTime="2026-04-01T00:00:00Z"
endTime="2026-04-14T23:59:59Z"
az monitor activity-log list \
--subscription "$subscriptionId" \
--start-time "$startTime" \
--end-time "$endTime"
Göreli zaman aralığı:
Azure CLI, --offset kullanarak göreli zaman aralıklarını da destekler. Örneğin, --offset 14d son 14 güne ait olayları döndürür:
subscriptionId="aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e"
offset="14d"
az monitor activity-log list \
--subscription "$subscriptionId" \
--offset "$offset"
Uyarı
Azure CLI komutlar geçerli CLI bağlamından Azure Resource Manager uç noktasını kullandığından, komut söz diziminde management.azure.com belirtilmesi gerekmez.
Azure PowerShell belirtilen zaman aralığındaki bir aboneliğin etkinlik günlüğü olaylarını almak için Get-AzActivityLog cmdlet'ini sağlar.
Açık zaman aralığı:
Azure PowerShell REST'e benzer şekilde StartTime ve EndTime kullanarak tam bir zaman aralığı belirtmeyi destekler:
$subscriptionId = "aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e"
$startTime = [datetime]"2026-04-01T00:00:00Z"
$endTime = [datetime]"2026-04-14T23:59:59Z"
Set-AzContext -Subscription $subscriptionId
$getAzActivityLogParams = @{
StartTime = $startTime
EndTime = $endTime
}
Get-AzActivityLog @getAzActivityLogParams
Göreli zaman aralığı:
Azure PowerShell, Get-Date ve StartTime için EndTime ifadelerini kullanarak göreli zaman aralığını sorgulamayı da destekler. Aşağıdaki örnek, komutun çalıştırıldığında biten son 14 güne ait olayları döndürür:
$subscriptionId = "aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e"
$lookbackDays = 14
Set-AzContext -Subscription $subscriptionId
$getAzActivityLogParams = @{
StartTime = (Get-Date).AddDays(-$lookbackDays)
EndTime = Get-Date
}
Get-AzActivityLog @getAzActivityLogParams
Uyarı
Azure PowerShell cmdlet'leri geçerli Az bağlamındaki Azure Resource Manager uç noktasını kullandığından, cmdlet söz diziminde management.azure.com belirtilmesi gerekmez.
Etkinlik günlüğü olaylarını listelemek için Etkinlik GET yönelik bu isteği kullanın.
GET https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.Insights/eventtypes/management/values?api-version={apiVersion}&$filter=eventTimestamp ge '{startTime}' and eventTimestamp le '{endTime}'
Kaynak grubu için etkinlik günlüğü olaylarını listeleme
Belirli bir kaynak grubuna özgü Azure İzleyici etkinlik günlüğü sonuçlarını sınırlandırmak için resourceGroupName öğesini $filter ile ekleyin.
Etkinlik günlüğünü açtığınız menü ilk filtresini belirler. Kaynağın menüsünden açarsanız, filtre bu kaynağa ayarlanır. Filtreye başka özellikler eklemek için Filtre ekle'yi seçin. Portalda filtreleyebileceğiniz diğer özellikler şunlardır:
-
Resource - Veritabanı veya sanal makine gibi Azure çözümünüzün parçası olan öğeler.
-
Kaynak türü : Sanal makineler, web uygulamaları veya veritabanları gibi bir kaynağın ait olduğu kategori.
-
Operation - Oluşturma, silme ve yazma gibi Azure Resource Manager kaynakları etkileyen bir eylem veya komut.
-
Tarafından başlatılan olay – Olayları olayı başlatan kimliğe göre filtreleyin.
-
Olay kategorisi – Belirli işlemler için olay türlerini filtreleyin.
Uyarı
REST üst bilgisi Prefer: wait=75, bu işlemin Azure CLI komutunda doğrudan eşdeğeri yoktur. Bu komut sorguyu doğrudan verir ve eşleşen Etkinlik Günlüğü kayıtlarını döndürür.
Bir kaynak grubu kapsamındaki etkinlik günlüğü olaylarını almak için az monitor activity-log list komutunu kullanın. Belirli Azure CLI komutları eşdeğer REST API çağrısının karmaşıklığını azaltır.
subscriptionId="aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e"
resourceGroupName="myResourceGroup"
offset="30d"
az monitor activity-log list \
--subscription "$subscriptionId" \
--resource-group "$resourceGroupName" \
--offset "$offset"
Uyarı
Azure CLI komutlar geçerli CLI bağlamından Azure Resource Manager uç noktasını kullandığından, komut söz diziminde management.azure.com belirtilmesi gerekmez.
Uyarı
REST üst bilgisi Prefer: wait=75, bu işlemin Azure PowerShell cmdlet'inde doğrudan eşdeğeri yoktur. Bu komut sorguyu doğrudan verir ve eşleşen Etkinlik Günlüğü kayıtlarını döndürür.
Azure PowerShell göreli bir zaman aralığında kaynak grubu kapsamındaki etkinlik günlüğü olaylarını almak için Get-AzActivityLog cmdlet'ini sağlar.
$subscriptionId = "aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e"
$resourceGroupName = "myResourceGroup"
$lookbackDays = 30
Set-AzContext -Subscription $subscriptionId
$getAzActivityLogParams = @{
ResourceGroupName = $resourceGroupName
StartTime = (Get-Date).AddDays(-$lookbackDays)
EndTime = Get-Date
}
Get-AzActivityLog @getAzActivityLogParams
Uyarı
Azure PowerShell cmdlet'leri geçerli Az bağlamındaki Azure Resource Manager uç noktasını kullandığından, cmdlet söz diziminde management.azure.com belirtilmesi gerekmez.
Azure Resource Manager REST API'sini kullanarak bir kaynak grubu kapsamındaki etkinlik günlüğü olaylarını listelemek için, hem zaman aralığını hem de GET özelliğini içeren bir $filter ile resourceGroupName isteği kullanın. İsteğe bağlı olarak, istek için belirli bir zaman aşımı belirtmek için Prefer üst bilgisini ekleyin (en fazla 75 saniye bekleme süresi).
GET https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.Insights/eventtypes/management/values?api-version={apiVersion}&$filter=eventTimestamp ge '{startTime}' and eventTimestamp le '{endTime}' and resourceGroupName eq '{resourceGroupName}'
Prefer: wait=75
Belirli etkinlik günlüğü özelliklerini döndürme
Yalnızca belirtilen özellikleri döndürerek yanıt yükü boyutunu azaltan bir parametre kullanın. Daha fazla bilgi için bkz . Etkinlik günlüğü şeması özellik açıklamaları.
Azure portalı, etkinlik günlüğü olaylarından döndürülen özellikleri doğrudan sınırlamak için bir yol sağlamaz. Görüntülenen veri miktarını azaltmak için Etkinlik günlüğü dikey penceresindeki Sütunları düzenle seçeneğini kullanarak portal görünümünde hangi sütunların görüntüleneceğini seçin.
Hangi özelliklerin etkinlik günlüğü olaylarından döndürüleceğini belirtmek için az monitor activity-log list komutunu --select kullanın.
--max-events Döndürülen kayıt sayısını sınırlamak için parametresini az monitor activity-log list kullanın.
subscriptionId="aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e"
offset="30d"
maxEvents=100
selectFields=(
eventName
operationName
status
eventTimestamp
correlationId
submissionTimestamp
level
)
az monitor activity-log list \
--subscription "$subscriptionId" \
--offset "$offset" \
--max-events "$maxEvents" \
--select "${selectFields[@]}"
Get-AzActivityLog sonuçlarını Select-Object'a ekleyerek ve döndürülmesini istediğiniz özellikleri belirterek Azure PowerShell etkinlik günlüğü olaylarından döndürülen özellikleri sınırlayın. Bu, YALNıZCA PowerShell'in görüntülediği çıktıdaki özellikleri filtrelediğinden Select-Object API yanıt boyutunu azaltmaz.
-MaxRecord Döndürülen kayıt sayısını sınırlamak için parametresini Get-AzActivityLog kullanın.
$subscriptionId = "aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e"
$lookbackDays = 30
$maxRecord = 100
$selectProperties = @(
"EventName"
"OperationName"
"Status"
"EventTimestamp"
"CorrelationId"
"SubmissionTimestamp"
"Level"
)
Set-AzContext -Subscription $subscriptionId
$activityLogParams = @{
StartTime = (Get-Date).AddDays(-$lookbackDays)
EndTime = Get-Date
MaxRecord = $maxRecord
}
Get-AzActivityLog @activityLogParams |
Select-Object -Property $selectProperties
yalnızca Azure Resource Manager REST API kullanılarak döndürülen belirli özelliklere sahip etkinlik günlüğü olaylarını listelemek için, $select isteğine, döndürülmesini istediğiniz özelliklerin virgülle ayrılmış listesiyle GET sorgu parametresini ekleyin.
GET https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.Insights/eventtypes/management/values?api-version={apiVersion}&$filter=eventTimestamp ge '{startTime}' and eventTimestamp le '{endTime}'&$select=eventName,operationName,status,eventTimestamp,correlationId,submissionTimestamp,level
Kiracı düzeyinde etkinlik günlüğü olaylarını listeleme
Kiracı düzeyinde etkinlik günlüğü olayları genellikle sınırlı girişlere sahiptir, ancak yönetim grubu veya abonelik oluşturma gibi önemli olayları içerebilir. Bu olaylar abonelik düzeyi etkinlik günlüğü olaylarından ayrıdır, ancak yinelenen kaynak yönetimi olayları içerebilir.
Bu kapsamda sorgulama, abonelik düzeyi etkinlik günlüğü olayları API'sinden farklı bir REST API kullanır. Azure CLI ve Azure PowerShell ayrılmış komutlar sağlamaz.
Azure portalında Monitor>Activity log gidin.
Etkinlik açılan menüsünü değiştirin ve Dizin Etkinliği'ni seçin.
Kiracı düzeyinde etkinlik günlüğü olayları için ayrılmış Azure CLI komutu kullanılamaz. Aşağıdaki örnek az rest kullanarak REST API'yi doğrudan çağırır:
apiVersion="2015-04-01"
startTime="2026-04-01T00:00:00Z"
endTime="2026-04-30T23:59:59Z"
providers="Microsoft.Insights/eventtypes/management/values"
resourceId="/providers/$providers"
filter="eventTimestamp ge '$startTime' and eventTimestamp le '$endTime'"
az rest \
--method get \
--uri "$resourceId?api-version=$apiVersion&\$filter=$filter"
Kiracı düzeyli etkinlik günlüğü olayları için özel bir PowerShell cmdlet'i mevcut değildir. Aşağıdaki örnek, Invoke-AzRestMethod kullanarak REST API’sini doğrudan çağırır:
$apiVersion = "2015-04-01"
$startTime = "2026-04-01T00:00:00Z"
$endTime = "2026-04-30T23:59:59Z"
$providers = "Microsoft.Insights/eventtypes/management/values"
$resourceId = "/providers/$providers"
$filter = "eventTimestamp ge '$startTime' and eventTimestamp le '$endTime'"
$invokeAzRestMethodParams = @{
Path = "$resourceId?api-version=$apiVersion&`$filter=$filter"
Method = "GET"
}
Invoke-AzRestMethod @invokeAzRestMethodParams
Kiracı düzeyinde etkinlik günlüğü olaylarını listelemek için bu GET isteği kullanın. Bu isteğin abonelik düzeyi etkinlik günlüğü API'sinden farklı olan kiracı düzeyinde etkinlik günlüğü uç noktasını hedeflediğini unutmayın.
GET https://management.azure.com/providers/Microsoft.Insights/eventtypes/management/values?api-version={apiVersion}&$filter=eventTimestamp ge '{starTime}' and eventTimestamp le '{endTime}'
Yönetim grubu düzeyinde etkinlik günlüğü olaylarını listeleme
Yönetim grubu düzeyinde etkinlik günlüğü olayları, ilke atamaları ve yönetim grubu üyeliği değişiklikleri gibi belirli bir yönetim grubu kapsamındaki olayları yakalar.
Uyarı
- Aşağıdaki örneklerde, yönetim grubu düzeyinde etkinlik günlüğü sorguları için gereken API sürümü kullanılır
2017-03-01-preview .
Azure portalında yönetim grubu düzeyinde etkinlik günlüğü olaylarını görüntülemek için Management groups>>Activity log yönetim grubu seçin.
Yönetim grubu düzeyinde etkinlik günlüğü olaylarını listelemek için az rest Azure CLI komutunu kullanın. Bu komut, belirtilen yönetim grubu kapsamındaki etkinlik günlüğü olaylarını almak için doğrudan Azure Resource Manager REST API'sini çağırır.
apiVersion="2017-03-01-preview"
managementGroupId="myManagementGroup"
startTime="2026-04-01T00:00:00Z"
endTime="2026-04-30T23:59:59Z"
providers="Microsoft.Insights/eventtypes/management/values"
resourceId="/providers/Microsoft.Management/managementGroups/$managementGroupId/providers/$providers"
filter="eventTimestamp ge '$startTime' and eventTimestamp le '$endTime'"
az rest \
--method get \
--url "$resourceId?api-version=$apiVersion&\$filter=$filter"
Yönetim grubu düzeyinde etkinlik günlüğü olayları için ayrılmış bir PowerShell cmdlet'i kullanılamaz. Aşağıdaki örnek, Invoke-AzRestMethod kullanarak ile REST API'yi doğrudan çağırır.
$apiVersion = "2017-03-01-preview"
$managementGroupId = "myManagementGroup"
$startTime = "2026-04-01T00:00:00Z"
$endTime = "2026-04-30T23:59:59Z"
$providers = "Microsoft.Insights/eventtypes/management/values"
$resourceId = "/providers/Microsoft.Management/managementGroups/$managementGroupId/providers/$providers"
$filter = "eventTimestamp ge '$startTime' and eventTimestamp le '$endTime'"
$invokeAzRestMethodParams = @{
Method = "GET"
Path = "$resourceId?api-version=$apiVersion&`$filter=$filter"
}
Invoke-AzRestMethod @invokeAzRestMethodParams
Yönetim grubu düzeyinde etkinlik günlüğü olaylarını listelemek için bu GET isteğini Azure Resource Manager REST API'sine karşı kullanın. Yönetim grubunun sorgulamak istediğiniz kimliğini {managementGroupId} ile değiştirin ve sorgu parametresinde $filter zaman aralığını belirtin.
GET https://management.azure.com/providers/Microsoft.Management/managementGroups/{managementGroupId}/providers/Microsoft.Insights/eventtypes/management/values?api-version={apiVersion}&$filter=eventTimestamp ge '{startTime}' and eventTimestamp le '{endTime}'
Aşağıdaki tabloda, önceki örneklerde kullanılan parametreler açıklanmaktadır.
| Variable |
Örnek değer |
Purpose |
| host |
management.azure.com |
Örtülü ARM uç noktası |
| subscriptionId |
aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e |
Kullanıcı girişi |
| resourceGroupName |
myResourceGroup |
Kullanıcı girişi |
| yönetimGrubuKimliği |
myManagementGroup |
Kullanıcı girişi |
| apiVersion |
• 2015-04-01 • 2017-03-01-preview (yönetim grubu düzeyi için) |
Referans |
Değişiklik geçmişini görüntüleme
Bazı olaylar için, söz konusu olay süresince hangi değişikliklerin olduğunu gösteren değişiklik geçmişini görüntüleyebilirsiniz. Etkinlik günlüğünden daha derine bakmak istediğiniz bir olayı seçin. Kaynakta işlem saatinden 30 dakika öncesine ve sonrasına kadar olan değişiklikleri görüntülemek için Değişiklik geçmişi sekmesini seçin.
Olayla ilişkili değişiklikler varsa portal size seçilebilir bir değişiklik listesi gösterir. Değişiklik seçildiğinde Değişiklik geçmişi sayfası açılır. Bu sayfada kaynakta yapılan değişiklikler görüntülenir.
Aşağıdaki örnekte VM'nin boyutları değiştirdiği gösterilmektedir. Sayfada, değişiklik öncesinde ve değişiklik sonrasında VM boyutu görüntülenir. Değişiklik geçmişi hakkında daha fazla bilgi edinmek için bkz. Kaynak değişikliklerini alma.
Etkinlik günlüğü içgörüleri
Etkinlik günlüğü içgörüleri, abonelikteki kaynak ve kaynak gruplarında yapılan değişiklikleri izleyen bir dizi pano sağlayan bir Azure İzleyici çalışma kitabıdır. Panolar ayrıca abonelikte hangi kullanıcıların veya hizmetlerin etkinlik gerçekleştirdiğini ve etkinliklerin durumunu da gösterir.
Etkinlik günlüğü içgörülerini etkinleştirmek için etkinlik günlüğünü Export etkinlik günlüğü bölümünde açıklandığı gibi Log Analytics çalışma alanına aktarın. Bu işlem, etkinlik günlüğü içgörüleri tarafından kullanılan AzureActivity tablosuna olayları gönderir.
Etkinlik günlüğü içgörülerini abonelik veya kaynak düzeyinde açabilirsiniz. Abonelik için, İzleyici menüsünün Çalışma Kitapları bölümünden Etkinlik Günlükleri İçgörüleri'ni seçin.
Tek bir kaynak için, kaynağın menüsünün Çalışma Kitapları bölümünde Etkinlik Günlükleri İçgörüleri'ni seçin.
Etkinlik günlüğünü dışarı aktarma
Ek saklama süresi ve işlevselliği için etkinlik günlüğü girdilerini diğer hedeflere göndermek için bir tanılama ayarı oluşturun.
Azure portalında Azure İzleyici menüsünden Activity log öğesini seçin ve Export Etkinlik Günlükleri'yi seçin. Tanılama ayarları oluşturmaya yönelik daha fazla bilgi ve diğer yöntemler için bkz. Azure İzleyici'de tanılama ayarları.
Etkinlik günlüğü için eski yapılandırmaları devre dışı bıraktığınıza emin olun.
Aşağıdaki bölümlerde, kaynak günlükleri için yapılandırılabilir her hedefle ilgili ayrıntılar sağlanır.
Aşağıdaki işlevler için etkinlik günlüğünü bir Log Analytics çalışma alanına gönderin:
Etkinlik günlükleri için veri alımı ücreti yoktur. Etkinlik günlükleri için bekletme ücretleri yalnızca 90 günlük varsayılan saklama süresinden sonra uzatılan süre için geçerlidir. Saklama süresini 12 yıla kadar artırabilirsiniz .
Log Analytics çalışma alanında etkinlik günlüğü verileri AzureActivity adlı bir tabloda depolanır. Bu tablonun yapısı günlük girdisinin kategorisine bağlı olarak değişir.
Örneğin, her kategori için etkinlik günlüğü kayıtlarının sayısını görüntülemek için aşağıdaki sorguyu kullanın:
AzureActivity
| summarize count() by CategoryValue
Yönetim kategorisindeki tüm kayıtları almak için aşağıdaki sorguyu kullanın:
AzureActivity
| where CategoryValue == "Administrative"
Önemli
Bazı senaryolarda, alanlarındaki AzureActivity değerler, aksi takdirde eşdeğer değerlerden farklı bir büyük/küçük harfe sahip olabilir. içinde AzureActivityverileri sorgularken, dize karşılaştırmaları için büyük/küçük harfe duyarsız işleçler kullanın veya herhangi bir karşılaştırmadan önce bir alanı tekdüzen büyük/küçük harfe zorlamak için skaler işlev kullanın. Örneğin, bir alanın her zaman küçük harfli olmasını sağlamak için tolower() işlevini veya bir dize karşılaştırması gerçekleştirirken =~ operatörünü kullanın.
Etkinlik günlüğünü Azure Event Hubs göndererek Azure dışındaki girdileri, örneğin üçüncü taraf bir SIEM'ye veya diğer günlük çözümleme çözümlerine gönderin. Olay hub'larından etkinlik günlüğü olayları, her yükteki kayıtları içeren bir records öğeyle JSON biçiminde tüketilir. Şema kategoriye bağlıdır ve Azure etkinlik günlüğü olay şeması açıklanmıştır.
Aşağıdaki örnek çıktı verileri etkinlik günlüğü için olay hub'larından alınmaktadır:
{
"records": [
{
"time": "2019-01-21T22:14:26.9792776Z",
"resourceId": "/subscriptions/s1/resourceGroups/MSSupportGroup/providers/microsoft.support/supporttickets/115012112305841",
"operationName": "microsoft.support/supporttickets/write",
"category": "Write",
"resultType": "Success",
"resultSignature": "Succeeded.Created",
"durationMs": 2826,
"callerIpAddress": "111.111.111.11",
"correlationId": "aaaa0000-bb11-2222-33cc-444444dddddd",
"identity": {
"authorization": {
"scope": "/subscriptions/s1/resourceGroups/MSSupportGroup/providers/microsoft.support/supporttickets/115012112305841",
"action": "microsoft.support/supporttickets/write",
"evidence": {
"role": "Subscription Admin"
}
},
"claims": {
"aud": "https://management.core.windows.net/",
"iss": "https://sts.windows.net/aaaabbbb-0000-cccc-1111-dddd2222eeee/",
"iat": "1421876371",
"nbf": "1421876371",
"exp": "1421880271",
"ver": "1.0",
"http://schemas.microsoft.com/identity/claims/tenantid": "aaaabbbb-0000-cccc-1111-dddd2222eeee",
"http://schemas.microsoft.com/claims/authnmethodsreferences": "pwd",
"http://schemas.microsoft.com/identity/claims/objectidentifier": "aaaa0000-bb11-2222-33cc-444444dddddd",
"http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn": "admin@contoso.com",
"puid": "1003BFFD8EC002D4",
"http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier": "9vckmEGF7zDKk1YzIY8k0t1_EAPaXoeHyPRn6f413zM",
"http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname": "John",
"http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname": "Smith",
"name": "John Smith",
"groups": "bbbb1111-cc22-3333-44dd-555555eeeeee,aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb,cccc2222-dd33-4444-55ee-666666ffffff",
"http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name": " admin@contoso.com",
"appid": "00001111-aaaa-2222-bbbb-3333cccc4444",
"appidacr": "2",
"http://schemas.microsoft.com/identity/claims/scope": "user_impersonation",
"http://schemas.microsoft.com/claims/authnclassreference": "1"
}
},
"level": "Information",
"location": "global",
"properties": {
"statusCode": "Created",
"serviceRequestId": "bbbbbbbb-1111-2222-3333-cccccccccccc"
}
}
]
}
Günlük verilerinizi denetim, statik analiz veya yedekleme için 90 günden daha uzun süre saklamak istiyorsanız etkinlik günlüğünü bir Azure Depolama hesabına gönderin. Etkinliklerinizi 90 gün veya daha kısa süre saklamanız gerekiyorsa, depolama hesabına arşivleme ayarlamanız gerekmez.
Etkinlik günlüğünü depolama alanına gönderdiğinizde, bir olay gerçekleşir gerçekleşmez depolama hesabında bir depolama kapsayıcısı oluşturulur. Kapsayıcıdaki bloblar aşağıdaki adlandırma kuralını kullanır:
insights-activity-logs/resourceId=/SUBSCRIPTIONS/{subscription ID}/y={four-digit numeric year}/m={two-digit numeric month}/d={two-digit numeric day}/h={two-digit 24-hour clock hour}/m=00/PT1H.json
Örneğin, belirli bir blob şuna benzer bir adı olabilir.
insights-activity-logs/resourceId=/SUBSCRIPTIONS/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/y=2020/m=06/d=08/h=18/m=00/PT1H.json
Her PT1H.json blob, blob URL'sinde belirtilen saat içinde alınan günlük dosyalarından olaylar içeren bir JSON nesnesi içerir. Şu saat içinde olaylar, oluşturulma zamanlarından bağımsız olarak alındıklarında PT1H.json dosyasına eklenir. URL'deki dakika değeri, bloblar her saat başı oluşturulduğundan dolayı daima m=00 olarak 00 şeklindedir.
Her olay aşağıdaki biçimde PT1H.json dosyasında depolanır. Bu biçim ortak bir üst düzey şema kullanır, ancak Etkinlik günlüğü şemasında açıklandığı gibi her kategori için benzersizdir.
{ "time": "2020-06-12T13:07:46.766Z", "resourceId": "/SUBSCRIPTIONS/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/RESOURCEGROUPS/MY-RESOURCE-GROUP/PROVIDERS/MICROSOFT.COMPUTE/VIRTUALMACHINES/MV-VM-01", "correlationId": "bbbb1111-cc22-3333-44dd-555555eeeeee", "operationName": "Microsoft.Resourcehealth/healthevent/Updated/action", "level": "Information", "resultType": "Updated", "category": "ResourceHealth", "properties": {"eventCategory":"ResourceHealth","eventProperties":{"title":"This virtual machine is starting as requested by an authorized user or process. It will be online shortly.","details":"VirtualMachineStartInitiatedByControlPlane","currentHealthStatus":"Unknown","previousHealthStatus":"Unknown","type":"Downtime","cause":"UserInitiated"}}}
Yönetim grubu etkinlik günlüklerini dışarı aktarma
Bir yönetim grubu için tanılama ayarı oluşturduğunuzda, hiyerarşideki altındaki tüm yönetim gruplarına ek olarak bu yönetim grubu için Azure İzleyici etkinlik günlüğü olaylarını dışarı aktarır. Hiyerarşideki birden çok yönetim grubunun tanılama ayarları varsa, yinelenen olaylar alırsınız. Hiyerarşinin tüm olaylarını yakalamak için yalnızca en üst düzey yönetim grubunda bir tanılama ayarına ihtiyacınız vardır.
Yönetim grubu ayrıca, kendisine bağlı aboneliklerle aynı olayların çoğunu toplar. Hem abonelik hem de yönetim grubunun tanılama ayarları varsa, yinelenen olaylar alırsınız. Azure Resource Manager, olayları yazarken bir hiyerarşi özelliği içerir, ancak gerekli bir alan değildir. Azure Resource Manager dışındaki kaynak sağlayıcıları bunu doldurmaz, bu nedenle olayları hiyerarşide yukarı iletilmez. Bu nedenle, yinelenen olayları almak eksik olaylardan daha iyidir.
Örneğin, Subscription1 içeren MG2'nin bir parçası olan MG1'e sahipseniz, MG1 üzerindeki bir tanılama ayarı, MG1 ve MG2 için tüm etkinlik günlüğü olaylarını ve Subscription1'deki bir tanılama ayarı tarafından toplanan birçok olayı yakalar. Bu durumda, yinelenen olayları toplayabileceğinden MG2'de tanılama ayarı gerekmez.
Yinelenen olaylarınız varsa, benzersiz kayıtları tanımlamak için tüm alanların karması kullanan bir sorgu kullanarak bunları birleştirin. Aşağıdaki örnek Kusto sorgusu, Log Analytics çalışma alanında toplanan günlükler için bir örnek gösterir:
AzureActivity
| extend Hash = hash(dynamic_to_json(pack_all()))
| summarize arg_max(TimeGenerated, *) by Hash
Etkinlik günlüğünü bir dosyaya aktarma
Etkinlik günlüğünü Azure portalındaki bir CSV dosyasına aktarmak için CSV olarak indir'i seçin.
Önemli
Çok sayıda günlük girdisinin dışarı aktarılması uzun sürebilir. Performansı geliştirmek için dışarı aktarmanın zaman aralığını azaltın. Azure portalında Zaman aralığı ayarını yapın.
Azure CLI kullanarak etkinlik günlüğünü program aracılığıyla dışarı aktarabilirsiniz.
subscriptionId="aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e"
startTime="2026-04-01T00:00:00Z"
endTime="2026-04-14T23:59:59Z"
maxItems=1000
outputFile="./activity-log.json"
az monitor activity-log list \
--subscription "$subscriptionId" \
--start-time "$startTime" \
--end-time "$endTime" \
--max-items "$maxItems" \
> "$outputFile"
Azure PowerShell kullanarak etkinlik günlüğünü program aracılığıyla dışarı aktarabilirsiniz.
$subscriptionId = "aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e"
$startTime = "2026-04-01T00:00:00Z"
$endTime = "2026-04-14T23:59:59Z"
$outputFile = "./activity-log.csv"
Set-AzContext -SubscriptionId $subscriptionId
$getAzActivityLogParams = @{
StartTime = $startTime
EndTime = $endTime
}
Get-AzActivityLog @getAzActivityLogParams |
Export-Csv -Path $outputFile -NoTypeInformation
Aşağıdaki örnek PowerShell betiği, etkinlik günlüğünü her biri ayrı bir dosyaya kaydedilmiş bir saatlik aralıklarla CSV dosyalarına aktarır.
# Parameters
$subscriptionId = "Subscription ID here" # Replace with your subscription ID
$startTime = [datetime]"2025-05-08T00:00:00" # Adjust as needed
$endTime = [datetime]"2025-05-08T12:00:00" # Adjust as needed
$outputFolder = "\Logs" # Change path as needed
# Ensure output folder exists
if (-not (Test-Path $outputFolder)) {
New-Item -Path $outputFolder -ItemType Directory
}
# Set subscription context
Set-AzContext -SubscriptionId $subscriptionId
# Loop through 1-hour intervals
$currentStart = $startTime
while ($currentStart -lt $endTime) {
$currentEnd = $currentStart.AddHours(1)
$timestamp = $currentStart.ToString("yyyyMMdd-HHmm")
$csvFile = Join-Path $outputFolder "ActivityLog_$timestamp.csv"
Write-Host "Fetching logs from $currentStart to $currentEnd..."
Get-AzActivityLog -StartTime $currentStart -EndTime $currentEnd |
Export-Csv -Path $csvFile -NoTypeInformation
$currentStart = $currentEnd
}
Write-Host "Export completed. Files saved to $outputFolder."
Kaynak oluşturmayı tanımlama
Sistemin ne zaman kaynak oluşturduğunu ve kaynağı kimin oluşturduğunu öğrenmek için etkinlik günlüğünü kullanın. Etkinlik günlüğü, kaynağı oluşturanı depolayan tek yerdir. Etkinlik günlüğü varsayılan olarak yalnızca 90 gün boyunca veri tuttuğundan, günlükleri Log Analytics çalışma alanı gibi bekletme süresini uzatmanıza olanak tanıyan bir konuma aktarmanız gerekir. Ardından tabloyu sorgulayarak kaynağın oluşturucusunu AzureActivity bulun. Veriler, bu tablonun saklama süresinde belirttiğiniz süre boyunca saklanır.
İlgili içerik