W tym dokumencie opisane są najważniejsze rodzaje obiektów występujących w API, powiązania między nimi oraz uprawnienia do nich.
Każdy użytkownik systemu posiada konto ("account").
Konto zawiera informacje takie jak login, hasło, nazwę użytkownika czy informacje o limitach, a także preferowany język powiadomień
i raportów okresowych (ze słownika languages
).
Dodatkowo każde konto posiada stowarzyszony obiekt danych właściciela ("user_data"), o takim samym identyfikatorze co konto.
Obiekt ten zawiera np. dane kontaktowe i ustawienia filtra adresów IP mających dostęp do API.
Jest widoczny jedynie dla właściciela konta.
Konto można zarejestrować za pomocą wywołania POST /accounts/register
i kliknięcia w link aktywacyjny w otrzymanej wiadomości e-mail.
Tą metodą można zakładać konta z jednym z pakietów oznaczonych jako dostępne dla nowych kont.
Konto może także zostać założone bezpośrednio przez administratora (POST /admin/accounts
) lub jako konto dodatkowego użytkownika istniejącego konta (POST /accounts
).
Aby skorzystać z systemu monitoringu, należy utworzyć jedną lub więcej usług ("services"). Każda usługa należy do dokładnie jednego konta, nazywanego jej właścicielem ("owner"). Każda usługa jest określonego typu ("service_type"); np. typ "http" odpowiada usłudze monitoringu strony WWW, a typ "dns" usłudze weryfikującej działanie serwerów DNS. Dostępne typy usług mogą różnić się w zależności od konta. Nie jest możliwa zmiana typu istniejącej usługi. Każdy typ należy do jednej z kategorii, wpływającej na dostępność stacji monitorujących dla usług tego typu (np. nie wszystkie stacje obsługują sprawdzanie po IPv6 lub sprawdzanie aplikacji mobilnych).
Monitoring usługi może być włączony lub wyłączony - decyduje o tym jej atrybut is_active
.
Częstotliwość wykonywania sprawdzeń można zmienić za pomocą atrybutu interval
.
Atrybut address
usługi określa adres strony lub usługi, którą należy monitorować w ramach tej usługi.
W zależności od typu może to być na przykład:
Adres należy określić z pominięciem "prefiksu protokołu" zależnego od typu usługi, określonego w jego atrybucie address_prefix
.
Na przykład dla typu FullPageHttps prefiksem jest https://
, więc aby uruchomić monitoring strony https://monit24.pl
,
w polu address
usługi należy ustawić po prostu monit24.pl
(bez https://
).
Poza podstawowymi ustawieniami (takimi jak nazwa, monitorowany adres, czy częstotliwość wykonywania sprawdzeń), każda usługa posiada atrybut rozszerzonych ustawień ("extended_settings").
Atrybuty tego obiektu zależą od typu usługi - na przykład dla typu "http" dostępne jest ustawienie "metoda HTTP", które nie miałoby sensu dla usługi typu "ping".
O tym, jakie ustawienia są dostępne dla danego typu (i jakie mogą przyjmować wartości) decyduje tablica obiektów "extended_setting_formats" stowarzyszona z typem usługi.
Dla wybranego typu można ją pobrać za pomocą zapytania GET /service_types/{_id}/extended_setting_formats
; można ją także dowiązać do typu lub samej usługi.
Na jej podstawie można w zautomatyzowany sposób renderować interfejs (pole formularza) do edycji każdego z ustawień.
Sprawdzenia niektórych z usług polegają na wykonaniu kliku następujących po sobie kroków.
Takie usługi nazywają się "scenariuszami".
Można je rozpoznać po tym, że ich atrybut path_steps
zawiera tablicę nazw kolejnych kroków, zaczynając od pierwszego (dla usług nie będących scenariuszami ma on wartość null
).
Dla scenariuszy niektóre informacje związane z wynikami sprawdzeń są dostępne z podziałem na kroki:
GET /services/{_id}/history/performance/steps
GET /services/{_id}/history/analyses/{_analysis_id}/checks/{_sensor_id}/details
, pole step_data
W przypadku awarii scenariusza szczegółowe informacje o awarii oraz powiadomienia zawierają dodatkową informację o kroku, na którym wystąpił problem.
Od wersji API 3.8 dostępna jest funkcja archiwizacji usług.
Do archiwizacji i przywracania usług z archiwum służą operacje POST /services/{_id}/archive
oraz POST /services/{_id}/restore
.
Atrybut is_archived
usługi mówi o tym, czy jest ona zarchiwizowana.
Monitoring zarchiwizowanych usług jest zatrzymany, nie można ich edytować (w tym także włączyć monitoringu), dostępne jest jedynie przeglądanie historii ich działania. Zarchiwizowane usługi nie wliczają się do zużycia limitów określonych w pakiecie konta.
Każda usługa należy do dokładnie jednej grupy usług ("group"). Grupy, podobnie jak usługi, mają właścicieli ("owner"). Właściciel grupy jest także właścicielem wszystkich usług do niej należących.
Ponadto każde konto posiada jedną wyróżnioną grupę, zwaną grupą domyślną ("default group"). Grupy domyślnej nie można zmienić na inną ani usunąć.
Do grupy są przypisane stacje monitorujące (atrybut assigned_sensor_ids
grupy, każda grupa ma osobne listy stacji dla każdej kategorii typów usług), a także adresy powiadomień i raportów.
Oznacza to, że wszystkie usługi danej kategorii w grupie co do zasady są monitorowane z tych samych stacji monitorujących, zaś powiadomienia dla nich są wysyłane na te same adresy
(dla pojedynczych usług można jedynie decydować, które kanały powiadomień mają być aktywne).
Ograniczenia te nie dotyczą nowej wersji raportów (zasobów /reports
i /report_templates
) oraz podsystemu powiadamiania o zdarzeniach.
Można także przypisać stacje monitorujące bezpośrednio do usługi (atrybut sensor_ids
usługi), wówczas nadpisują one stacje monitorujące przypisane do grupy.
Każde z kont posiada ograniczenia na liczbę usług, jednocześnie aktywnych stacji monitorujących, dostępne kanały powiadomień itp. Limity te są zdefiniowane w przypisanym do konta pakiecie ("package"). Pakiet określa między innymi następujące limity:
maximum_services
) - maksymalna liczba usług należących do konta,maximum_sensors
) - maksymalna liczba stacji monitorujących przypisanych do każdej z grup w każdej kategorii (różne grupy mogą mieć przypisane różne stacje), oraz bezpośrednio do usług,minimum_interval
) - żadna z usług nie może być sprawdzana częściej, niż określa ten limit,available_service_types
) - dla każdego z dostępnych typów mogą być określone dodatkowe limity na liczbę usług i częstotliwość sprawdzeń,available_notification_channel_ids
) - nie jest możliwe tworzenie adresów powiadomień dla innych kanałów.
Możliwe jest tworzenie dodatkowych użytkowników ("subkont") istniejącego konta.
Służy do tego operacja POST /accounts
.
Użytkownicy stworzeni w ten sposób mają dostęp do wszystkich usług i grup konta podstawowego (także udostępnionych mu przez innych użytkowników).
Użytkownicy mają własne konta, ale domyślnie nie mogą posiadać usług (ich pakiet pozwala na utworzenie 0 usług).
Można tworzyć użytkowników read-only (atrybut is_read_only
konta), w takim przypadku nie mogą oni modyfikować grup ani usług.
O tym, czy konto jest kontem dodatkowego użytkownika, czy kontem podstawowym, decyduje atrybut parent_account_id
- identyfikator konta "nadrzędnego",
którego użytkownikiem jest dane konto lub NULL jeśli jest to konto główne.
Konta dodatkowych użytkowników innego konta nie mogą tworzyć własnych dodatkowych użytkowników.
Oprócz tworzenia dodatkowych użytkowników konta istnieje możliwość udostępniania grup innym kontom, być może niezwiązanym w żaden inny sposób z kontem użytkownika.
Konta, którym możemy udostępniać grupy, mają aktywne uprawnienie permissions.share_groups
- jeśli chcesz udostępnić usługi innemu użytkownikowi, skontaktuj się z Biurem Obsługi Klienta.
Grupy, które możemy im udostępniać, mają aktywne uprawnienie permissions.share
.
Do zarządzania udostępnieniami grupy służy zasób /groups/{_id}/shares
.
Domyślnie grupa udostępniana jest jedynie tylko do odczytu, ale można umożliwić edycję grupy oraz usług do niej należących.
Służą do tego atrybuty can_modify_group
i can_modify_services
obiektu udostępnienia (share
).
Dostępne są dwa sposoby zawieszania monitoringu usług:
weekly_suspensions
(z atrybutem only_notifications
ustawionym na false
) umożliwiające planowanie cotygodniowych zawieszeń monitoringu z dokładnością do minuty.
Harmonogram tygodniowy działa w strefie czasowej konta, do którego należy usługa.
suspensions
(z atrybutem only_notifications
ustawionym na false
), umożliwiające szczegółowe zaplanowanie jednorazowych zawieszeń monitoringu.
Dostępna jest także poprzednia wersja harmonogramu tygodniowego - atrybut suspension_hours
usługi, zawierający 168 zer lub jedynek oznaczający zawieszenie w kolejnych godzinach tygodnia.
Pierwsza godzina oznacza przedział 00:00:00 - 00:59:59 w poniedziałek.
Harmonogram tygodniowy działa w strefie czasowej konta, do którego należy usługa.
Nie jest zalecane korzystanie z tej wersji harmonogramu, zostanie ona usunięta w jednej z nadchodzących wersji API.
Wszytkie te ustawienia działają niezależnie od siebie - wystarczy, aby z jednego z nich wynikało, że usługa powinna być zawieszona, a monitoring zostanie wstrzymany.
Usługi, których monitoring nie jest wyłączony (atrybut is_active
ma wartość true
) oraz nie zostały czasowo zawieszone, są monitorowane.
Monitorowanie polega na cyklicznym wykonaniu tzw. analizy ("analysis") działania usługi, w ramach której jest wykonywane jedno lub więcej sprawdzeń ("checks").
Wynikiem analizy jest stwierdzenie, czy usługa działa poprawnie i ewentualne wysłanie powiadomień o zmianie stanu.
Dla każdej z monitorowanych usług system wykonuje analizy, które tworzą historię monitoringu. Nowa analiza może zostać rozpoczęta w wyniku:
interval
usługi,POST /services/{_id}/force_analysis
,disable_breakdown_checks
("Nie przyspieszaj sprawdzeń po wykryciu awarii"),
Analiza polega na:
sensors_failover_enabled
("Losuj zastępcze stacje monitorujące w przypadku awarii stacji"),
może ona na czas awarii zostać zastąpiona inną stacją; przy wyborze takiej stacji preferowane są stacje geograficznie zbliżone do awaryjnej.
error_tolerance
usługi ("Ile stacji monitorujących musi zgłosić błąd, aby został on uznany").
Za czas wykonania analizy (atrybut time
) przyjmuje się czas podjęcia decyzji o nowym statusie usługi.
Identyfikatory analiz pojedynczej usługi są napisami złożonymi z piętnastu cyfr dziesiętnych, na przykład 147401403020222
.
Pojedynczą analizę można pobrać za pomocą wywołania GET /services/{_id}/history/analyses/{_analysis_id}
, na przykład GET /services/1000/history/analyses/147401403020222
.
Piętnastocyfrowy identyfikator jest unikalny jedynie w obrębie pojedynczej usługi - może okazać się, że inna usługa będzie miała analizę z tym samym identyfikatorem.
"Kluczem głównym" analiz jest para ID usługi + 15-cyfrowe ID analizy.
Jeśli w adresie URL zasobu występuje ID analizy, można w jego miejsce użyć jednej ze specjalnych wartości:
last_analysis
- ID ostatniej wykonanej analizy dla usługi,last_ok_analysis
- ID ostatniej analizy, która zakończyła się sukcesem (stwierdzeniem, że usługa działa poprawnie),last_failure_analysis
- ID ostatniej analizy, która zakończyła się wykryciem awarii usługi.
Na przykład aby pobrać sprawdzenia wchodzące w skład ostatniej analizy usługi o identyfikatorze 12345, można użyć zapytania GET /services/12345/history/analyses/last_analysis/checks
.
Uważny Czytelnik zauważy zapewne, że identyfikatory analiz są prawdopodobnie generowane na podstawie timestampów uniksowych. Tak jest w istocie, ale nie należy na tym fakcie polegać - w szczególności analizy posortowane po czasie nie muszą być zgodne z posortowanymi po identyfikatorze.
Zgodnie z powyższym opisem sposobu wykonywania analiz, w skład każdej analizy wchodzą sprawdzenia, każde wykonywane na innej stacji monitorującej.
Dlatego identyfikatorem pojedynczego sprawdzenia jest identyfikator analizy i identyfikator stacji monitorującej, czyli trójka ID usługi + 15-cyfrowe ID analizy + ID stacji monitorującej.
Stąd wynika format adresu sprawdzenia: GET /services/1000/history/analyses/147401403020222/checks/24
(w tym przypadku 24 to ID stacji monitorującej).
Dla pojedynczego sprawdzenia można pobrać dodatkowo:
GET /services/{_id}/history/analyses/{_analysis_id}/checks/{_sensor_id}/details
,GET /services/{_id}/history/analyses/{_analysis_id}/checks/{_sensor_id}/artifacts
.W każdym momencie usługa jest w jednym z trzech podstawowych stanów:
ok
- poprawne działanie - monitoring jest włączony, ostatnia analiza nie wykryła błędu,failure
- niepoprawne działanie - monitoring jest włączony, ostatnia analiza wykryła błąd,paused
- stan jest nieznany ze względu na zatrzymanie (ręczne lub automatyczne zawieszenie) monitoringu usługi.Tak zdefiniowany stan działania usługi może zmienić się w wyniku:
ok
lub failure
) - np. błędna analiza może spowodować status failure
,paused
).
Historię tak zdefiniowanych zmian można pobrać za pomocą wywołania GET /services/{_id}/history/status_changes
.
Historia ta zawiera między innymi edytowalny opis każdej zmiany stanu, przyczynę przejścia w wybrany stan (identyfikator analizy lub rodzaj pauzy / zawieszenia), czas rozpoczęcia i zakończenia przebywania usługi w danym stanie.
Dla stanów ok
i failure
można dodatkowo pobrać liczbę sprawdzeń wykonanych na każdej ze stacji monitorujących podczas przebywania usługi w danym stanie (GET /services/{_id}/history/status_changes/{_change_id}/stats
).
Dane Service Level w raportach i na wykresach są generowane na podstawie zmian stanów, można jednak nakładać na nie korekty, które powodują zmianę stanu działania usługi na inny w wybranym przedziale czasowym. Korekty nie wpływają na historię zmian stanów, sprawdzeń ani analiz, jedynie na wyniki Service Level.
Korekty można pobierać, tworzyć, edytować i usuwać za pomocą zasobu /corrections
.
Korekty dodane później nadpisują wcześniejsze korekty dla tego samego przedziału czasowego.
Do zmian stanów można dowiązać statystyki korekt zawierające informacje o liczbie korekt wpływających na daną zmianę stanu oraz o liczbie sekund tej zmiany pokrytych korektami.
Informacje o aktualnym stanie działania usługi są dostępne w stowarzyszonym z nią obiekcie service_status
.
Każda usługa posiada dokładnie jeden obiekt service_status
, o takim samym identyfikatorze, co usługa.
Status jest obiektem informacyjnym, którego nie można modyfikować.
Jego głównym polem jest summary
, zawierające podsumowanie statusu usługi.
Wartość tego pola wynika jednoznacznie z wartości pól check_status
(status działania usługi), monitoring_status
(status monitoringu usługi) oraz check_status_is_up_to_date
(ważność wyników z ostatniej analizy) w następujący sposób:
failure
- monitoring_status == "on" && check_status == "failure" && check_status_is_up_to_date
ok
- monitoring_status == "on" && check_status == "ok" && check_status_is_up_to_date
paused
- monitoring_status == "off"
suspended
- monitoring_status == "suspended"
unknown
- monitoring_status == "on" && !check_status_is_up_to_date
Oprócz statusów cząstkowych i zargegowanego, obiekty service_statuses
zawierają pola określające:
notifications_status
,last_check_status_change_time
,last_analysis_id
, last_analysis_time
, last_ok_analysis_id
, last_ok_analysis_time
, last_failure_analysis_id
oraz last_failure_analysis_time
.
Od wersji 3.3 możliwe jest pobranie dzienników wysłanych powiadomień (notifications
) oraz zmian stanów działania usług
(status_changes
) dla konta, a od wersji 3.4 także logowań do konta (sesji utworzonych za pomocą OAuth2 lub zasobu auth_token
-
authentications
).
Do przeglądania dzienników służą zasoby /accounts/{_id}/logs/*
.
O ile w dokumentacji operacji pobierania danych dziennika nie zostało powiedziane inaczej, dzienniki są dostępne przez 400 dni.
Pobieranie dzienników konta wymaga uprawnienia read_logs
do konta.
Za pomocą operacji GET /accounts/{_id}/stats
można pobrać statystyki dotyczące liczby usług i kroków, zarówno należących do konta jak i mu udostępnionych.
Pobieranie statystyk wymaga uprawnienia read_stats
do konta.
Niektóre ze zdarzeń, na przykład wykrycie awarii lub jej koniec, powodują wysłanie powiadomień.
Adresy powiadomień (np. adresy e-mail, numery telefonu itp.) są reprezentowane przez obiekty notification_addresses
.
Typ adresu jest określony przez jego kanał powadomień - jeden z obiektów ze słownika
notification_channels
.
Każdy adres powiadomień jest przypisany do jednej grupy usług.
Powiadomienia o zdarzeniach dotyczących usług z danej grupy będą wysyłane na adresy przypisane do niej.
Dla każdej z usług można włączyć lub wyłączyć wybrane kanały powiadomień modyfikując jej atrybut notification_channel_ids
- tablicę identyfikatorów włączonych kanałów powiadomień.
Możliwe jest powiadamianie o następujących zdarzeniach:
failure
- wykrycie awarii (błędna analiza w przypadku, kiedy poprzednia była poprawna, usługa była wcześniej zatrzymana lub pierwsza po utworzeniu usługi),failure_continuation
- kontynuacja awarii (kolejna błędna analiza po wykryciu awarii, wysyłane kilka razy po wykryciu awarii, ale nie częściej niż raz na minutę),pause
- zatrzymanie monitoringu usługi przez użytkownika (nie dotyczy zawieszeń według harmonogramu),recovery
- koniec awarii (poprawna analiza w przypadku, kiedy poprzednia analiza była błędna),silent_failure
- kontynuacja awarii po wyjściu z trybu cichego (wykrycie awarii podczas przebywania usługi w trybie cichym) i późniejsze zakończenie tego trybu.
Zdarzenia, o których chcemy być powiadamiani, można dla każdej z usług ustawić modyfikując jej atrybut notification_condition_ids
.
Jest to tablica identyfikatorów obiektów ze słownika
notification_conditions
.
Jeśli nie chcemy być powiadamiani o "krótkich" awariach, możemy zmienić tryb wysyłania powiadomień (atrybut notification_mode_id
usługi, identyfikator obiektu
ze słownika notification_modes
).
Dostępne tryby:
off
- wyłączenie wszystkich powiadomień dla usługi,default
- domyślny tryb - wysyłanie powiadomienia bezpośrednio po wykryciu awarii,after_30_seconds_failure
, after_1_minute_failure
, after_5_minutes_failure
, after_10_minutes_failure
, after_15_minutes_failure
, after_30_minutes_failure
, - wysyłania powiadomienia o awarii dopiero kiedy awaria trwa odpowiednio 30 sekund, 1, 5, 10, 15 lub 30 minut.
W przypadku wybrania jednej z opcji after_*_failure
po wybranym czasie trwania awarii wykonywana jest dodatkowa analiza "potwierdzająca".
Powiadomienie jest wysyłane dopiero, kiedy usługa po tej analizie wciąż będzie w stanie awarii.
Atrybut recovery_notification_mode_id
działa podobnie jak notification_mode_id
, ale dotyczy opóźnionych powiadomień o końcu awarii
(słownik: recovery_notification_modes
).
Można także określić godziny doby, w których nie chcemy otrzymywać żadnych powiadomień - tzw. tryb cichy.
Służą do tego zasoby suspensions
i weekly_suspensions
z atrybutem only_notifications
.
Podobnie jak w przypadku zawieszeń monitoringu, zawieszanie powiadomień działa w strefie czasowej konta, do którego należy usługa.
Podczas trybu cichego usługa jest monitorowana w normalny sposób, jedynie powiadomienia nie są wysyłane.
Dostępna jest także poprzednia wersja trybu cichego: atrybut silent_hours
usługi - 24 zera lub jedynki oznaczające kolejne godziny doby.
Podobnie jak suspension_hours
, ten mechanizm zostanie wyłączony w jednej z nadchodzących wersji API i nie jest zalecane korzystanie z niego.
Jeśli podczas trwania trybu cichego usługa przestała działać, można otrzymać powiadomienie bezpośrednio po zakończeniu trybu cichego.
W tym celu należy włączyć warunek powiadomień silent_failure
dla usługi.
Uwaga: Poniższy prosty mechanizm generowania raportów okresowych powstał przed ich nową wersją i działa od niej niezależnie.
Możliwe jest wysyłanie na wybrane adresy e-mail raportów okresowych o działaniu usług w formacie PDF.
Adresy wysyłki raportów są reprezentowane przez obiekty periodic_report_addresses
(docelowo będą one zastąpione przez nową wersję modułu raportów).
Adresy raportów, podobnie jak adresy powiadomień, są przypisane do grup usług i dotyczą wszystkich usług w grupie.
Każdy adres posiada atrybut report_frequency
oznaczający częstotliwość wysyłania raportu - raz na dobę, raz na tydzień lub raz na miesiąc.
Jeśli chcemy otrzymywać wszystkie trzy typy raportów, należy utworzyć trzy adresy przypisane do grupy.
Można włączyć lub wyłączyć wysyłanie raportów dla grupy modyfikując jej atrybuty periodic_daily_reports
, periodic_weekly_reports
i periodic_monthly_reports
.
Poniżej przedstawione są szczegółowe zasady obliczania uprawnień (permissions
) dla poszczególnych typów obiektów.
Zasady te są miejscami dość skomplikowane, ale w większości przypadków powinno wystarczyć dowiązanie odpowiedniego obiektu permissions
.
Na przykład, aby na liście grup usług w aplikacji wyświetlić (lub nie) przycisk usuwania danej grupy, wystarczy dowiązać do pobieranych grup permissions.delete
,
nie przejmując się zbytnio z czego dokładnie wynika jego wartość.
Użytkownik może pobierać (read
) obiekty kont:
O ile użytkownik nie jest użytkownikiem read-only, może także:
update
) własne konto oraz konto, którego jest dodatkowym użytkownikiem, a także konta dodatkowych użytkowników własnego konta oraz konta, którym może udostępniać grupy (wymaga włączenia tej opcji przez administratorów Monit24.pl),delete
),create_subaccounts
) własnego konta (o ile sam nie jest dodatkowym użytkownikiem innego konta) oraz konta, którego jest dodatkowym użytkownikiem,create_groups
) przypisane do własnego konta oraz konta, którego jest dodatkowym użytkownkiem,create_report_templates
) przypisane do własnego konta oraz konta, którego jest dodatkowym użytkownkiem,share_groups
) kontom zdefiniowanymi przez administratora systemu.Użytkownik może także przeglądać dzienniki i pobierać statystyki własnego konta oraz konta, którego jest dodatkowym użytkownikiem.
Użytkownik może pobierać (read
) pakiety:
Użytkownik może pobierać (read
) grupy:
Jeśli nie jest użytkownikiem read-only, może także:
update
) własne grupy, grupy należące do konta, którego jest dodatkowym użytkownikiem oraz grupy udostępnione mu lub kontu, którego jest dodatkowym użytkownikiem z flagą can_modify_group
,delete
) własne grupy oraz grupy należące do konta, którego jest dodatkowym użytkownikiem, za wyjątkiem grup domyślnych,create_services
) we własnych grupach, grupach konta, którego jest dodatkowym użytkownikiem oraz grupach udostępnionych mu z flagą can_create_services
,create_notification_addresses
) i raportów okresowych (create_periodic_report_addresses
) w grupach, które może modyfikować,share
) własne grupy,send_test_sms_notifications
) na numery telefonu przypisane do własnych grup.Użytkownik może pobierać (read
) usługi należące do grup, do których ma dostęp.
Jeśli użytkownik nie jest użytkownikiem read-only, może ponadto:
update
) własne usługi, usługi konta, którego jest dodatkowym użytkownikiem, oraz usługi udostępnione mu lub kontu, którego jest dodatkowym użytkownikiem z ustawioną flagą can_modify_services
,delete
) własne usługi oraz usługi konta, którego jest dodatkowym użytkownikiem,create_suspensions
) oraz wymuszać dodatkowe analizy działania (force_analyses
) usług, które może modyfikować,send_test_sms_notifications
) na numery telefonu przypisane do własnych usług.Użytkownik może pobierać (read
) raporty należące do niego oraz do konta, którego jest dodatkowym użytkownikiem.
Jeśli nie jest użytkownikiem read-only, może ponadto usuwać (delete
) raporty, do których ma dostęp, z wyłączeniem raportów aktualnie generowanych (dla których pole status
ma wartość in_progress
).
Użytkownik może pobierać (read
) udostępnienia grup:
Jeśli nie jest użytkownikiem read-only, może także modyfikować (update
) i usuwać (delete
) udostępnienia własnych grup innym użytkownikom.
Użytkownik może pobierać (read
) adresy raportów okresowych (periodic_report_addresses
) przypisane do grup, do których ma dostęp.
Jeśli może modyfikować (update
) daną grupę, to może także modyfikować (update
) i usuwać (delete
) adresy raportów przypisane do niej.
Użytkownik może pobierać (read
) adresy powiadomień przypisane do grup, do których ma dostęp.
Jeśli może modyfikować (update
) daną grupę, to może także modyfikować (update
) i usuwać (delete
) adresy powiadomień przypisane do niej.
Może także wysyłać testowe powiadomienia SMS na adresy będące numerami telefonu (dla których kanał powiadomień to sms
) przypisane do własnych grup.
Użytkownik może pobierać (read
) zawieszenia usług, do których ma dostęp.
Może także modyfikować (update
) i usuwać (delete
) zawieszenia usług, które może modyfikować (update
).
Użytkownik może pobierać (read
) zmiany statusu działania w historii usług, do których ma dostęp.
Może także modyfikować (update
) opisy zmian statusu usług, które może modyfikować (update
).
Użytkownik może pobierać (read
) jedynie własne dane użytkownika.
Jeśli nie jest read-only, to może je także modyfikować (update
).
Użytkownik może pobierać (read
) własne raporty i szablony, oraz należące do konta, którego jest dodatkowym użytkownikiem.
Jeśli nie jest użytkownikiem read-only, może także modyfikować (update
) szablony, generować raporty (create_reports
) oraz usuwać (delete
) raporty i szablony.
API administracyjne (zasoby /admin/...
) dostępne jest jedynie dla administratorów dystrybucji, np. administratorów Monit24.pl lub partnerów.
Należy traktować je jako oddzielne API, niezależne od pozostałych zasobów - administratorzy nie mają dostępu do zasobów użytkowników, a użytkownicy do zasobów administratorów.
W szczególności występujące w nim obiekty account
i package
nie muszą mieć takiego samego schematu i flag uprawnień, co konta i pakiety widziane przez użytkowników.
API administracyjne umożliwia między innymi zakładanie aktywowanych kont z pakietami innymi niż podstawowy lub pusty, blokadę kont czy pobieranie statystyk zużycia zasobów przez użytkowników.
Zasób /admin/accounts
oznacza konta użytkowników razem z ich danymi (to, co użytkownicy widzą jako user_data
).
Zasób /admin/packages
oznacza pakiety; flaga uprawnień create_accounts
oznacza, czy można tworzyć nowe konta z wybranym pakietem za pomocą wywołań POST /admin/accounts
.
Zasób /system
daje dostęp do narzędzi diagnostycznych i globalnych statystyk systemu Monit24.pl: