Azure AKS Monitoring - настраиваемые ресурсы панели мониторинга - PullRequest
0 голосов
/ 07 февраля 2019

Я пытаюсь создать пользовательскую панель с некоторыми конкретными данными для кластера AKS.То, что я хотел бы сделать, это собрать панель с графиком использования ОЗУ и ЦП для выбранных контроллеров и узлов и, если возможно, количество перезапусков на модуль.Как я могу создать пользовательские графики со средним использованием ресурсов контроллеров?

1 Ответ

0 голосов
/ 08 февраля 2019

Вы можете щелкнуть ссылку «Журналы» слева на блейд-кластере AKS на портале Azure (убедитесь, что вы включили Insights, сначала нажав «Insights» - если все в порядке, вы увидите диаграммы, близкие к тому, чтов противном случае вы увидите инструкции по установке).

Используйте следующий запрос, чтобы составить график загрузки ЦП (95-й% -тильный) для всех контейнеров в данном контроллере:

let endDateTime = now();
let startDateTime = ago(14d);
let trendBinSize = 1d;
let capacityCounterName = 'cpuLimitNanoCores';
let usageCounterName = 'cpuUsageNanoCores';
let clusterName = 'coin-test-i';
let controllerName = 'kube-svc-redirect';
KubePodInventory
| where TimeGenerated < endDateTime
| where TimeGenerated >= startDateTime
| where ClusterName == clusterName
| where ControllerName == controllerName
| extend InstanceName = strcat(ClusterId, '/', ContainerName), 
         ContainerName = strcat(controllerName, '/', tostring(split(ContainerName, '/')[1]))
| distinct Computer, InstanceName, ContainerName
| join hint.strategy=shuffle (
    Perf
    | where TimeGenerated < endDateTime
    | where TimeGenerated >= startDateTime
    | where ObjectName == 'K8SContainer'
    | where CounterName == capacityCounterName
    | summarize LimitValue = max(CounterValue) by Computer, InstanceName, bin(TimeGenerated, trendBinSize)
    | project Computer, InstanceName, LimitStartTime = TimeGenerated, LimitEndTime = TimeGenerated + trendBinSize, LimitValue
) on Computer, InstanceName
| join kind=inner hint.strategy=shuffle (
    Perf
    | where TimeGenerated < endDateTime + trendBinSize
    | where TimeGenerated >= startDateTime - trendBinSize
    | where ObjectName == 'K8SContainer'
    | where CounterName == usageCounterName
    | project Computer, InstanceName, UsageValue = CounterValue, TimeGenerated
) on Computer, InstanceName
| where TimeGenerated >= LimitStartTime and TimeGenerated < LimitEndTime
| project Computer, ContainerName, TimeGenerated, UsagePercent = UsageValue * 100.0 / LimitValue
| summarize P95 = percentile(UsagePercent, 95) by bin(TimeGenerated, trendBinSize) , ContainerName
| render timechart

Заменитьимя кластера и имя контроллера с теми, которые вы хотите.Вы также можете поиграть с параметрами времени начала / окончания, размерами бина, максимальными / минимальными / средними значениями вместо 95-го%.

Для метрик памяти замените названия метрик на:

let capacityCounterName = 'memoryLimitBytes';
let usageCounterName = 'memoryRssBytes';
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...