vRealize Operation & Telegram – integracja alertów na komorkę

Jak wiadomo, vROps jest świetnym narzędziem do monitorowanie środowiska wirtualnego, ale również może monitorować stan naszego hardware’u. vRealize Operation tworzy alerty i wyświetla je wraz z detalami, ale żeby je zobaczyć, musimy się to vROpsa zalogować. A co, jeżeli możnaby dostawać takie alerty na komórkę?

Dziś pokaże Wam jak zintegrować vROps z Telegramem, aby właśnie umożliwić otrzymywanie alertów na komórkę, za pomocą aplikacji Telegram.

Co będziemy potrzebować?

  • Aplikacja Telegram
  • Bot
  • REST API call dla Telegram’u
  • vRealize Operation

Tworzymy Bota w Telegramie:

Aby utworzyć Bot’a w programie Telegram, musimy porozmawiać z BotFather. Jeśli nigdy wcześniej nie rozmawiałeś z @BotFather, po prostu otwórz swoje kontakty i go wyszukaj.

 

Rozpocznij rozmowę od komendy:

/start

Komenda ta wyświetli wszystkie dostępne opcje. Nas interesuje opcja utworzenia nowego bota. Wydaj następującą komendę:

/newbot
Teraz musisz podać nazwę bota i nazwę użytkownika bota. Jeśli nazwa użytkownika jest już zajęta, BotFater poinformuje Cię o tym i będziesz musiał podać nową nazwę użytkownika:

 

Następnie BotFather wyświetli informacje o twoim nowym bocie. Najważniejszą częścią tych informacji jest token dostępu do HTTP API. Zapisz i i przechowuj token bezpiecznie ponieważ, może on być użyty przez każdego do kontrolowania twojego bota.

Aby użyć nowego bota do wysyłania wiadomości, musisz dodać swojego bota jako członka grupy do stworzonej grupy/czatu Telegrama dla Twoich alertów. Ja utworzyłem grupę o nazwie vROps_Alerts i dodałem do niej mojego bota. Następnie trzeba pobrać identyfikator grupy z adresu URL (łącznie ze znakiem minus „-”) i zanotować go gdzieś. W tym przykładzie mój identyfikator grupy to -717272464

 

To jest API Telegramu, które posłuży do wysyłania wiadomości:
https://api.telegram.org/bot$token/sendMessage?chat_id=$chat&text=Hello+World

Aby wysyłać wiadomości do wskazanej grupy, musisz zmodyfikować API. Musisz użyć tokena bota po /bot i identyfikator czatu po chat_id=, na przykład:

https://api.telegram.org/bot655790190:AAEtNozH7-am3rOINAIhzmWq8VJjSKhjQK4/sendMessage?chat_id=-717272464

Wiadomość POST wyglada tak:

{
  "text": "my message"
}

Dodajemy Outbound Instance w vROpsie

Zaloguj się do vROpsa, Configure -> Alerts -> Outbound Settings:

  • Kliknij ADD
  • Wybierz Webhook Notification Plugin z pola Plugin Type
  • W polu Url: wklej zmodyfikowany API Telegrama, zawierający token bota i chat ID.

UWAGA: Nie ma nazwy użytkownika ani hasła, ponieważ adress API zawiera wszystkie niezbędne dane uwierzytelniające do wysłania wiadomości.

UWAGA: Po przetestowaniu połączenia otrzymasz komunikat o błędzie, jednak możesz go zignorować.

Aby upewnić się, że połączenie działa, dodaj &text=Hello+World na końcu adresu URL API i przetestuj ponownie:

Wiadomość Hello World zobaczysz również na kanale Telegram. Teraz usuń &text=Hello+World i kliknij ZAPISZ. Ponownie zignoruj ​​komunikat o błędzie i kontynuuj.

Tworzymy vROps Payload Template

W Payload Template możemy zdefiniować, co chcemy wysłać. Istnieją trzy sekcje, które możemy modyfikować:

  • Details:
    • Zawiera nazwę, opis i metodę wysyłania, której chcielibyśmy użyć dla naszego ‘payload’. W tym przykładzie wybierzemy wtyczkę Webhook Notification Plugin
  • Object Content:
    • To bardzo ważna sekcja, w której możesz zdecydować, jakie metryki i właściwości chcesz przesłać w ‘payload’.
  • Payload Details:
    • Określa rzeczywiste wywołanie REST, takie jak metoda lub typ zawartości, i opisuje treść wywołania. Istnieją również predefiniowane metryki i właściwości, których możemy użyć.

Stwórzmy payload:

  • Otwórz Alerts -> Payload Templates.
  • Kliknij ADD.
  • Wpisz nazwę dla payload templates.
  • Wpisz opis
  • Wybierz jako Outbound method -> Webhook Notification Plugin.
  • Kliknij NEXT na dole strony
  • W zakładce Object Content wybierz metryki i właściwości, które chcesz użyc.
    • W tym przykładzie zdecydowałem się na monitorowanie Datastore.
  • Kliknij NEXT na dole strony
  • W sekcji Pauload Details ustaw:
    • Content type -> application/json
    • HTTP Method -> POST
    • Payload of the request -> JSON format:
{
    "text": "${ALERT_DEFINITION}: ${RESOURCE_NAME}: Available GB: ${VMWARE|Datastore|capacity|available_space}: Used in %: ${VMWARE|Datastore|capacity|usedSpacePct}: Snapshots Space used: ${VMWARE|Datastore|diskspace|snapshot}"
}

UWAGA: Możesz ustawić różne szczegóły ładunku dla nowych, zaktualizowanych i anulowanych alertów.

Ustawiamy vROps Notification

Nadszedł czas na skonfigurowanie ‘notification’. Przejdź do Alerty -> Notifications. Są tu cztery sekcje:

  • Notification:
    • Nadaj powiadomieniu nazwę i włącz je.
  • Define Criteria:
    • Ta sekcja jest ogromna. Możesz określić, kiedy powiadomienie ma być wysłane.
  • Set Outbound Method:
    • Możesz wybrać ‘payload template’ do użycia.

W zakładce Define Criteria, wybrałem Object Type -> datastore:

Jako Outbound Method wybrałem Webhook Notification Plugin i Outbound instance, którą stworzyliśmy wcześniej:

I jako ostatni krok wybrałem nasz szablon:

Gdy alert w datastore zostanie uruchomiony, otrzymamy wiadomość.

https://youtu.be/dyhs6fCNUcI
Informacje o nowych artykułach, świecie wirtualizacji i "cloud computingu" prosto na Twojego maila:

Dodam Cię do listy mailowej, z której możesz wypisać się w dowolnym momencie (jeden klik.) | Polityka Prywatności