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

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

Channel:
Subscribers:
59,900
Published on ● Video Link: https://www.youtube.com/watch?v=2AB-bIQl_4Q



Category:
Vlog
Duration: 44:20
702 views
20


Подписаться на канал ►►► 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




Other Videos By iwalker2000


2020-11-02Дубаи360/Путевые Заметки - 30 минут полета на "бешенной табуретке" над Дубаи, 360 видео с 500 метров
2020-10-31Дубаи360/Путевые Заметки - Dubai Aquarium & Underwater Zoo в режиме 360, часть 2 - подводный зоопарк
2020-10-30Хобби/MENG - собираем модели без клея - мимишный танк MENG WWT-005 - German medium tank Panzer III
2020-10-29Хобби/MENG - собираем модели без клея - розовый танк M4 Sherman - подражание стилю серии MENG WWT
2020-10-28Azure - онлайн-семинар MUK - основы Microsoft 365 Modern Workplace Enterprise Mobile + Security EMS
2020-10-26ИТ-карьера - Azure L2 support engineer - публичное собеседование на позицию, что нужно знать - ч.01
2020-10-25Путевые Заметки.Дубаи,сентябрь 2020: экскурсия по громадному Aquarium Dubai - дополнение к 360 видео
2020-10-24Дубаи360/Путевые Заметки - Dubai Aquarium & Underwater Zoo в режиме 360, часть 1 - Аквариум Дубаи
2020-10-22Azure - онлайн-семинар MUK - основы продаж решений в Azure и почему не надо переходить в Azure :)
2020-10-17Австрия360/Путевые Заметки - Городской Императорский Дворец (Hofburg) и улочки старой Вены
2020-10-15Azure - подробный обзор универсального PowerShell скрипта для работы с Azure Log Analytics API
2020-10-13Azure - 2я часть - по основнам безопасности, надежности, мониторингу Azure - онлайн-семинар MUK
2020-10-11Австрия360/Путевые Заметки - центр Вены - прогулка по Graben strasse (Улице Рва) - чумная колонна
2020-10-10iLive:Dubai - пустой пляж Dubai Marina в выходной день - прямая трансляция и неадекваты с Украины ;)
2020-10-10Австрия360/Путевые Заметки - знаменитый иезуитский собор в Вене - Jesuitenkirche - в режиме 360
2020-10-05Игровые ГадЖеТы: тестируем True Blue Mini Overdose pack для хака Sony Playstation Сlassic - 200 игр
2020-10-04Австрия360/Путевые Заметки - центр Вены в 360 - прогулка по площади ШтефансПлац вокруг ШтефансДом
2020-10-03Австрия360/Путевые Заметки - 360 виды улочки Кертнерштрассе и площади ШтефансПлац с ШтефансДом
2020-10-02Azure - начальный технический обзор основных сервисов Azure - мой доклад на онлайн-семинаре MUK
2020-10-01Обзор GPD Win MAX:успешно проваленные тесты батареи и автономной работы в играх - не более 3х часов!
2020-09-27Австрия360/Путевые Заметки - 360 виды Венского Оперного Театра - прогулка вокруг знаменитой Оперы



Tags:
софт
экзамен
сертификационный экзамен
Microsoft
AZ-900
Azure Fundamentals
экзамен Microsoft
сертификация Microsoft
Azure
Игорь Шаститко
Igor Shastitko
iwalker2000
Azure Log Analytics
API
PowerShell
call Azure API by PowerShell
PowerShell Log Analytics
KUSTO
KQL
вызор запросов KUSTO в PowerShell
статистика Azure через PowerShell