Я хочу рассчитать размер каждой таблицы в заданной рабочей области Log Analytics и получить размеры в ГБ, МБ и т. д. Следующий код работает частично, но поскольку я не использую units arg, функция format_bytes не возвращает ожидаемых результатов. для больших значений.
union withsource= table *
| where TimeGenerated between(datetime(2022-05-02) ..datetime(2022-05-03))
| summerize Size = sum(_BilledSize) by table, _IsBillable | sort by Size desc | extend Size2 = format_bytes(toint(Size), 2)
Как я мог преодолеть это или, возможно, решить свою проблему по-другому?






Я не уверен, почему вы приводите значение double (Size) к int перед вызовом format_bytes().
вместо этого:
extend Size2 = format_bytes(toint(Size), 2)
попробуй это:
| extend Size2 = format_bytes(Size, 2)
datatable(Size:double)
[
17404157113,
]
| extend Your_Size2 = format_bytes(toint(Size), 2),
Better_Size2 = format_bytes(Size, 2)
| Размер | Your_Size2 | Better_Size2 |
|---|---|---|
| 17404157113 | -2147483648 байт | 16,21 ГБ |
я не понимаю конфликта. не могли бы вы пояснить, почему требуется приведение к 32-битному целому числу?
Привет, если я подумаю об этом сейчас, я не вижу причин для этого. Благодарю вас! Не могли бы вы сказать мне, могу ли я выполнить этот запрос одновременно в нескольких рабочих областях Log Analytics? Но так, чтобы он возвращал результаты по LAW, а не объединял их в одну таблицу?
Рассмотрите возможность открытия еще одного вопроса для этого. Я лично не знаком с рабочими областями аналитики журналов.
Конечно, Йони - спасибо за помощь :)!
Спасибо за помощь. Я привожу его, потому что в соответствии с документами «столбец _BilledSize указывает размер в байтах данных, которые будут выставлены в счет вашей учетной записи Azure, если _IsBillable имеет значение true». docs.microsoft.com/en-us/azure/azure-monitor/logs/… Так как
format_bytes()аргументvalue-a number to be formatted as data size in bytes.не сломается ли это?