Hvordan Overvåke MySQL Status Og Variabler Med Innotop

Dette er en i en serie artikler om hvordan du bruker Innotop, En MySQL og Innodb monitor. I denne artikkelen vil jeg forklare hvordan innotop kan gjøre det mye enklere å samle nyttig informasjon fra SHOW STATUS og SHOW VARIABLES på ett sted. Det er tre moduser i innotop som gjør dette på forskjellige måter, så en av dem kan møte dine behov.

Introduksjon

utgangen av SHOW STATUS og SHOW VARIABLES er et av de mest nyttige verktøyene for feilsøking Av En MySQL-server og å få en følelse av hvor godt den kjører, hvilken type arbeidsbelastning den er under, og så videre. Hvis du ikke er kjent med disse, anbefaler jeg at du leser dem i MySQL-håndboken før du leser resten av denne artikkelen. Du vil få mer ut av artikkelen hvis du forstår hvilken informasjon som ligger bak eksemplene mine.

Den mest grunnleggende metoden for å få på disse variablene er å utstede en SHOW kommando, men resultatet er ganske sikkert å være en informasjonsoverbelastning, selv om du bruker LIKE for å begrense resultatene. En annen ting du ofte trenger å vite er hvordan verdiene endres over tid; hvor mange tabellskanninger skjer per sekund, for eksempel? Det er vanskelig å sammenligne resultatene av SHOW kommandoer raskt, men du må gjøre det for å forstå hva som skjer i serveren.

det klassiske verktøyet for Dette er MySQL egen mysqladmin. Du kan kjøre den med argumentene -i og -r for å fortelle den at den skal fortsette å skrive ut verdier hver så ofte, og skrive ut forskjellen fra det siste settet med verdier når det gjør det. En grunnleggende kommando for å se statusvariabler kan være følgende:

mysqladmin extended -i10 -r

Du kan pipe det gjennom grep for å filtrere resultatene litt også.

det er klart mye rom for forbedring. Jeg har tatt med tre forskjellige måter å se denne informasjonen lettere og fleksibelt i innotop, og jeg skal forklare de neste.

metode en:V-modus

før vi begynner: Hvis du ikke allerede har det, bør du laste ned og installere innotop, og kjøre disse eksemplene på din egen server. Det er mye mer interessant når du får se hvordan din egen server kjører. Og hvis du ikke er oppgradert til den nyeste og beste versjonen av innotop, er det verdt å gjøre; det er mange flere funksjoner i hver ny versjon. Spesielt skal jeg vise noen funksjoner som bare er tilgjengelige i versjon 0.1.139.

Ok, på de gode greiene. Start innotop, og bytt Til V-modus med» V » – tasten. V står for «Variabler og Status».»Det viser en tabell med en rad for hver valgt verdi, og en kolonne for hvert sett med verdier du vil vise. Verdier kan velges fra alt du finner i SHOW STATUS eller SHOW VARIABLES.

La meg forklare det litt mer. Den venstre kolonnen viser hvilke verdier jeg har valgt å vise. Hver rad har en verdi. Når du går til høyre, ser du verdiene selv. Først ser du de nyeste verdiene, så de før det, og så videre-helt til høyre kolonne.

Det er et par ting å legge merke til om denne skjermen:

  1. skjermen er inkrementell. Det er, jeg viser ikke de virkelige verdiene her. Jeg viser forskjellen mellom øyeblikksbilder. Du kan se verdien Uptime økes med 60 i hver påfølgende kolonne. Det er fordi jeg har valgt en søvntid på 60 sekunder mellom øyeblikksbilder. (Jeg velger vanligvis Uptime som den første verdien, slik at jeg kan se hvilket tidsrom som vises).
  2. kolonnen helt til høyre er ikke trinnvis. Det er fordi det er det tidligste øyeblikksbildet innotop har i minnet, så det er ingenting tidligere å trekke fra det. Dessuten vil du ikke alltid vite forskjellen mellom verdier. Noen ganger vil du vite verdien selv. Dette gir deg en grunnlinje slik at du kan se både inkrementelle og absolutte verdier samtidig.
  3. den andre linjen på skjermen, over verditabellen, viser gjeldende visningsalternativer. Du kan se inkrementell er på, og per sekund gjennomsnitt er av. Du kan bytte dette med» i «og» a » – tastene, slik at du umiddelbart kan bytte frem og tilbake mellom flere visninger på dataene.
  4. langnummervisning er på. Du kan slå den av og på med» l «- tasten (det er en liten «L») for en mer kompakt skjerm.

Det er en ganske kompakt måte å se på 8 minutters historie for serveren, er du ikke enig? Du kan enkelt få mye mer informasjon fra denne skjermen enn med de andre metodene jeg har diskutert. Men det er mer!

  • jeg inkluderer flere forhåndsinnstilte valg av verdier som skal vises med innotop. Du kan bytte frem og tilbake mellom dem med tastene » 0 » til «9». Det er forhåndsinnstillinger for spørringsbufferen, tabell-og indeksskanninger, innodb-variabler, transaksjonserklæringer og mer. Alt i alt er det plass til ti sett med verdier.
  • du kan tilpasse hvert sett med» c » – tasten. Velg og velg fra hvilken som helst verdi I STATUS og VARIABLER, som jeg sa. Dette blir lagret i konfigurasjonsfilen din, så det er der når du avslutter og starter innotop på nytt.
  • Du kan velge antall øyeblikksbilder du vil vise, fra 2 til 9, slik at du kan bestemme hvor mye historie du vil se på en skjerm.

Metode 2: modellert etter tload

en annen måte å overvåke disse variablene på er å tegne en graf i stil med tload. Teorien bak denne modusen er at du velger noen verdier (med» c » – tasten, som vanlig) og innotop vil skalere gjennomsnittet per sekund av verdiene mot det maksimale det noensinne har sett, og bruke det til å tegne en pen graf. Du går Inn I Grafmodus med» G » – tasten.

Dette er ikke helt som tload , fordi grafen går fra topp til bunn, ikke fra venstre til høyre. Den skriver ut en header med jevne mellomrom, inkludert «max value» mot hvilken det er skalering.

i praksis har jeg ikke helt fått dette riktig ennå. Jeg vet ikke hvordan jeg skal skalere den. Jeg har ingen problemer med å gjøre matematikken, men skalering mot «den maksimale verdien som noen gang har sett» ser ikke ut til å gi gode resultater. Noen ganger resulterer det i en fin graf; andre ganger ikke. Jeg tenker at det må være en god måte å beregne faktisk serverbelastning, så det kan grafes meningsfylt, men jeg kan ikke tenke på det. Noen forslag?

jeg er ikke veldig fornøyd med denne modusen. Hvis jeg ikke kan finne ut en måte å gjøre det mer nyttig, kan jeg bli kvitt denne funksjonaliteten, selv om det bare er noen få linjer med kode.

Metode 3: modellert etter vmstat

min medarbeider John forventet at grafen ikke ville være så nyttig, mye til hans kreditt, og spurte meg om jeg kunne etterligne vmstat og iostat i stedet for å tegne en graf. Resultatet er» S » – modus. Den kan skrive ut samme informasjon som» G » – modus, bortsett fra at den skriver ut verdier i stedet for en graf.

jeg tror dette er mer nyttig enn» G «- modus, selv om det er noe overflødig til » V » – modusen jeg demonstrerte ovenfor. Fordi verdiene er lagt ut over skjermen, og tiden flyter fra bunnen til toppen av skjermen, kan du få plass til færre verdier på skjermen, men du kan vise et lengre tidsvindu.

Oppsummering av modusene

jeg viste deg bare tre moduser innotop har for å overvåke status og variabel informasjon fra En MySQL-server:

  1. «V» – modus skriver ut en tabell med øyeblikksbilder, med mange forskjellige alternativer.
  2. » G » – modus prøver å skrive ut en graf, men gjør ikke alltid en veldig god jobb.
  3. » s «- modus skriver ut noe som ligner på» V » – modus, men dataene er lagt ut annerledes.

de tre modusene er i utgangspunktet forskjellige måter å se på de samme verdiene. Det er noen redundans blant dem, men fordi det krever så lite kode for å gjøre hver av dem, bryr jeg meg ikke om redundansen fra et kodende synspunkt. Jeg har ikke noe imot å opprettholde tre funksjoner med lignende funksjonalitet, hvis det gir flere måter å bruke skjermen på.

hvis du har noen forslag til forbedringer, venter jeg på å høre fra deg :- )

Sammendrag

i denne artikkelen forklarte jeg den gammeldagse måten å overvåke utdataene på SHOW STATUS og SHOW VARIABLES, og viste deg hvordan innotop kan gjøre dette mye raskere og enklere, og forhåpentligvis gi deg nok forskjellige syn på dataene som du kan finne en du liker.

Følg med for å lære mer om innotop; det er mye mer å fortelle! Du kan abonnere via feeds eller e-post for å holde deg oppdatert.

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert.