Загрузка страницы

Azure - подробный обзор универсального PowerShell скрипта для работы с Azure Log Analytics API

Подписаться на канал ►►► http://bit.ly/iwalker2000_subs | Мой LinkedIn ►►► https://www.linkedin.com/in/iwalker2000/ | Подготовка к AZ-900 ►►► http://bit.ly/Exam-Az-900 | ИТ-карьера сисадмина-2019 ►►► https://youtu.be/eE-6AA3Cm6Q | Как стать системным администратором ►►► http://bit.ly/ITProSysAdmin | ИТ карьера - что для этого нужно ►►► http://bit.ly/ITcarriera_ | Загляните на мой блог ►►► http://iwalker2000.com | | Еще про Azure и серверы ►►► http://bit.ly/WindowsServer_overview | Про производительность дисков ►►► http://bit.ly/Disk_perf_p01

Итак, не продолжение, но углубление темы предыдущего семинара по Azure - https://youtu.be/-7p8cEWpLXs - отвечая на многочисленные просьбы поделиться скриптом по работе с Azure Log Analytics API - решил записать отдельное подробное видео о том, как это работает, а внизу - вы найдете некоторые фрагмены самого скрипта - остальное, более подробное описание и фрагменты скрипта найдете на моем блоге - http://iwalker2000.com или в профиле LinkedIn отдельной статьей - https://www.linkedin.com/in/iwalker2000/ . А остальное - допишите по потребности - если будет слишком просто - то никто не будет "заморачиваться" с разбором полетов - "работает - и ладно" ;) Как говорится - "Дай человеку рыбу - и ты накормишь его на один день, научи его рыбачить - и он будет сыт всю жизнь." - так что учимся.

Итак, работа с Log Analytics через API – зачем?
* Анализировать и реагировать на набор показателей жизнедеятельности / счетчиков от разных объектов со сложной логикой, которую невозможно сделать с помощью одного запроса KUSTO
* Log Analytics для других инструментов, таких как - планирование остановки / запуска виртуальных машин - проверка текущего состояния процессов внутри виртуальных машин, чтобы понять возможность безопасного завершения работы.
* Автоматизированная отчетность - генерируйте регулярные электронные письма с отчетами с широкими параметрами + цветовую дифференциацию и т. Д. + Вложения, такие как отчеты Excel
* Автоматическая отчетность - отображение обычных данных в виде диаграмм и их отправка в виде вложений по электронной почте.
* Предоставляемые скрипты должны быть универсальными и не требовать большого количества дополнительных установок (например, модулей Azure PowerShell) и дополнительной интерактивной работы (например, входа в систему).
PowerShell магия для работы с API - основные блоки скрипта
Параметры:
* Tenant ID
* App registration’s ID and secret
- для того, чтобы срипт мог успешно аутентифицироваться в Azure и получать доступ к данным той или иной подписке - требуется предварительное создание учетной записи для приложения, обычно я это делаю при помощи команды az ad sp create-for-rbac -n "igorsh-access-app" , обычно прямо из Azure Cloud Shell - копируем полученные оттуда данные для дальнейших вызовов.

* Log Analytics Workspace ID
* SendGrid secret
- в данном примере для отправки сообщений используется сервис SendGrid - просто он есть непосредственно в Azure с 25000 бесплатных сообщений в месяц. Плюс - хороший API и документация к нему, дополнительные опции мониторинга. При создании учетной записи не забудьте скопировать себе ключ

Блоки скрипта:
* Аутентификация в Azure с помощью идентификатора приложения и службы Log Analytics - получить токен OAuth
* Построить запрос KUSTO в виде строки
* Invoke-WebRequest для службы LA с токеном и запросом для получения данных
* Преобразование результатов в требуемый формат (массивы PWSH - тут я обещал код - держите в виде функции)

function Call-LogAPI
(
$APIurl,
$APIbody,
$APItoken_type,
$APIaccess_token
)
{
$headerParams = @{'Authorization'="$APItoken_type $APIaccess_token"}

$webresults = Invoke-WebRequest -UseBasicParsing -Headers $headerParams -Uri $APIurl -Method Get -Body $APIbody -ContentType "application/json"

$resultsTable = $webresults.Content | ConvertFrom-Json

$count = 0

foreach ($table in $resultsTable.Tables)
{
$count += $table.Rows.Count
}

$results = New-Object object[] $count

$i = 0

foreach($table in $resultsTable.Tables)
{
foreach($row in $table.Rows)
{
$properties = @{}
for ($columNum=0; $columNum -lt $table.Columns.Count;$columNum++)
{
$properties[$table.Columns[$columNum].name] = $row[$columNum]
}

$results[$i] = (New-Object psobject -Property $properties)
$null = $i++
}
}

return $results
}
* Сгенерировать из результатов тело HTML для электронной почты
* Сгенерировать из результатов массив Base64 для вложений CSV
Используйте SendGrid API для отправки электронной почты с необходимыми данными / вложениями

Запись моих предыдущих семинаров для MUK:

* Azure - 2я часть - по основнам безопасности, надежности, мониторингу Azure - https://youtu.be/-7p8cEWpLXs

* Azure - начальный технический обзор основных сервисов Azure - https://youtu.be/pyzxPupDbI8

Видео Azure - подробный обзор универсального PowerShell скрипта для работы с Azure Log Analytics API канала iwalker2000
Показать
Комментарии отсутствуют
Введите заголовок:

Введите адрес ссылки:

Введите адрес видео с YouTube:

Зарегистрируйтесь или войдите с
Информация о видео
15 октября 2020 г. 10:30:00
00:44:20
Другие видео канала
Azure - онлайн-семинар MUK - основы продаж решений в Azure и почему не надо переходить в Azure :)Azure - онлайн-семинар MUK - основы продаж решений в Azure и почему не надо переходить в Azure :)Scott Hanselman’s best demo! IoT, Azure, Machine Learning & moreScott Hanselman’s best demo! IoT, Azure, Machine Learning & moreВведение в сценарии Windows PowerShell 4.0Введение в сценарии Windows PowerShell 4.0Серверы: как правильно выбрать SSD для сервера/RAIDСерверы: как правильно выбрать SSD для сервера/RAIDREST API concepts and examplesREST API concepts and examplesREST API. Практический Курс. Пишем Fullstack приложение на JavaScriptREST API. Практический Курс. Пишем Fullstack приложение на JavaScript[UNИX][GNU/Linux] Лекция 1. Что такое Linux? «Инварианты»[UNИX][GNU/Linux] Лекция 1. Что такое Linux? «Инварианты»Подробно: почему и как "сдохла" microSD/SD, флешка в телефоне, камере и как с этим бороться ;)Подробно: почему и как "сдохла" microSD/SD, флешка в телефоне, камере и как с этим бороться ;)Azure - онлайн-семинар MUK - основы Microsoft 365 Modern Workplace Enterprise Mobile + Security EMSAzure - онлайн-семинар MUK - основы Microsoft 365 Modern Workplace Enterprise Mobile + Security EMSСведение музыки без пафосаСведение музыки без пафосаMicrosoft PowerShell for Beginners - Video 1 Learn PowerShellMicrosoft PowerShell for Beginners - Video 1 Learn PowerShellAPI ТЕСТИРОВАНИЕ | POSTMANAPI ТЕСТИРОВАНИЕ | POSTMANКак перестать быть «эникеем»?Как перестать быть «эникеем»?ИТ-карьера - Azure L2 support engineer - публичное собеседование на позицию, что нужно знать - ч.02ИТ-карьера - Azure L2 support engineer - публичное собеседование на позицию, что нужно знать - ч.02COM-объекты в Windows PowerShell 4.0COM-объекты в Windows PowerShell 4.0СофТы: простой способ установки Windows 2000/Windows XP на телефон Android (Limbo)СофТы: простой способ установки Windows 2000/Windows XP на телефон Android (Limbo)Microsoft Azure Fundamentals Certification Course (AZ-900) - Pass the exam in 3 hours!Microsoft Azure Fundamentals Certification Course (AZ-900) - Pass the exam in 3 hours!ГаджеТы: Подробный обзор Nokia Lumia 625ГаджеТы: Подробный обзор Nokia Lumia 625APIs for Beginners - How to use an API (Full Course / Tutorial)APIs for Beginners - How to use an API (Full Course / Tutorial)
Яндекс.Метрика