Glances - zaawansowany monitoring

Problemy z jakimi borykają się użytkownicy forum przy próbie uruchomienia monitoringu HA a zarazem monitoringu platformy na jakiej jest on uruchomiony, skłoniły mnie do głębszej analizy tematu i poszukania “czegoś” jeszcze prostszego.

Instalowanie kolejnych pakietów, ich konfiguracja, integracja a potem pisanie skryptów, napewno zniechęcają do startu a pojawiające się po drodze problemy bywają strasznie frustrujące. Zdecydowanie musi to być prostsze i łatwiejsze.

Po przejrzeniu możliwych natywnych integracji z HA postanowiłem bliżej przyjrzeć się systemowi Glances.

Glances is a cross-platform system monitoring tool written in Python.

Oprogramowanie daje naprawdę dużą liczbę informacji o systemie operacyjnym, o wykorzystanych zasobach, o zasobach uruchomionych procesów i dockerach, raportuje przekroczone parametry, pomaga zdiagnozować problemy. Jest to jego największa zaleta ale zarazem wada - złożoność informacji może przerażać początkującego użytkownika. Niestety przy okazji oprogramowanie jest zasobożerne, szczególnie pod kątem użycia CPU. Do zalet napewno zaliczyć można prostą instalację z oficjalnego add-on a później równie prostą integrację z HA - wszystko z GUI, bez edycji plików. Dodatkowo Glances moze być zainstalowany na każdym systemie linux, np. Proxmox.

Jak widać, Glances nie okazał się idealnym rozwiązaniem ale napewno jest warty rozważenia i przetestowania.

Instalacja tego dodatku w HA jest dość prosta i nie różni się od instalacji dowolnego innego dodatku Home Assistant.
Wyszukaj dodatek „Glances” w Add-ons w Supervisor i zainstaluj go.
image
Wyłącz tryb ochrony “Protection mode” w panelu dodatku:
image
Daje to dodatkowi pełny dostęp do całego systemu, co zwiększa ryzyko bezpieczeństwa i może uszkodzić system, gdy jest używany nieprawidłowo, stosowne ostrzeżenie na czerwono pokaże się w dodatku.
Domyślna konfiguracja w Configuration nie wymaga edycji.
Uruchom dodatek Glances poprzez przycisk Start.
Sprawdź Log aby zobaczyć, czy wszystko poszło dobrze.
Kliknij przycisk OPEN WEB UI i powinieneś zobaczyć ekran podobny do tego poniżej, jeżeli coś jest nieczytelne zmniejsz rozmiar okna przeglądarki aby dopasować tekst:

Jak widać mamy tutaj bardzo dużo informacji o wykorzystywanych zasobach, w moim przypadku to HassOS na RPi3. Widać tu bardzo dobrze jakie zasoby są wykorzystywane przez poszczególne add-ons zainstalowane jako kontenery w Dockerze, dzięki temu w łatwy sposób można sprawdzić jaki dodatek “zamula” HA. Najwięcej pożera Glances - 14,2% CPU ale to jest wartość procentowa wszystkich zasobów pobieranych przez Dockera, proszę nie mylić z zasobami CPU całego systemu (w tym przypadku użycie CPU jest na poziomie 15,3%, mamy spory zapas mocy).
Inne cenne informacje to:

  • zdarzenia typu warning i critical:
    image
  • zajętość katalogów HA:
    image
  • parametry czujników sprzetowych, np. temperatury:
    image
  • po naciśnieciu ‘z’ na klawiaturze dokładne użycie poszczególnych procesów w systemie:
    image

    sortowanie użycia po CPU po naciśnieciu ‘c’, po RAMie po naciśnieciu ‘m’, itd.

Integracja Home Assistant z Glances również jest prosta, Home Assistant wykorzystuje informacje systemowe dostarczone przez interfejs API systemu Glances. Umożliwia to śledzenie i wyświetlanie ich statystyk a nawet budowanie automatyzacji na podstawie tych danych.
Przejdź do Konfiguracja -> Integracje -> + i wyszukaj Glances.
Uwaga: podczas konfiguracji dodaj integrację ze wszystkimi ustawieniami domyślnymi z wyjątkiem portu, który powinien być 61209
image
Po zakończeniu integracji w Narzędzia deweloperskie sprawdź nowe dostepne encje:
image

Wkrótce instalacja i konfiguracja Glances na innych systemach …

Warto wspomnieć o problemie z wyciekiem pamięci w add-on’ie (jeśli nadal występuje), sam łatałem to dość dawno ręcznie.

Fajny ten dodatek, nawet nie wiedziałem, że ma takie funkcje, ale wciąż borykam się z rozrastaniem pamięci przed nodereda, po restarcie mam grubo poniżej 4Gb, a po 1 dniu sięga jak widać ponad 6Gb. Do czego zmierzam, mam wrażenie, że wszystkie te programy to jakoś nie do końca pokazują te parametry (porównanie moich screen z proxmoxa odnośnie ramu a glances - nie widzę sumy z proxmoxa, HA też nie widzi podobnych parametrów, wszędzie niby mam mnóstwo wolnego ramu



@luki25 spróbuje to wytłumaczyć:
to poniżej jest z u Ciebie z Promoxa - pokazuje ile z przydzielonej pamięci (7GiB) w maszynie wirtualnej o nazwie HomeAssistant jest wykorzystane przez system operacyjny (“HassOS”) na tej maszynie (6,17GiB):
image

W dodatku Glances użycie RAMu widoczne jest w pozycji MEM, w moim przypadku 66%:

i to sie zgadza z danymi z integracji System Monitor:
image
Zauważ, że również SWAP sie zgadza, ewentualne różnice wynikąją z odświeżania danych w HA i w dodatku Glances zgodnie z ustawieniami:
image

Zgodnie z wytycznymi na https://www.home-assistant.io/hassio/installation/ w przypadku Promoxa (obraz w formacie QCOW2):

  • For the virtual appliance images: Load the appliance image into your virtual machine software. (Note: You are free to assign as much resources as you wish to the VM, please assign enough based on your add-on needs)
    • For KVM create a new virtual machine in virt-manager, select “Import existing disk image”, provide the path to the QCOW2 image above, choose “Generic Default” for the operating system, assign at least 2 GB memory and 1 vCPU, check the box for “Customize configuration before install” and select your bridge under “Network Selection”, then under customization select “Overview” -> “Firmware” -> “UEFI x86_64: …”.

Twoje zasoby przydzielone do HA są naprawdę imponujące :grin:.

BTW. Glances możesz także zainstalować na Promoxie.