Служба Azure Kubernetes (AKS) - предупреждение о перезапуске модуля

Я хочу создать правило оповещения при перезапуске модуля. т.е. если модуль перезагружается дважды в течение 30 минут

У меня есть следующий запрос аналитики журнала:

KubePodInventory
| where ServiceName == "xxxx"
| project PodRestartCount, TimeGenerated, ServiceName
| summarize AggregatedValue = count(PodRestartCount) by ServiceName, bin(TimeGenerated, 30m) 

Но установка порога предупреждения на 2 в этом случае не сработает, поскольку PodRestartCount не сбрасывается. Любая помощь будет принята с благодарностью. Может быть, есть лучший подход, которого мне не хватает.


person user2342643    schedule 11.05.2020    source источник
comment
вы основываете свои оповещения на показателях kube-state-metrics?   -  person djsly    schedule 12.05.2020
comment
вот пример использования данных kube-state-metrics. github.com/helm/charts/blob/master/stable/prometheus-operator/   -  person djsly    schedule 12.05.2020
comment
Я попробовал ваш запрос, разве вы не должны использовать ставку вместо count? Вы правы, что PodRestartCount - это счетчик, поэтому он будет увеличиваться до тех пор, пока модуль не изменит идентификатор.   -  person djsly    schedule 12.05.2020


Ответы (1)


Чтобы сбросить счетчик между BIN (), вы можете использовать функцию prev () для сериализованного вывода, чтобы вычислить разницу

KubePodInventory
| where ServiceName == "<service name>" 
| where Namespace == "<namespace name>"
| summarize AggregatedPodRestarts = sum(PodRestartCount) by bin(TimeGenerated, 30m) 
| serialize
| extend prevPodRestarts = prev(AggregatedPodRestarts,1)
| extend diff = AggregatedPodRestarts - prevPodRestarts
| where diff >= 2

это даст вам правильную разницу за период BIN.

TimeGenerated [UTC]         prevPodRestarts diff        AggregatedPodRestarts
5/12/2020, 12:00:00.000 AM  1,368,477       191,364     1,559,841   
5/11/2020, 11:00:00.000 PM  1,552,614       3,594       1,556,208   
5/11/2020, 10:00:00.000 PM  182,217         1,370,397   1,552,614

ссылка: https://docs.microsoft.com/en-us/azure/data-explorer/kusto/query/serializeoperator

https://docs.microsoft.com/en-us/azure/data-explorer/kusto/query/prevfunction

person djsly    schedule 12.05.2020
comment
рад, что это сработало, не стесняйтесь принимать этот ответ как действительный. - person djsly; 12.05.2020