نموذج استعلامات تنبيه بحث السجل التي تتضمن ADX و ARG

تراقب قاعدة تنبيه بحث السجل موردا باستخدام استعلام Log Analytics لتقييم السجلات بتردد معين. يمكنك تضمين البيانات من Azure Data Explorer وAzure Resource Graph في استعلامات قاعدة تنبيه البحث في السجل.

توفر هذه المقالة أمثلة لاستعلامات قاعدة تنبيه البحث في السجل التي تستخدم Azure Data Explorer وAzure Resource Graph. لمزيد من المعلومات حول إنشاء قاعدة تنبيه بحث السجل، راجع إنشاء قاعدة تنبيه بحث سجل.

الاستعلامات التي تتحقق من صحة الجهاز الظاهري

يبحث هذا الاستعلام عن الأجهزة الظاهرية التي تم وضع علامة عليها على أنها مهمة لم يكن لها رسالة كشف أخطاء الاتصال في آخر دقيقتين.

    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

يبحث هذا الاستعلام عن الأجهزة الظاهرية التي تم وضع علامة عليها على أنها هامة كانت لها رسالة كشف أخطاء الاتصال منذ أكثر من 24 ساعة، ولكن لم يكن لها رسالة كشف أخطاء الاتصال في آخر دقيقتين.

{
    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
}

الاستعلام الذي يقوم بتصفية الأجهزة الظاهرية التي تحتاج إلى المراقبة

   {
    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)) 
}

الاستعلام الذي يعثر على الموارد ذات الشهادات التي ستنتهي صلاحيتها في غضون 30 يوما

{
    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
}

الاستعلام الذي ينبه عند إنشاء مورد جديد في الاشتراك

{
    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

}

الخطوات التالية