Інформаційні панелі в реальному часі з OpsGenie і PowerBI
Ми використовуємо OpsGenie для керування сповіщеннями. Наш намір полягає в тому, щоб усі сповіщення з’являлися в OpsGenie, оскільки це дає нам наскрізне уявлення про те, що відбувається в середовищі. Незважаючи на те, що OpsGenie надає зручний інтерфейс користувача та мобільні інструменти, йому не вистачає однієї речі — це можливості створювати інформаційні панелі для візуалізації інформації. Цього тижня я створив рішення за допомогою PowerBI.
Є багато способів зробити це, але я не хотів будувати щось з нуля. В ідеалі я хотів щось, що працювало б із мінімальною кількістю коду або взагалі без нього та дозволяло нам легко створювати нові інформаційні панелі. Оскільки PowerBI — це мій вибір для звітів і інформаційних панелей, я хотів дізнатися, чи є спосіб змусити його спілкуватися з OpsGenie. Виявляється, з невеликою допомогою від PowerAutomate.
Ось план:
Потокове передавання наборів даних
Ви можете створити це рішення, надсилаючи події з OpsGenie до бази даних, але я хотів щось просте та в режимі реального часу. Як це сталося, PowerBI надає можливість для цього у формі «потокових наборів даних». По суті, це надає API, до якого можна надсилати події, а потім створювати звіти на основі цього сховища. Події можуть відбуватися лише в реальному часі або ви можете зберегти історію.
Я почав зі створення набору потокових даних із такими полями:
Ви можете створити свій потоковий набір даних у робочому середовищі PowerBI, вибравши New... Streaming Dataset і дотримуючись підказок.
Після створення набору потокових даних ви можете опублікувати свої дані, здійснивши виклик API, наприклад :
Power Automate
Наступним кроком було змусити OpsGenie оновити набір потокових даних після створення нового сповіщення. Хоча OpsGenie забезпечує інтеграцію HTTP, він не дозволяє контролювати формат запиту. Мені потрібно було щось, що могло б відформатувати запит і, можливо, додати додаткову логіку. Не бажаючи створювати спеціальну службу для цього, я використав Power Automate.
Це виявилося досить простим для створення потоку. Це тригер HTTP, який, у свою чергу, викликає вбудований конектор PowerBI.
OpsGenie
Останнє, що потрібно було зробити, це змусити OpsGenie викликати потік Power Automate, коли створюється нове сповіщення. Це можна зробити за допомогою інтеграції OpsGenie Webhook.
Тестування
На даний момент у нас є інтеграція OpsGenie Webhook, яка викликає потік Power Automate, коли створюється нове сповіщення. Це, у свою чергу, викликає набір потокових даних PowerBI, передаючи підмножину інформації про попередження. Давайте перевіримо...
Перше, що потрібно зробити — створити тестове сповіщення.
Далі перевірте, чи було отримано сповіщення в Power Automate.
Звіт Power BI
На даний момент дані очікують у наборі потокових даних. Все, що залишилося, це створити звіт Power BI або інформаційну панель поверх нього.
Ось простий, який я створив, який показує сповіщення за часом, а також деталі та розділено на команди.
Наступні кроки
Наразі я отримую стрічку в режимі реального часу, коли створюються нові сповіщення, але я також хотів би видалити сповіщення, коли вони закриті на OpsGenie. Це дозволить мені створити червоно-янтарно-зелений вигляд різних систем. Я думаю, що це можна зробити, додавши деяку додаткову логіку до потоку Power Automate і створивши новий набір потокових даних для зберігання загального стану. Спробую це наступного разу.
Немає коментарів
Додати коментар Підписатись на коментаріВідписатись від коментарів