PDF

Monitorowanie Linux Sysctl Filesystem za pomocą Telegraf w NetCrunch

Ten temat wyjaśnia, jak monitorować parametry systemu plików jądra Linux za pomocą Telegraf i wysyłać zebrane metryki do NetCrunch Telemetry Nodes. Wtyczka wejściowa Linux Sysctl Filesystem odczytuje wartości z katalogu proc sys fs i przekazuje je do NetCrunch za pomocą wtyczki wyjściowej HTTP.

Omówienie

Telegraf może zbierać parametry systemu plików jądra Linux za pomocą wtyczki wejściowej Linux Sysctl Filesystem. Wtyczka odczytuje metryki z katalogu proc sys fs, zapewniając wgląd w wykorzystanie zasobów systemu plików na poziomie jądra. Wtyczka nie wymaga konfiguracji i automatycznie zbiera wszystkie dostępne metryki. Dane są przekazywane do punktu końcowego NetCrunch Telemetry Node za pomocą żądania HTTP POST.

Jak NetCrunch obsługuje metryki Linux Sysctl

NetCrunch odbiera przychodzące metryki sysctl filesystem za pośrednictwem punktu końcowego Telemetry Node. Telemetry Nodes akceptują dane w formacie JSON i przechowują zebrane wartości jako liczniki lub stany alertów.

Punkt końcowy, jego format URL oraz sposób autoryzacji zostały opisane w Monitoring with Telegraf. Wszystkie poniższe informacje zakładają, że Telemetry Node już istnieje — zobacz Węzeł telemetryczny.

Przepływ danych

  1. Telegraf odczytuje metryki jądra z proc sys fs.
  2. Telegraf zbiera statystyki systemu plików na poziomie jądra.
  3. Telegraf wysyła metryki JSON do punktu końcowego NetCrunch Telemetry Node.
  4. NetCrunch przetwarza i przechowuje zebrane liczniki oraz wartości stanu.

Konfiguracja Telegraf

Podstawowa lokalizacja pliku konfiguracyjnego:

  • Ścieżka Linux: /etc/telegraf/telegraf.conf

Podstawowa konfiguracja

[agent] interval = "10s" flush_interval = "10s" metric_buffer_limit = 10000 debug = false

[[inputs.linux_sysctl_fs]]

[[outputs.http]] url = "https://gw.netcrunch.io/tm/v1/SRV-001@sensor01@node100/update" timeout = "5s" method = "POST" data_format = "json"

Parametry konfiguracji

Sekcja Agent

  • interval określa częstotliwość zbierania metryk
  • flush_interval określa częstotliwość przesyłania danych
  • metric_buffer_limit określa rozmiar bufora wewnętrznego
  • debug włącza szczegółowe dane wyjściowe

Wejście Linux Sysctl Filesystem

  • Nie wymaga konfiguracji
  • Automatycznie zbiera wszystkie metryki filesystem sysctl

Wyjście HTTP

  • url określa punkt końcowy NetCrunch Telemetry Node
  • timeout definiuje limit czasu żądania
  • method określa HTTP POST
  • data_format ustawia wyjściowy format JSON

Zbierane metryki

Wtyczka Linux Sysctl Filesystem zbiera metryki systemu plików na poziomie jądra z proc sys fs.

Metryki deskryptorów plików

file nr
Liczba przydzielonych uchwytów plików.

file max
Maksymalna liczba uchwytów plików, jaką Linux może przydzielić.

Metryki Asynchronous IO

aio nr
Bieżąca liczba żądań Asynchronous IO.

aio max nr
Maksymalna dozwolona liczba jednoczesnych żądań Asynchronous IO.

Metryki pamięci podręcznej Dentry

dentry nr
Liczba używanych wpisów pamięci podręcznej katalogów.

dentry unused nr
Liczba nieużywanych wpisów pamięci podręcznej katalogów.

dentry age limit
Limit wieku wpisów pamięci podręcznej katalogów.

dentry want pages
Wskazuje presję pamięci związaną z pamięcią podręczną dentry.

Metryki Inode

inode nr
Przydzielone inode.

inode free nr
Wolne inode.

inode preshrink nr
Inode, które zostaną zwolnione w następnym cyklu zmniejszania.

Metryki Disk Quota

dquot nr
Przydzielone struktury Disk Quota.

dquot max
Maksymalna liczba struktur Disk Quota.

Metryki Superblock

super nr
Przydzielone superbloki.

super max
Maksymalna liczba superbloków.

Interpretacja metryk

Monitorowanie uchwytów plików

Monitoruj file nr w odniesieniu do file max, aby identyfikować ryzyko wyczerpania uchwytów plików. Jeśli file nr zbliży się do file max, tworzenie nowych plików lub ustanawianie połączeń może zakończyć się niepowodzeniem.

Monitorowanie pamięci podręcznej Dentry

  • dentry nr wskazuje, ile wpisów jest aktywnych
  • dentry unused nr wskazuje wpisy, które można ponownie wykorzystać
  • wysoka wartość dentry want pages wskazuje presję pamięci w pamięci podręcznej katalogów

Monitorowanie Inode

  • inode nr wskazuje liczbę przydzielonych inode
  • inode free nr wskazuje liczbę dostępnych inode
  • mała liczba wolnych inode może uniemożliwić tworzenie plików

Monitorowanie Asynchronous IO

  • aio nr wskazuje aktywne obciążenie Asynchronous IO
  • porównuj tę wartość z aio max nr, aby wykrywać ograniczenia

Wiele miejsc docelowych wyjścia

Metryki mogą być dostarczane do więcej niż jednej instancji NetCrunch.

[agent] interval = "10s" flush_interval = "10s"

[[inputs.linux_sysctl_fs]]

[[outputs.http]] url = "https://gw.netcrunch.io/tm/v1/SRV-001@sensor01@node100/update" timeout = "5s" method = "POST" data_format = "json"

[[outputs.http]] url = "https://gw.netcrunch.io/tm/v1/SRV-002@sensor02@node200/update" timeout = "5s" method = "POST" data_format = "json"

[[outputs.http]] url = "https://gw.netcrunch.io/tm/v1/SRV-003@sensor03@node300/update" timeout = "5s" method = "POST" data_format = "json"

Przypadki użycia

Monitorowanie pojemności deskryptorów plików

Śledź wykorzystanie uchwytów plików, aby zapobiegać awariom usług spowodowanym wyczerpaniem uchwytów.

Monitorowanie kondycji pamięci podręcznej systemu plików

Monitoruj metryki dentry i inode, aby wykrywać warunki presji pamięci.

Monitorowanie aplikacji przy dużym obciążeniu

Śledź metryki Asynchronous IO dla aplikacji o dużej przepustowości, takich jak bazy danych i serwery.

Długoterminowe planowanie pojemności

Analizuj trendy wykorzystania inode i deskryptorów plików w czasie.

Porównywanie wielu systemów

Porównuj wykorzystanie zasobów systemu plików między kilkoma systemami Linux.

Konfiguracja zaawansowana

Mniejsza częstotliwość zbierania

Odpowiednia dla stabilnych systemów.

[agent] interval = "60s" flush_interval = "60s"

Monitorowanie z dużą częstotliwością

Odpowiednie dla systemów, w których zachodzą szybkie zmiany.

[agent] interval = "5s" flush_interval = "5s"

Łączenie metryk Sysctl z innymi wejściami

[agent] interval = "10s" flush_interval = "10s"

[[inputs.linux_sysctl_fs]]

[[inputs.cpu]] percpu = false totalcpu = true

[[inputs.mem]]

[[inputs.disk]] ignore_fs = ["tmpfs", "devtmpfs"]

[[inputs.diskio]]

[[outputs.http]] url = "https://gw.netcrunch.io/tm/v1/SRV-001@sensor01@node100/update" timeout = "5s" method = "POST" data_format = "json"

Podsumowanie

Wtyczka wejściowa Linux Sysctl Filesystem udostępnia metryki systemu plików na poziomie jądra i nie wymaga konfiguracji. Telegraf zbiera metryki deskryptorów plików, liczbę inode, szczegóły pamięci podręcznej dentry, statystyki Asynchronous IO, metryki superbloków oraz metryki quota, a następnie przekazuje je do NetCrunch Telemetry Nodes, gdzie można je monitorować, przedstawiać na wykresach i wykorzystywać do generowania alertów.

aiodentryfile descriptorfilesysteminodekernellinuxprocpushsysctltelegraftelemetry node