Jak monitorować stan i zmienne MySQL za pomocą Innotop

jest to jeden z serii artykułów na temat korzystania z innotop, monitora MySQL i InnoDB. W tym artykule wyjaśnię, w jaki sposób innotop może znacznie ułatwić zbieranie przydatnych informacji z SHOW STATUS i SHOW VARIABLES w jednym miejscu. W innotop są trzy tryby, które robią to na różne sposoby, więc jeden z nich może zaspokoić Twoje potrzeby.

wprowadzenie

wyjście SHOW STATUS i SHOW VARIABLES jest jednym z najbardziej przydatnych narzędzi do rozwiązywania problemów z serwerem MySQL i uzyskiwania poczucia, jak dobrze działa, jakiego rodzaju obciążenia jest pod, i tak dalej. Jeśli nie jesteś zaznajomiony z nimi, polecam przeczytać o nich w instrukcji MySQL przed przeczytaniem reszty tego artykułu. Więcej dowiesz się z artykułu, jeśli zrozumiesz, jakie informacje kryją się za moimi przykładami.

najbardziej podstawową metodą uzyskiwania tych zmiennych jest wydanie polecenia SHOW, ale wynik jest dość pewny, że będzie przeciążeniem informacyjnym, nawet jeśli użyjesz LIKE do ograniczenia wyników. Inną rzeczą, którą często musisz wiedzieć, jest to, jak zmieniają się wartości w czasie; na przykład, ile skanowań tabel odbywa się na sekundę? Trudno szybko porównać wyniki poleceń SHOW, ale musisz to zrobić, aby zrozumieć, co dzieje się na serwerze.

klasycznym narzędziem do tego jest własny MySQL mysqladmin. Możesz go uruchomić z argumentami -i i -r, aby powiedzieć mu, aby co jakiś czas drukował wartości, a gdy to zrobi, wypisuje różnicę w stosunku do ostatniego zestawu wartości. Podstawowe polecenie do oglądania zmiennych stanu może być następujące:

mysqladmin extended -i10 -r

możesz przepuścić to przez grep, aby trochę przefiltrować wyniki.

jest wyraźnie dużo miejsca na poprawę. W innotopie umieściłem trzy różne sposoby łatwiejszego i elastyczniejszego przeglądania tych informacji, które wyjaśnię dalej.

metoda pierwsza: tryb V

zanim zaczniemy: Jeśli jeszcze tego nie zrobiłeś, powinieneś pobrać i zainstalować innotop oraz uruchomić te przykłady na własnym serwerze. Jest to o wiele bardziej interesujące, gdy zobaczysz, jak działa twój własny serwer. A jeśli nie jesteś uaktualniony do najnowszej i najlepszej wersji innotop, warto to zrobić; w każdej nowej wersji jest o wiele więcej funkcji. W szczególności, mam zamiar pokazać niektóre funkcje dostępne tylko w wersji 0.1.139.

dobra, przejdźmy do dobrych rzeczy. Uruchom innotop i przełącz na tryb V za pomocą klawisza „V”. V oznacza ” zmienne i Status.”Wyświetla tabelę z wierszem dla każdej wybranej wartości i kolumną dla każdego zestawu wartości, które chcesz wyświetlić. Wartości można wybrać ze wszystkiego, co można znaleźć w SHOW STATUS lub SHOW VARIABLES.

pozwól, że ci to wyjaśnię. Lewa kolumna pokazuje, które wartości wybrałem do wyświetlenia. Każdy wiersz ma jedną wartość. Idąc w prawo, widzisz same wartości. Najpierw widzisz najbardziej aktualne wartości, potem te wcześniejsze i tak dalej – aż do prawej kolumny.

jest kilka rzeczy do zauważenia w tym wyświetlaczu:

  1. wyświetlacz jest Przyrostowy. Oznacza to, że nie wyświetlam tutaj prawdziwych wartości. Wyświetlam różnicę między migawkami. Widać, że wartość Uptime jest zwiększana o 60 w każdej kolejnej kolumnie. To dlatego, że wybrałem czas snu 60 Sekund pomiędzy migawkami. (Zwykle wybieram Uptime jako pierwszą wartość, aby zobaczyć, jaki zakres czasu jest wyświetlany).
  2. kolumna z prawej strony nie jest przyrostowa. To dlatego, że jest to najwcześniejsza migawka, którą innotop ma w pamięci, więc nie ma nic wcześniej do odjęcia. Poza tym, nie zawsze chcesz znać różnicę między wartościami. Czasami chcesz poznać samą wartość. Daje to linię bazową, dzięki czemu można zobaczyć zarówno wartości przyrostowe, jak i bezwzględne w tym samym czasie.
  3. druga linia wyświetlacza, nad tabelą wartości, pokazuje bieżące opcje wyświetlania. Widać, że przyrost jest włączony, a średnia na sekundę jest wyłączona. Możesz to przełączać za pomocą klawiszy” i „I” a”, dzięki czemu możesz natychmiast przełączać się między kilkoma widokami danych.
  4. wyświetlanie długich numerów jest włączone. Możesz go włączać i wyłączać za pomocą klawisza „l” (to mała litera „L”), aby uzyskać bardziej kompaktowy wyświetlacz.

to dość zwarty sposób na przeglądanie 8 minut historii serwera, nie zgodzisz się? Możesz łatwo uzyskać o wiele więcej informacji z tego wyświetlacza niż w przypadku innych metod, które omówiłem. Ale to nie wszystko!

  • dołączam kilka wstępnie ustawionych opcji wartości do wyświetlenia za pomocą innotop. Możesz przełączać się między nimi za pomocą klawiszy od ” 0 ” do „9”. Istnieją ustawienia wstępne dla bufora zapytań, skanów tabel i indeksów, zmiennych InnoDB, instrukcji transakcji i innych. W sumie jest miejsce na dziesięć zestawów wartości.
  • możesz dostosować każdy zestaw za pomocą klawisza „c”. Wybierz i wybierz z dowolnej wartości w statusie i zmiennych, jak powiedziałem. Zostanie on zapisany w Twoim pliku konfiguracyjnym, więc jest tam po zamknięciu i ponownym uruchomieniu innotop.
  • możesz wybrać liczbę migawek, które chcesz wyświetlić, od 2 do 9, dzięki czemu możesz zdecydować, ile historii chcesz oglądać na jednym ekranie.

Metoda 2: wzorowana na tload

innym sposobem monitorowania tych zmiennych jest narysowanie wykresu w stylu tload. Teoria tego trybu polega na tym, że wybierasz kilka wartości (jak zwykle klawiszem „c”), a innotop przeskaluje średnią wartości na sekundę w stosunku do maksimum, jakie kiedykolwiek widział, i użyje tego do narysowania ładnego wykresu. W tryb graficzny wchodzi się za pomocą klawisza” G”.

to nie jest całkiem jak tload, ponieważ Wykres biegnie od góry do dołu, a nie od lewej do prawej. Okresowo wypisuje nagłówek, w tym „wartość maksymalną”, na podstawie której jest skalowany.

w praktyce jeszcze tego nie zrozumiałem. Nie wiem, jak to przeskalować. Nie mam problemów z matematyką, ale skalowanie w stosunku do „wartości maksymalnej, jaką kiedykolwiek widziałem” nie wydaje się dawać dobrych wyników. Czasami daje to ładny wykres, innym razem nie. Ciągle myślę, że musi być dobry sposób, aby obliczyć rzeczywiste obciążenie serwera, więc można to narysować sensownie, ale nie mogę o tym myśleć. Jakieś sugestie?

nie jestem zadowolony z tego trybu. Jeśli nie mogę znaleźć sposobu, aby uczynić go bardziej użytecznym, mogę pozbyć się tej funkcjonalności, mimo że jest to tylko kilka linijek kodu.

Metoda 3: wzorowany na vmstat

mój współpracownik John przewidział, że Wykres nie będzie tak przydatny, na jego cześć, i zapytał mnie, czy mógłbym naśladować vmstat i iostat zamiast rysować Wykres. Rezultatem jest tryb” s”. Może wypisać te same informacje co w trybie „G”, z tym że wypisuje wartości zamiast wykresu.

myślę, że jest to bardziej użyteczne niż Tryb „G”, choć jest nieco zbędne do trybu „V”, który pokazałem powyżej. Ponieważ wartości są rozmieszczone na ekranie, a czas płynie od dołu do góry ekranu, możesz zmieścić mniej wartości na ekranie, ale możesz wyświetlić dłuższe okno czasowe.

podsumowanie trybów

właśnie pokazałem ci trzy tryby, które innotop ma do monitorowania stanu i zmiennych informacji z serwera MySQL:

  1. „tryb V” drukuje tabelę migawek z wieloma różnymi opcjami.
  2. Tryb”G” próbuje wydrukować wykres, ale nie zawsze wykonuje dobrą robotę.
  3. tryb” S „wyświetla coś podobnego do trybu” V”, ale dane są ułożone inaczej.

trzy tryby to zasadniczo różne sposoby patrzenia na te same wartości. Jest wśród nich pewna redundancja, ale ponieważ wymaga ona tak mało kodu do wykonania każdego z nich, nie obchodzi mnie redundancja z punktu widzenia kodowania. Nie mam nic przeciwko utrzymaniu trzech funkcji o podobnej funkcjonalności, jeśli daje to więcej sposobów korzystania z monitora.

jeśli masz jakieś sugestie dotyczące ulepszeń, czekam na wiadomość od Ciebie :- )

podsumowanie

w tym artykule wyjaśniłem staromodny sposób monitorowania danych wyjściowych SHOW STATUS i SHOW VARIABLES, a następnie pokazałem, jak innotop może to znacznie przyspieszyć i ułatwić, i mam nadzieję, że da ci wystarczająco dużo różnych poglądów na dane, które możesz znaleźć.

zostańcie z nami, aby dowiedzieć się więcej o innotop – jest o wiele więcej do opowiedzenia! Możesz subskrybować przez kanały lub e-mail, aby być na bieżąco.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.