Samozdrowienie z apigee-monit

Apigee Edge dla Private Cloud obejmuje apigee-monit, narzędzie open source narzędzia Monit. Okresowo apigee-monit sonduje usługi Edge; jeśli usługa jest niedostępna, apigee-monit spróbuje ją uruchomić ponownie.

Aby użyć aplikacji apigee-monit, musisz zainstalować ją ręcznie. Nie jest częścią instalacji standardowej.

Domyślnie apigee-monit sprawdza stan usług brzegowych co 60 sekund.

Krótkie wprowadzenie

Z tej sekcji dowiesz się, jak szybko zacząć korzystać z usługi apigee-monit.

Jeśli korzystasz z Amazon Linux lub Oracle-Linux-7.X, najpierw zainstaluj zarabianie przez Fedora. W przeciwnym razie pomiń ten krok.

sudo yum install -y https://kojipkgs.fedoraproject.org/packages/monit/5.25.1/1.el6/x86_64/monit-5.25.1-1.el6.x86_64.rpm

Aby zainstalować apigee-monit, wykonaj te czynności:

  Zainstaluj apigee-monit
/opt/apigee/apigee-service/bin/apigee-service apigee-monit install
/opt/apigee/apigee-service/bin/apigee-service apigee-monit configure
/opt/apigee/apigee-service/bin/apigee-service apigee-monit start

Spowoduje to zainstalowanie elementu apigee-monit i domyślne rozpoczęcie monitorowania wszystkich komponentów w węźle.

  Zatrzymywanie monitorowania komponentów
/opt/apigee/apigee-service/bin/apigee-service apigee-monit unmonitor -c component_name
/opt/apigee/apigee-service/bin/apigee-service apigee-monit unmonitor -c all
  Rozpocznij monitorowanie komponentów
/opt/apigee/apigee-service/bin/apigee-service apigee-monit monitor -c component_name
/opt/apigee/apigee-service/bin/apigee-service apigee-monit monitor -c all
  Uzyskiwanie informacji o stanie podsumowania
/opt/apigee/apigee-service/bin/apigee-service apigee-monit report
/opt/apigee/apigee-service/bin/apigee-service apigee-monit summary
  Sprawdź pliki dziennika apigee-monit
cat /opt/apigee/var/log/apigee-monit/apigee-monit.log

Wszystkie te i inne tematy są szczegółowo opisane w kolejnych sekcjach.

apigee-monit – informacje

apigee-monit pomaga zapewnić nieprzerwane działanie wszystkich komponentów w węźle. Robi to przez świadcząc różne usługi, takie jak:

  • Ponownie uruchamiam usługi, których nie udało się uruchomić
  • Wyświetlam podsumowanie informacji
  • Stan monitorowania logowania
  • Wysyłam powiadomienia
  • Monitorowanie usług innych niż Edge

Apigee zaleca monitorowanie instancji apigee-monit, aby była ona uruchomiona. Aby dowiedzieć się więcej, Więcej informacji znajdziesz w artykule Monitorowanie apigee-monit.

architektura apigee-monit

Podczas instalacji i konfigurowania Apigee Edge Cloud Private Cloud możesz opcjonalnie zainstalować oddzielną instancję apigee-monit w każdym węźle klastra. Te oddzielne instancje apigee-monit działają niezależnie od inny: nie przekazują informacji o stanie swoich komponentów innym węzłem ani nie przekazywania informacji o awariach samego narzędzia do monitorowania do dowolnej usługi centralnej.

Ten obraz przedstawia architekturę apigee-monit w klastrze z 5 węzłami:

Architektura
  zarabiania z Apigee w klastrze 5 węzłów
Rys. 1. Oddzielne wystąpienie apigee-monit działa oddzielnie w każdym węźle klaster

Konfiguracje komponentów

Do określania, które komponenty mają być monitorowane, funkcja apigee-monit wykorzystuje konfiguracje komponentów. elementów do sprawdzenia i działań, jakie należy podjąć w przypadku awarii.

Domyślnie apigee-monit monitoruje wszystkie komponenty Edge w węźle, korzystając ze wstępnie zdefiniowanego komponentu. konfiguracji. Domyślne ustawienia znajdziesz w konfiguracji komponentu apigee-monit. . Nie możesz zmienić domyślnych konfiguracji komponentów.

apigee-monit sprawdza różne aspekty komponentu w zależności od tego, który komponent sprawdza. ta tabela zawiera informacje o tym, co apigee-monit sprawdza w przypadku każdego komponentu, oraz gdzie znajdziesz informacje o tym, dla każdego komponentu. Pamiętaj, że niektóre komponenty są zdefiniowane w jednej konfiguracji. z których każdy ma własne konfiguracje.

Komponent Lokalizacja konfiguracji Co jest monitorowane
Serwer zarządzania /opt/apigee/edge-management-server/monit/default.conf apigee-monit weryfikacji:
  • Określone porty są otwarte i akceptują żądania
  • Określone protokoły są obsługiwane
  • Stan odpowiedzi

Dodatkowo w przypadku tych komponentów apigee-monit:

  • Przed podjęciem działania wymaga wielu błędów w ciągu określonej liczby cykli
  • Ustawia niestandardową ścieżkę żądania
Procesor wiadomości /opt/apigee/edge-message-processor/monit/default.conf
Serwer Postgres /opt/apigee/edge-postgres-server/monit/default.conf
Serwer Qpid /opt/apigee/edge-qpid-server/monit/default.conf
Router /opt/apigee/edge-router/monit/default.conf
Cassandra
Interfejs Edge
OpenLDAP
Postgres
Qpid
Miłośnik zoo
/opt/apigee/data/apigee-monit/monit.conf apigee-monit weryfikacji:
  • Usługa jest uruchomiona

Przykład poniżej pokazuje domyślną konfigurację komponentu edge-router. składnik:

check host edge-router with address localhost
  restart program = "/opt/apigee/apigee-service/bin/apigee-service edge-router monitrestart"
  if failed host 10.1.1.0 port 8081 and protocol http
    and request "/v1/servers/self/uuid"
    with timeout 15 seconds
    for 2 times within 3 cycles
  then restart

  if failed port 15999 and protocol http
    and request "/v1/servers/self"
    and status < 600
    with timeout 15 seconds
    for 2 times within 3 cycles
  then restart

Przykład poniżej przedstawia domyślną konfigurację klasycznego interfejsu użytkownika (edge-ui). składnik:

check process edge-ui
 with pidfile /opt/apigee/var/run/edge-ui/edge-ui.pid
 start program = "/opt/apigee/apigee-service/bin/apigee-service edge-ui start" with timeout 55 seconds
 stop program = "/opt/apigee/apigee-service/bin/apigee-service edge-ui stop"

Dotyczy to klasycznego interfejsu użytkownika, a nie nowego interfejsu Edge, którego nazwa komponentu to edge-management-ui

Nie możesz zmienić domyślnych konfiguracji żadnego komponentu Apigee Edge dla chmury prywatnej. Możesz: dodaj jednak własne konfiguracje komponentów na potrzeby usług zewnętrznych, np. docelowego punktu końcowego lub httpd. Więcej informacji: Konfiguracje komponentów innych niż Apigee.

Domyślnie apigee-monit monitoruje wszystkie komponenty w węźle, w którym działa. Możesz włączyć lub możesz ją wyłączyć dla wszystkich komponentów albo dla poszczególnych komponentów. Aby dowiedzieć się więcej, zobacz:

Zainstaluj apigee-monit

Aplikacja apigee-monit nie jest zainstalowana domyślnie. możesz zainstalować ją ręcznie po uaktualnieniu lub zainstalowaniu wersji 4.19.01 lub nowszej Apigee Edge dla Private Cloud.

W tej sekcji dowiesz się, jak zainstalować apigee-monit.

Informacje o odinstalowywaniu apigee-monit znajdziesz w Odinstaluj aplikację apigee-monit.

Zainstaluj apigee-monit

W tej sekcji dowiesz się, jak zainstalować apigee-monit.

Aby zainstalować aplikację apigee-monit:

  1. Zainstaluj apigee-monit za pomocą tego polecenia:
    /opt/apigee/apigee-service/bin/apigee-service apigee-monit install
  2. Skonfiguruj apigee-monit za pomocą tego polecenia:
    /opt/apigee/apigee-service/bin/apigee-service apigee-monit configure
  3. Uruchom apigee-monit tym poleceniem:
    /opt/apigee/apigee-service/bin/apigee-service apigee-monit start
  4. Powtórz tę procedurę w każdym węźle klastra.

Zatrzymywanie i rozpoczynanie monitorowania komponentów

Gdy usługa zostanie zatrzymana z dowolnego powodu, apigee-monit spróbuje ją uruchomić ponownie.

Może to powodować problemy, jeśli chcesz celowo zatrzymać komponent. Możesz na przykład: Zatrzymać komponent, gdy trzeba utworzyć jego kopię zapasową lub uaktualnić go. Jeśli apigee-monit ponownie uruchomi usługę podczas tworzenia kopii zapasowej lub uaktualniania, procedura konserwacji może być może zakłócić działanie usługi.

W sekcjach poniżej znajdziesz opcje, które pozwalają zatrzymać monitorowanie komponentów.

Zatrzymywanie komponentu i wznawianie jego monitorowania

Aby zatrzymać komponent i anulować jego monitorowanie, wykonaj to polecenie:

/opt/apigee/apigee-service/bin/apigee-service apigee-monit stop-component -c component_name
component_name może być jedną z tych:
  • apigee-cassandra (Cassandra)
  • apigee-openldap (OpenLDAP)
  • apigee-postgresql (baza danych PostgreSQL)
  • apigee-qpidd (kwartał)
  • apigee-sso (SSO – logowanie jednokrotne)
  • apigee-zookeeper (ZooKeeper)
  • edge-management-server (serwer zarządzania)
  • edge-management-ui (nowy interfejs Edge)
  • edge-message-processor (procesor wiadomości)
  • edge-postgres-server (serwer Postgres)
  • edge-qpid-server (serwer Qpid)
  • edge-router (router brzegowy)
  • edge-ui (klasyczny interfejs)

„Wszystkie” nie jest prawidłową opcją dla stop-component. Możesz zatrzymywać umożliwia sprawdzanie tylko 1 komponentu naraz za pomocą funkcji stop-component.

Aby ponownie uruchomić komponent i wznowić monitorowanie, wykonaj to polecenie:

/opt/apigee/apigee-service/bin/apigee-service apigee-monit start-component -c component_name

„Wszystkie” nie jest prawidłową opcją dla start-component.

Instrukcje dotyczące zatrzymywania i wznawiania monitorowania wszystkich komponentów znajdziesz w sekcji Zatrzymaj wszystkie komponenty i wyłącz ich monitorowanie.

Wyłącz monitorowanie komponentu (ale nie zatrzymuj go)

Aby wyłączyć monitorowanie komponentu (ale nie go zatrzymywać), uruchom to polecenie:

/opt/apigee/apigee-service/bin/apigee-service apigee-monit unmonitor -c component_name
component_name może być jedną z tych:
  • apigee-cassandra (Cassandra)
  • apigee-openldap (OpenLDAP)
  • apigee-postgresql (baza danych PostgreSQL)
  • apigee-qpidd (kwartał)
  • apigee-sso (SSO – logowanie jednokrotne)
  • apigee-zookeeper (ZooKeeper)
  • edge-management-server (serwer zarządzania)
  • edge-management-ui (nowy interfejs Edge)
  • edge-message-processor (procesor wiadomości)
  • edge-postgres-server (serwer Postgres)
  • edge-qpid-server (serwer Qpid)
  • edge-router (router brzegowy)
  • edge-ui (klasyczny interfejs)

Aby wznowić monitorowanie komponentu, uruchom to polecenie:

/opt/apigee/apigee-service/bin/apigee-service apigee-monit monitor -c component_name

Wyłącz monitorowanie wszystkich komponentów (ale nie zatrzymuj ich)

Aby wyłączyć monitorowanie wszystkich komponentów (ale ich nie zatrzymywać), uruchom to polecenie:

/opt/apigee/apigee-service/bin/apigee-service apigee-monit unmonitor -c all

Aby wznowić monitorowanie wszystkich komponentów, uruchom to polecenie:

/opt/apigee/apigee-service/bin/apigee-service apigee-monit monitor -c all

Zatrzymaj wszystkie komponenty i usuń ich monitorowanie.

Aby zatrzymać wszystkie komponenty i wyłączyć ich monitorowanie, wykonaj te polecenia:

/opt/apigee/apigee-service/bin/apigee-service apigee-monit unmonitor -c all
/opt/apigee/apigee-service/bin/apigee-all stop

Aby ponownie uruchomić wszystkie komponenty i wznowić monitorowanie, wykonaj te polecenia:

/opt/apigee/apigee-service/bin/apigee-all start
/opt/apigee/apigee-service/bin/apigee-service apigee-monit monitor -c all

Aby zatrzymać monitorowanie wszystkich komponentów, możesz też wyłączyć apigee-monit zgodnie z opisem w sekcji Zatrzymywanie, uruchamianie i wyłączanie apigee-monit.

Zatrzymywanie, uruchamianie i wyłączanie apigee-monit

Tak jak w przypadku każdej usługi, możesz zatrzymać i uruchomić apigee-monit, korzystając z: apigee-service . Dodatkowo apigee-monit obsługuje polecenie unmonitor, które umożliwia tymczasowo zatrzymać monitorowanie komponentów.

Zatrzymaj apigee-monit

Aby zatrzymać funkcję apigee-monit, użyj tego polecenia:

/opt/apigee/apigee-service/bin/apigee-service apigee-monit stop

Uruchom apigee-monit

Aby uruchomić funkcję apigee-monit, użyj tego polecenia:

/opt/apigee/apigee-service/bin/apigee-service apigee-monit start

Wyłącz apigee-monit

Możesz zawiesić monitorowanie wszystkich komponentów w węźle przy użyciu tego polecenia:

/opt/apigee/apigee-service/bin/apigee-service apigee-monit unmonitor -c all

Możesz też trwale wyłączyć interfejs apigee-monit, odinstalowując go z węzła zgodnie z opisem w sekcji Odinstaluj apigee-monit.

Odinstaluj apigee-monit

Aby odinstalować aplikację apigee-monit:

    conf_monit_httpd_port Port demona httpd. Organizacja apigee-monit używa httpd jako panelu oraz aby włączyć raporty/podsumowania. Wartością domyślną jest 2812. conf_monit_httpd_allow Ograniczenia dotyczące żądań wysyłanych do demona httpd. Zastosowania: apigee-monit httpd, aby uruchomić aplikację z panelem i włączyć raporty/podsumowania. Ta wartość musi wskaż hosta lokalnego (hosta, na którym działa httpd;

    Aby wymagać podania nazwy użytkownika i hasła, użyj tej składni:

    conf_monit_httpd_allow=allow username:"password"\nallow 127.0.0.1

    Podczas dodawania nazwy użytkownika i hasła wstaw „\n” między poszczególnymi ograniczeniami. Nie wolno wstawić rzeczywiste znaki nowego wiersza lub znaki przejścia do nowej linii w wartości.

    conf_monit_monit_datadir Katalog, w którym przechowywane są szczegóły zdarzenia. conf_monit_monit_delay_time Czas, przez jaki funkcja apigee-monit oczekuje od pierwszego załadowania do pamięci, zanim zostanie załadowana biegi. Ma to wpływ tylko na apigee-monit podczas pierwszego sprawdzenia procesu. conf_monit_monit_logdir Lokalizacja pliku dziennika apigee-monit. conf_monit_monit_retry_time Częstotliwość, z jaką apigee-monit próbuje sprawdzać każdy proces; domyślna wartość to 60 sek. conf_monit_monit_rundir Lokalizacja plików PID i plików stanu, których apigee-monit używa do sprawdzania procesów.

    Aby dostosować domyślne ustawienia elementu sterującego apigee-monit:

    1. Edytuj ten plik:
      /opt/apigee/customer/application/monit.properties

      Jeśli plik nie istnieje, utwórz go i ustaw właściciela na „apigee”. użytkownik:

      chown apigee:apigee /opt/apigee/customer/application/monit.properties

      Pamiętaj, że jeśli plik już istnieje, mogą być zdefiniowane dodatkowe właściwości konfiguracji poza tymi w tabeli powyżej. Nie należy modyfikować właściwości innych niż tych wymienionych powyżej.

    2. Ustaw lub zastąp wartości właściwości nowymi wartościami.

      Aby na przykład zmienić lokalizację pliku dziennika na /tmp, dodaj lub zmodyfikuj tę usługę:

      conf_monit_monit_logdir=/tmp/apigee-monit.log
    3. Zapisz zmiany w pliku monit.properties.
    4. Załaduj ponownie usługę apigee-monit za pomocą tego polecenia:
      /opt/apigee/apigee-service/bin/apigee-service apigee-monit reload

      Jeśli apigee-monit nie uruchomi się ponownie, sprawdź plik dziennika pod kątem błędów opisanych w Dostęp do plików dziennika apigee-monit.

    5. Powtórz tę procedurę dla każdego węzła w klastrze.

    Pamiętaj, że dotyczy to tylko komponentów innych niż Edge. Nie możesz dostosowywać konfiguracji komponentów dla komponentów Edge.

    Dostęp do plików dziennika apigee-monit

    Aplikacja apigee-monit rejestruje w dzienniku całą aktywność, w tym zdarzenia, ponowne uruchomienia, zmiany konfiguracji i alerty .

    Domyślna lokalizacja pliku dziennika:

    /opt/apigee/var/log/apigee-monit/apigee-monit.log

    Możesz zmienić domyślną lokalizację, dostosowując element sterujący apigee-monit ustawieniach.

    Wpisy w pliku dziennika mają następujący format:

    'edge-message-processor' trying to restart
    [UTC Dec 14 16:20:42] info     : 'edge-message-processor' trying to restart
    'edge-message-processor' restart: '/opt/apigee/apigee-service/bin/apigee-service edge-message-processor monitrestart'

    Nie możesz dostosować formatu wpisów w pliku dziennika apigee-monit.

    Wyświetl zagregowany stan za pomocą apigee-monit

    apigee-monit zawiera te polecenia, które dostarczają zbiorcze informacje o stanie komponenty w węźle:

    Polecenie Wykorzystanie
    report
    /opt/apigee/apigee-service/bin/apigee-service apigee-monit report
    summary
    /opt/apigee/apigee-service/bin/apigee-service apigee-monit summary

    Każde z nich zostało szczegółowo wyjaśnione w dalszej części tego artykułu.

    raport

    Polecenie report zawiera podsumowanie liczby komponentów, które są już skonfigurowane. nie działa, jest obecnie inicjowany lub obecnie nie jest monitorowany w węźle. Ten przykład wywołuje polecenie report:

    /opt/apigee/apigee-service/bin/apigee-service apigee-monit report

    Poniższy przykład pokazuje dane wyjściowe funkcji report na AIO (wszystko w jednym) Konfiguracja:

    /opt/apigee/apigee-service/bin/apigee-service apigee-monit report
    up:            11 (100.0%)
    down:           0 (0.0%)
    initialising:   0 (0.0%)
    unmonitored:    1 (8.3%)
    total:         12 services

    W tym przykładzie usługa apigee-monit zgłosiła, że 11 z 12 usług działa. Jedna usługa nie jest obecnie monitorowane.

    Przy pierwszym wykonaniu polecenia może pojawić się błąd Connection refused report. W tym przypadku poczekaj do zakończenia conf_monit_monit_delay_time i spróbuj ponownie.

    podsumowanie

    Polecenie summary zawiera listę wszystkich komponentów wraz z informacjami o ich stanie. Poniżej przykład wywołuje polecenie summary:

    /opt/apigee/apigee-service/bin/apigee-service apigee-monit summary

    Poniższy przykład pokazuje dane wyjściowe funkcji summary na AIO (wszystko w jednym) Konfiguracja:

    /opt/apigee/apigee-service/bin/apigee-service apigee-monit summary
    Monit 5.25.1 uptime: 4h 20m
     Service Name                     Status                      Type
     host_name                        OK                          System
     apigee-zookeeper                 OK                          Process
     apigee-cassandra                 OK                          Process
     apigee-openldap                  OK                          Process
     apigee-qpidd                     OK                          Process
     apigee-postgresql                OK                          Process
     edge-ui                          OK                          Process
     edge-qpid-server                 OK                          Remote Host
     edge-postgres-server             OK                          Remote Host
     edge-management-server           OK                          Remote Host
     edge-router                      OK                          Remote Host
     edge-message-processor           OK                          Remote Host

    Jeśli podczas pierwszego wykonywania polecenia pojawi się błąd Connection refused summary. Poczekaj chwilę conf_monit_monit_delay_time i spróbuj ponownie.

    Monitorowanie apigee-monit

    Zalecamy regularne sprawdzanie, czy apigee-monit działa w każdym węźle.

    Aby sprawdzić, czy apigee-monit jest uruchomiony, użyj tego polecenia:

    /opt/apigee/apigee-service/bin/apigee-service apigee-monit monitor_monit

    Apigee zaleca okresowe wykonywanie tego polecenia w każdym węźle, na którym działa apigee-monit. Możesz to zrobić na przykład za pomocą narzędzia takiego jak cron, które wykonuje zaplanowane zadania w z predefiniowanymi przedziałami czasu.

    Aby użyć aplikacji cron do monitorowania apigee-monit:

    1. Dodaj pomoc dotyczącą usługi cron, kopiując dokument apigee-monit.cron do katalogu /etc/cron.d, jak w tym przykładzie:
      cp /opt/apigee/apigee-monit/cron/apigee-monit.cron /etc/cron.d/
    2. Otwórz plik apigee-monit.cron, aby go edytować.

      Plik apigee-monit.cron określa zadanie cron, które ma zostać wykonane oraz częstotliwość wykonywania tego zadania. Następujący przykład pokazuje domyślną wartość wartości:

      # Cron entry to check if monit process is running. If not start it
      */2 * * * * root /opt/apigee/apigee-service/bin/apigee-service apigee-monit monitor_monit

      W tym pliku zastosowano następującą składnię, w której pierwsze 5 pól określa czas apigee-monit wykonuje działanie:

      min hour day_of_month month day_of_week task_to_execute

      Na przykład domyślny czas wykonania to */2 * * * *, co instruuje cron, aby sprawdzać proces apigee-monit co 2 minuty.

      Nie możesz wykonywać zadania cron częściej niż raz na minutę.

      Więcej informacji o korzystaniu z cron znajdziesz w dokumentacji systemu operacyjnego serwera lub w podręczniku stron.

    3. Zmień ustawienia cron tak, aby były zgodne z zasadami Twojej organizacji. Aby na przykład: zmień częstotliwość wykonywania na co 5 minut, ustaw definicję zadania na taką:
      */5 * * * * root /opt/apigee/apigee-service/bin/apigee-service apigee-monit monitor_monit
    4. Zapisz plik apigee-monit.cron.
    5. Powtórz tę procedurę dla każdego węzła w klastrze.

    Jeśli cron nie rozpocznie oglądania filmu apigee-monit, sprawdź, czy:

    • Po definicji zadania cron znajduje się pusty wiersz.
    • W pliku jest zdefiniowane tylko 1 zadanie cron. (Wiersze skomentowane nie count.)

    Jeśli chcesz zatrzymać lub tymczasowo wyłączyć usługę apigee-monit, musisz wyłączyć to zadanie cron, również. W przeciwnym razie cron uruchomi się ponownie apigee-monit.

    Aby wyłączyć usługę cron, wykonaj jedną z tych czynności:

    • Usuń plik /etc/cron.d/apigee-monit.cron:
      sudo rm /etc/cron.d/apigee-monit.cron

      Konieczne będzie jego ponowne skopiowanie, później chcesz ponownie włączyć usługę cron, aby obejrzeć program apigee-monit.

      LUB

    • Edytuj plik /etc/cron.d/apigee-monit.cron i skomentuj zadanie przez dodanie znaku „#” na początku wiersza, np.:
      # 10 * * * * root /opt/apigee/apigee-service/bin/apigee-service apigee-monit monitor_monit