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
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
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:
I jako ostatni krok wybrałem nasz szablon:
Gdy alert w datastore zostanie uruchomiony, otrzymamy wiadomość.
Dodam Cię do listy mailowej, z której możesz wypisać się w dowolnym momencie (jeden klik.) | Polityka Prywatności