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
- Telegraf odczytuje metryki jądra z proc sys fs.
- Telegraf zbiera statystyki systemu plików na poziomie jądra.
- Telegraf wysyła metryki JSON do punktu końcowego NetCrunch Telemetry Node.
- 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.
- Czym jest Węzeł w NetCrunchu?
Ten temat wyjaśnia definicję Węzła w NetCrunch. Wyjaśnia, dlaczego Węzeł jest traktowany jako punkt końcowy usługi, a nie urządzenie fizyczne, oraz jak to rozróżnienie poprawia dokładność monitorowania nowoczesnej infrastruktury.
- Obiekty monitorowania NetCrunch
Wszystko, co monitoruje NetCrunch, jest obiektem posiadającym stan — węzły, interfejsy, usługi, czujniki, alerty oraz statusy obliczane na ich podstawie. Wiedza o tym, na jaki obiekt patrzysz, pozwala określić, dla czego możesz skonfigurować alert, co możesz umieścić na pulpicie oraz co możesz uwzględnić w statusie usługi.
- Monitorowanie Źródeł Zewnętrznych
Jak NetCrunch monitoruje dane pochodzące spoza wbudowanych kolektorów, używając telemetrii, skryptów, plików i zewnętrznych interfejsów API.
- Natywne Format Data NetCrunch
Jak NetCrunch przetwarza dane telemetryczne zewnętrzne i konwertuje je na liczniki i obiekty statusu, używając natywnych formatów JSON, XML i CSV
- Monitoring with Telegraf
Use Telegraf, the open-source metrics agent, to collect from systems NetCrunch does not poll directly and push the results into NetCrunch as ordinary counters and statuses.
- Telemetria MQTT za pośrednictwem Telegraf w NetCrunch
Ten temat wyjaśnia, jak zbierać metryki systemowe publikowane za pośrednictwem MQTT, przetwarzać je przy użyciu Telegraf oraz przekazywać do punktu końcowego NetCrunch Telemetry Node jako dane telemetryczne w formacie JSON.
- Monitorowanie SQL Server za pośrednictwem Telegraf w NetCrunch
Ten temat wyjaśnia, jak skonfigurować Telegraf do zbierania metryk Microsoft SQL Server i przekazywania ich do punktu końcowego NetCrunch Telemetry Node przy użyciu danych telemetrycznych opartych na JSON. Obejmuje konfigurację logowania do SQL Server, parametry połączeń, konfigurację wejścia Telegraf oraz obsługiwane typy metryk.
- Monitorowanie zasobów Azure za pomocą Telegraf w NetCrunch
Ten dokument opisuje sposób konfigurowania Telegraf w celu zbierania metryk z różnych zasobów Azure (takich jak Virtual Machines, Storage Accounts i Databases) oraz wysyłania ich do NetCrunch za pośrednictwem punktu końcowego Telemetry Node.