Netdata - Real-Time narzędzia do monitorowania wydajności dla systemów Linux

A+ A-

Netdata jest niezwykle zoptymalizowane narzędzie Linux, który dostarcza w czasie rzeczywistym (na sekundę) monitorowania wydajności dla systemów Linux, aplikacji, urządzeń SNMP itd i pokazuje pełne interaktywnych wykresów, które absolutnie renderuje wszystkie zebrane wartości ponad przeglądarce internetowej, aby je przeanalizować. W tym artykule wyjaśniono, jak znaleźć narzędzia do monitorowania wydajności w czasie rzeczywistym dla systemów Linux.

cechy

  • Monitoruje łącznie iw przeliczeniu na wykorzystanie procesora Core przerwania, softirqs i częstotliwość.
  • Monitoruje pamięć, RAM swap oraz wykorzystanie jądra.
  • Monitoruje Disk I / O (za twardy: przepustowość, operacje, zaległości, wykorzystanie, etc).
  • Monitoruje interfejsy sieciowe w tym: przepustowość, pakiety, błędy, krople, itp).
  • Monitoruje netfilter / iptables Linux połączeń z zaporą sieciową, Wydarzenia, błędy, itp
  • Monitoruje procesy (bieganie, zablokowane, widły, aktywny, etc).
  • Monitoruje systemowych aplikacji z drzewa procesowego (procesor, pamięć, swap, dysk odczytuje / zapisuje, nici, itp).
  • Apache i Nginx monitorowanie stanu z mod_status.
  • Monitorowanie bazy danych MySQL: kwerendy, aktualizacje, zamki, problemy, nici itp
  • Monitoruje Postfix wiadomość e-mail, serwer kolejki.
  • Squid przepustowość serwera proxy i monitorowanie wniosków.
  • Monitoruje czujniki sprzętowe (temperatury, napięcia, wentylatory, moc, wilgotność, itp.)
  • Monitoruje urządzeń SNMP.

Przed rozpoczęciem instalowania netdata narzędzia, upewnij się, że te podstawowe pakiety Build Environment zainstalowane w systemie, jeśli nie go zainstalować. Użyj następującego polecenia, aby zainstalować Basic Budowanie środowisko-

 $ Sudo apt-get install zlib1g-dev gcc dokonać git autoconf autogenny automake pkg-config

Wyjście próbki powinno być tak -

 Czytanie list pakietów ... Gotowe
Zależność drzewa budynku       
Odczyt informacji o stanie ... Gotowe
GCC jest już w najnowszej wersji (4: 5.3.1-1ubuntu1).
gcc Zestaw ręcznie zainstalowane.
Marka jest już w najnowszej wersji (4.1-6).
Zestaw dokonać ręcznie zainstalowane.
pkg-config jest już w najnowszej wersji (0.29.1-0ubuntu1).
Zestaw pkg-config ręcznie zainstalowane.
Następujące dodatkowe pakiety zostaną zainstalowane:
  autogenny-doc autotools-dev git-człowiek liberror-perl libopts25 libopts25-dev
  libsigsegv2 m4
Sugerowane pakiety:
  autoconf-archiwum GNU standardy autoconf-doc libtool git-daemon-run
  | git-daemon-sysvinit git git-doc-el-mail git git-gui gitk gitweb git-arch
  git-cvs git-svn-git MediaWiki
Następujące NOWE pakiety zostaną zainstalowane:
  autoconf autogenny autotools-dev autogenny-doc automake git git-man
  liberror-perl libopts25 libopts25-dev libsigsegv2 m4 zlib1g-dev
0 aktualizowanych, 13 nowo instalowanych, 0 usuwanych i 7 nie aktualizowanych.
Trzeba uzyskać 6,721 kB archiwów.
Po tej operacji zostanie użyty 35.2 MB dodatkowego miejsca na dysku.
Chcesz kontynuować? [Y / n] y
Pobierz: 1 http://in.archive.ubuntu.com/ubuntu xenial / main amd64 libsigsegv2 amd64 2.10-4 [14,1 KB]
Pobierz: 2 http://in.archive.ubuntu.com/ubuntu xenial / main amd64 m4 amd64 1.4.17-5 [195 kB]
Pobierz: 3 http://in.archive.ubuntu.com/ubuntu xenial / main amd64 autoconf wszystkie 2.69-9 [321 kB]
Pobierz: 4 http://in.archive.ubuntu.com/ubuntu xenial / main amd64 libopts25 amd64 1: 5.18.7-3 [57,8 kB]
Pobierz: 5 http://in.archive.ubuntu.com/ubuntu xenial / main amd64 libopts25-dev amd64 1: 5.18.7-3 [93,0 kB]
Pobierz: 6 http://in.archive.ubuntu.com/ubuntu xenial / Wszechświat amd64 autogenny amd64 1: 5.18.7-3 [550 kB]
.................................................. ...............................................

Sklonować netdata repozytorium z git i uruchom następujące polecenie, aby zainstalować netdata skryptu instalacyjnego, aby go zbudować.

 $ Sudo git clone https://github.com/firehol/netdata.git --depth = 1

Wyjście próbki powinno być jak to-

 Klonowanie na "netdata '...
Pilot: Zliczanie obiektów: 253, wykonywana.
Pilot: Kompresja obiektów: 100% (241/241), zrobione.
zdalne: Razem 253 (delta 10), ponownie wykorzystane 137 (delta 1), pack-ponownie wykorzystane 0
Odbieranie obiektów: 100% (253/253), 1,33 MiB | 471.00 KiB / s, zrobione.
Rozwiązywanie delty: 100% (10/10), zrobione.
Sprawdzanie połączenia ... zrobione.

Teraz wchodzi w katalogu netdata i zainstalować netdata instalator, stosując następujące commands-

 $ Cd netdata
$ Sudo ./netdata-installer.sh

Wyjście próbki powinno być tak -

 Witamy netdata!
Miło widzieć dajesz jej spróbować!

Masz zamiar zbudować i zainstalować netdata do systemu.

będzie zainstalowany w następujących miejscach:

  - Demon w katalogu / usr / bin / netdata
  - Pliki konfiguracyjne w / etc / netdata
  - Pliki internetowe w katalogu / usr / share / netdata
  - Plugins w katalogu / usr / libexec / netdata
  - Pliki cache w katalogu / var / cache / netdata
  - Pliki w / var / log / netdata zalogować
  - Pid pliku w katalogu / var / run

Instalator pozwala zmienić ścieżkę instalacji.
Naciśnij Ctrl-C i uruchomić to samo polecenie z --help o pomoc.

Naciśnij ENTER, aby zbudować i zainstalować netdata do systemu> 

: ------------------------------------------------- ----------------------------
Uruchamianie polecenia:

./autogen.sh 

autoreconf: Wejście do katalogu ` '.
autoreconf: configure.ac: nie używając Gettext
autoreconf: praca: aclocal --force -I m4
autoreconf: configure.ac: śledzenie
autoreconf: configure.ac: nie używając Libtool
autoreconf: praca: / usr / bin / autoconf --force
autoreconf: praca: / usr / bin / autoheader --force
autoreconf: praca: automake --add-missing --copy --force-missing
configure.ac:33: instalacja "./compile '
configure.ac:32: instalacja "./config.guess '
configure.ac:32: instalacja "./config.sub '
configure.ac:31: instalacja "./install-sh '
configure.ac:31: instalacja "./missing '
src / Makefile.am: instalacja "./depcomp '
autoreconf: Opuszczenie katalogu ` '.

: ------------------------------------------------- ----------------------------
Uruchomienie polecenia:

./configure --prefix = / usr --sysconfdir = / etc --localstatedir = / var --with-zlib --with-matematyka --with-user = netdata CFLAGS = -O3 

sprawdzenie, czy włączyć porcje opiekunów specyficzne dla Makefile ... nie
sprawdzenie na BSD zgodny zainstalować ... / usr / bin / install -c
sprawdzenie, czy budować środowisko jest zdrowa ... tak
Sprawdzanie wątku bezpieczny mkdir -p ... / bin / mkdir -p
sprawdzanie gawk ... nie
sprawdzanie mawk ... mawk
sprawdzając, czy aby zestawy $ (MAKE) ... tak
sprawdzenie, czy make obsługuje zmienne zagnieżdżone ... tak
sprawdzanie build typ systemu ... x86_64-pc-linux-gnu
sprawdzanie hosta typ systemu ... x86_64-pc-linux-gnu
sprawdzanie gcc ... gcc
sprawdzeniu, czy kompilator C działa ... tak
sprawdzanie kompilator C domyślnej nazwy pliku wyjściowego ... a.out
sprawdzanie przyrostek wykonywalnych ... 
sprawdzenie, czy jesteśmy krzyż kompilacji ... no
sprawdzanie przyrostkiem plików obiektowych o ...
sprawdzenie czy używamy kompilatora GNU C ... tak
sprawdzenia, czy akceptuje gcc -g ... tak
sprawdzanie opcji gcc przyjąć ISO C89 ... Nie potrzebne
sprawdzenie czy gcc -c rozumie i -o razem ... tak
sprawdzanie stylu obejmują używane według marki ... GNU
sprawdzanie zależności styl gcc ... gcc3
sprawdzanie pkg-config ... / usr / bin / pkg-config
sprawdzenia pkg-config w wersji co najmniej 0.9.0 ... tak
sprawdzanie jak uruchomić preprocesora C ... gcc -E
sprawdzanie grep, który obsługuje długie linie i -e ... / bin / grep
sprawdzanie egrep ... / bin / grep -E
sprawdzanie plików nagłówkowych ANSI C ... tak
sprawdzanie sys / types.h ... tak
sprawdzanie sys / ... tak stat.h
sprawdzanie stdlib.h ... tak
sprawdzanie string.h ... tak
sprawdzanie memory.h ... tak
sprawdzanie strings.h ... tak
sprawdzanie inttypes.h ... tak
sprawdzanie stdint.h ... tak
sprawdzanie unistd.h ... tak
sprawdzanie minix / config.h użyteczność ... nie
sprawdzanie minix / config.h Obecność ... bez
sprawdzanie minix / config.h ... nie
sprawdzenie, czy jest to bezpieczne, aby zdefiniować __EXTENSIONS __... yes
sprawdzenie czy kompilator potrzebuje -Werror odrzucić nieznanych flagi ... nie
sprawdzanie dla -lpthreads pthreads biblioteki ... nie
sprawdzenie, czy pthreads pracować bez żadnych flag ... nie
sprawdzenie, czy pthreads pracować z -Kthread ... nie
sprawdzenie, czy pthreads pracować z -kthread ... nie
sprawdzanie dla -llthread pthreads biblioteki ... nie
sprawdzenie, czy pthreads pracować z -pthread ... tak
sprawdzanie PŁYCIE atrybutu pthread ... PTHREAD_CREATE_JOINABLE
sprawdzenie czy bardziej specjalne flagi są wymagane dla pthreads ... nie
sprawdzanie PTHREAD_PRIO_INHERIT ... tak
sprawdzanie uint8_t ... tak
sprawdzanie uint16_t ... tak
sprawdzanie uint32_t ... tak
sprawdzanie inline inline ...
sprawdzanie grzechu -lm ... tak
sprawdzanie ZLIB ... tak
sprawdzenie czy wygenerowane pliki są nowsze niż Konfiguruj ... zrobić
skonfigurować: Tworzenie ./config.status
config.status: tworzenie Makefile
config.status: tworzenie charts.d / Makefile
config.status: tworzenie conf.d / Makefile
config.status: tworzenie netdata.spec
config.status: tworzenie node.d / Makefile
config.status: tworzenie plugins.d / Makefile
config.status: tworzenie src / Makefile
config.status: stworzenie systemu / Makefile
config.status: tworzenie stron internetowych / Makefile
config.status: tworzenie contrib / Makefile
.............................................

Aby rozpocząć netdata, należy użyć następującego polecenia -

 #! / Usr / bin / netdata

Teraz otwórz swoją ulubioną przeglądarkę internetową i wpisać następujący adres URL -

 http://127.0.0.1:19999/

Wyjście próbki powinno być tak -

netdaya
Aby zatrzymać netdata, należy użyć następującego polecenia -

 $ Sudo killall netdata

Możesz również przeglądać uruchomione konfigurację netdata w każdej chwili, za pomocą poniższego URL miejsca

 http://127.0.0.1:19999/netdata.conf

Wyjście próbki powinno być tak -

 # NetData Konfiguracja
# Można odkomentować i zmienić jedną z poniższych opcji.
# Wartość wyświetlana w komentowanej ustawieniach, to wartość domyślna.

# Konfiguracja globalna netdata

[światowy]
	# Config = / etc / netdata
	# plugins = /usr/libexec/netdata/plugins.d
	# Katalog plików web = / usr / share / netdata / web
	# Katalog cache = / var / cache / netdata
	Katalog # log = / var / log / netdata
	# Dostępu hosta prefix = 
	# Debug flags = 0x00000000
	# deduplikacji pamięci (KSM) = yes
	# Debug log = /var/log/netdata/debug.log
	# Dziennika błędów = /var/log/netdata/error.log
	# błędy okres ochrony przeciwpowodziowej = 1200
	# Powodować błędy ochrony przeciwpowodziowej = 200
	# Dziennika dostępu = /var/log/netdata/access.log
	# Tryb pamięci = zapisać
	# Hostname = linux
	Historia = 3600 #
	# Aktualizują się co = 1
	# Wielkość pthread stack = 8388608
	# Uruchom jako user = netdata
	# Pliki web właściciel = netdata
	# Grupa plików web = netdata
	# Http portu słuchać zaległości = 100
	# Port = 19999
	# Ip = dowolna wersja
	# Wiążą Gniazdo IP = *
	# Rozłączyć bezczynnie internetowej klienci po sekund = 60
	# Enable odpowiedzi internetowych gzip kompresja = yes

[plugins]
	# Tc = yes
	# Idlejitter = yes
	# Proc = yes
	# Cgroups = yes
	# = brak kontroli
	# plugins = /usr/libexec/netdata/plugins.d
	# Umożliwia uruchamianie nowych wtyczek = yes
	# Sprawdź dostępność nowych wtyczek każdy = 60
	# aplikacji = yes
	# Charts.d = yes
	# Node.d = yes


# Per konfiguracji wtyczek

[Plugin: TC]
	# Skrypt do uruchomienia uzyskać wartości tc = /usr/libexec/netdata/plugins.d/tc-qos-helper.sh
	# Enable nowe interfejsy wykryte przy starcie = yes
	# Oczyszczania niewykorzystane zajęcia każda = 60

[Plugin: idlejitter]
	# Czas pętli w ms = 20

Aby zaktualizować netdata, użyj następujących poleceń -

 # Cd /path/to/netdata.git
# Git pull
# ./netdata-installer.sh

Gratulacje! Teraz wiesz "Netdata - w czasie rzeczywistym narzędzie do monitorowania wydajności dla systemów Linux". Dowiemy się więcej o tego typu poleceń w następnym poście Linux. Czytaj dalej!