Mintanapló-keresési riasztási lekérdezések, amelyek tartalmazzák az ADX-et és az ARG-t

A naplókeresési riasztási szabály egy Log Analytics-lekérdezéssel figyeli az erőforrásokat a naplók meghatározott gyakoriságú kiértékeléséhez. A naplókeresési riasztási szabály lekérdezéseibe az Azure Data Explorer és az Azure Resource Graph adatait is belefoglalhatja.

Ez a cikk példákat tartalmaz az Azure Data Explorert és az Azure Resource Graphot használó naplókeresési riasztási szabály lekérdezéseire. További információ a naplókeresési riasztási szabály létrehozásáról: Naplókeresési riasztási szabály létrehozása.

A virtuális gép állapotát ellenőrző lekérdezések

Ez a lekérdezés olyan kritikusként megjelölt virtuális gépeket keres, amelyek az elmúlt 2 percben nem voltak szívveréssel.

    arg("").Resources
    | where type == "microsoft.compute/virtualmachines"
    | summarize LastCall = max(case(isnull(TimeGenerated), make_datetime(1970, 1, 1), TimeGenerated)) by name, id
    | extend SystemDown = case(LastCall < ago(2m), 1, 0)
    | where SystemDown == 1

Ez a lekérdezés kritikusként megjelölt virtuális gépeket talál, amelyek szívverése több mint 24 órája volt, de az elmúlt 2 percben nem volt szívverés.

{
    arg("").Resources
    | where type == "microsoft.compute/virtualmachines"
    | where tags.BusinessCriticality =~ 'critical' and subscriptionId == '123-456-123-456'
    | join kind=leftouter (
    Heartbeat
    | where TimeGenerated > ago(24h)
    )
    on $left.name == $right.Resource
    | summarize LastCall = max(case(isnull(TimeGenerated), make_datetime(1970, 1, 1), TimeGenerated)) by name, id
    | extend SystemDown = case(LastCall < ago(2m), 1, 0)
    | where SystemDown == 1
}

A monitorozni kívánt virtuális gépeket szűrő lekérdezés

   {
    let RuleGroupTags = dynamic(['Linux']);
    Perf | where ObjectName == 'Processor' and CounterName == '% Idle Time' and (InstanceName in ('_Total,'total'))
    | extend CpuUtilisation = (100 - CounterValue)   
    | join kind=inner hint.remote=left (arg("").Resources
        | where type =~ 'Microsoft.Compute/virtualMachines'
    | project _ResourceId=tolower(id), tags) on _ResourceId
    | project-away _ResourceId1
    | where  (tostring(tags.monitorRuleGroup) in (RuleGroupTags)) 
}

Olyan lekérdezés, amely olyan erőforrásokat keres, amelyek tanúsítványai 30 napon belül lejárnak

{
    arg("").Resources
    | where type == "microsoft.web/certificates"
    | extend ExpirationDate = todatetime(properties.expirationDate)
    | project ExpirationDate, name, resourceGroup, properties.expirationDate
    | where ExpirationDate < now() + 30d
    | order by ExpirationDate asc
}

Lekérdezés, amely riasztást küld, ha új erőforrás jön létre az előfizetésben

{
    arg("").resourcechanges
    | extend changeTime = todatetime(properties.changeAttributes.timestamp), 
    changeType = tostring(properties.changeType),targetResourceType = tostring(properties.targetResourceType),
    changedBy = tostring(properties.changeAttributes.changedBy),
    createdResource = tostring(properties.targetResourceId)
    | where changeType == "Create" and changeTime <ago(1h)
    | project changeTime,createdResource,changedBy

}

Következő lépések