Monitoring 7 min lukuaika

Palvelinvalvonnan hälytysrajat, jotka eivät herätä turhaan

Hyvät palvelimen hälytysrajat huomaavat täyttyvän levyn tai muistivuodon ajoissa ilman, että kenenkään puhelin soi harmittoman piikin takia. Lähtöarvot CPU:lle, kuormalle, RAM-muistille, swapille, levylle, verkolle ja uudelleenkäynnistyksille.

Hyvä palvelimen hälytysraja laukeaa, kun ihmisen pitää tehdä jotain, ja on muuten hiljaa. Käytännössä se tarkoittaa, että hälytät pitkäkestoisista arvoista etkä yksittäisistä piikeistä, mittaat kuormaa suhteessa CPU-ytimiin etkä raakalukuna, seuraat käytettävissä olevaa muistia ja swapia etkä ”käytettyä RAM-muistia”, hälytät levytilasta ajoissa ja sen kasvunopeudesta sekä pidät jokaista suunnittelematonta uudelleenkäynnistystä tiedon arvoisena. Jaa hälytykset varoitustasoon työaikaa varten ja kriittiseen tasoon, joka saa herättää jonkun, ja käy luvut läpi jokaisen häiriön jälkeen.

Tämä opas käy läpi jokaisen mittarin, kertoo, millainen on mielekäs hälytysraja, ja päättyy taulukkoon lähtöarvoista. Ne ovat lähtökohtia, eivät sääntöjä: jokaisella palvelimella on oma normaalinsa, ja oikea raja on se, joka vastaa sitä.

Mitä varten hälytysraja on

Jokainen hälytys vie huomiota. Hälytys, joka laukeaa eikä vaadi toimia, opettaa ihmiset ohittamaan seuraavan, ja seuraava voi olla aito. Ennen kuin asetat rajan, vastaa kolmeen kysymykseen:

Mikä hajoaa, jos arvo jatkaa samaan suuntaan, ja kuinka pian?

Mitä hälytyksen saava ihminen oikeasti tekisi?

Voiko se odottaa aamuun?

Jos mikään ei hajoa eikä kukaan tekisi mitään, kyse on kaaviosta, ei hälytyksestä. Jos se voi odottaa aamuun, se on varoitus. Vain sen, mikä ei voi odottaa, pitää tavoittaa puhelin yöllä.

Varoitus- ja kriittinen taso

Useimmille tiimeille kaksi tasoa mittaria kohden toimii hyvin:

Varoitus: jokin on kehittymässä väärään suuntaan. Lähetä se sähköpostiin tai tiimin chat-kanavalle ja hoida se työaikana.

Kriittinen: katko on lähellä tai jo käynnissä. Lähetä se push-ilmoituksena päivystäjälle, oli päivä tai yö.

Jos valvontatyökalussasi on yksi raja mittaria kohden, saat saman vaikutuksen reitityksellä: aseta raja kohtaan, jossa toimia tarvitaan, ja valitse kanava palvelinkohtaisesti. Testipalvelimen levyhälytys voi mennä sähköpostiin, tuotantotietokannan sama hälytys päivystystiimin chattiin. Uptimecheckin ilmoitukset valitaan valvontakohtaisesti, joten jako on helppo tehdä. Päivystysvuoroilla push-hälytykset tavoittavat sen, joka päivystää juuri nyt, ja eskalointi voi pidättää kanavaa 5–60 minuuttia ja hälyttää vain, jos ongelma jatkuu eikä kukaan ole kuitannut sitä.

Kesto voittaa piikit

Yleisin turhien hälytysten lähde on hälyttäminen yksittäisestä lukemasta. CPU 100 prosentissa kymmenen sekuntia julkaisun, varmuuskopion tai välimuistin uudelleenrakennuksen aikana on normaalia. CPU 100 prosentissa kaksikymmentä minuuttia ei ole. Lisää kesto aina, kun työkalusi sallii sen: ”yli 90 prosenttia 10 minuutin ajan” eikä ”yli 90 prosenttia”.

Jos se ei salli, käytä mittareita, jotka jo tasoittavat ajan yli. 15 minuutin kuormituskeskiarvo on hyvä esimerkki: lyhyt purske tuskin liikuttaa sitä, kun taas pitkäkestoinen ylikuorma nostaa sen ja pitää sen ylhäällä.

CPU

Korkea CPU-käyttö yksinään on harvoin ongelma. Kiireinen palvelin tekee sitä, mistä siitä maksetaan. CPU:sta tulee ongelma, kun se pysyy kyllästyneenä niin kauan, että pyynnöt jonoutuvat ja vasteajat kasvavat. Hälytä pitkäkestoisesta käytöstä ja katso sitä yhdessä käytettävyystarkistusten vasteaikojen kanssa. Jos CPU on 95 prosentissa ja vasteajat pysyvät tasaisina, palvelin on kiireinen, ei vikaantumassa.

Kuormituskeskiarvo ydintä kohden

Linuxissa kuormituskeskiarvo on suunnilleen niiden prosessien määrä, jotka ovat käynnissä tai odottavat CPU:ta, ja Linuxissa myös niiden, jotka odottavat levyn I/O:ta, keskiarvona 1, 5 ja 15 minuutin ajalta. Raakakuorma 4 ei kerro yksinään mitään: 16-ytimisellä palvelimella se on kevyt, 2-ytimisellä kaksinkertainen siihen nähden, mitä kone jaksaa. Jaa ytimien määrällä ennen vertailua; sen kertoo nproc.

1 minuutin arvo reagoi nopeasti ja on kohinainen. Käytä sitä vianmääritykseen, ei hälytyksiin.

15 minuutin arvosta kannattaa hälyttää. Yli 1 ydintä kohden tarkoittaa, että työ jonoutuu; selvästi sen yli pitkään tarkoittaa, että käyttäjät huomaavat sen.

Korkea kuorma ja matala CPU-käyttö tarkoittavat yleensä prosesseja, jotka odottavat levyä tai verkkotallennusta. Katso I/O:ta, älä koodia.

RAM ja swap

”Käytetty RAM” on Linuxissa harhaanjohtava mittari. Ydin käyttää vapaata muistia tiedostovälimuistiin ja antaa sen takaisin, kun sovellukset tarvitsevat sitä, joten terveen palvelimen muisti näyttää usein lähes täydeltä. Katso sen sijaan käytettävissä olevaa muistia, eli free -m -komennon ”available”-saraketta, joka laskee mukaan vapautettavissa olevan välimuistin.

Swap kertoo enemmän. Palvelin, joka ei normaalisti swappaa mutta alkaa tehdä niin, on muistipaineen alla, ja suorituskyky romahtaa, kun aktiivista muistia siirretään levylle. Kaksi hyödyllistä signaalia:

Swapin käyttö ilmestyy tai kasvaa palvelimella, jolla sitä ei yleensä ole.

Käytettävissä oleva muisti vähenee tasaisesti päivien ajan, mikä viittaa usein vuotoon pitkään käynnissä olevassa prosessissa.

Tietokantapalvelimet ovat erikoistapaus: ne on tarkoituksella määritetty käyttämään suurin osa muistista. Aseta niiden rajat sen mukaan, mitä näet tavallisella viikolla.

Levytila ja sen kasvu

Täysi levy on yksi yleisimmistä vältettävissä olevien katkojen syistä. Tietokannat lakkaavat kirjoittamasta, lokit lakkaavat kiertämästä, istuntoja ei voi tallentaa ja varmuuskopiot epäonnistuvat. Levy on myös helpoin mittari saada kohdalleen, koska se muuttuu harvoin nopeasti, mikä jättää aikaa toimia, jos hälytät ajoissa.

Käytä prosenttirajaa varoitukselle ja kriittiselle tasolle, mutta sovita se levyn kokoon. 2 TB:n levyllä 10 prosenttia vapaata on yhä 200 GB; 20 GB:n levyllä se on 2 GB, jonka yksi villiintynyt loki voi syödä iltapäivässä.

Seuraa kasvua tason lisäksi. Levy, joka on 70 prosentissa ja kasvoi tällä viikolla 10 prosenttiyksikköä, on kiireellisempi kuin levy, joka on ollut 85 prosentissa vuoden.

Tiedä, mikä sen täyttää: lokit, paikallisesti säilytetyt varmuuskopiot, ladatut tiedostot, Docker-imaget, tietokantatiedostot. Jokaiseen on eri korjaus.

Verkko

Verkkoliikenteelle on vaikea asettaa kiinteää rajaa, koska normaali vaihtelee vuorokaudenajan ja kauden mukaan. Kaksi kuviota ansaitsee hälytyksen. Liikenne, joka on selvästi tavallista suurempaa ja lähellä yhteyden kapasiteettia, voi tarkoittaa liikennepiikkiä, scraperia tai hyökkäystä. Liikenne, joka putoaa lähes nollaan normaalisti kiireisellä palvelimella, voi tarkoittaa, että se on poistettu kuormantasaajasta tai menettänyt verkkoyhteytensä, vaikka kone itse näyttäisi kunnossa olevalta. Opettele normaali vaihteluväli muutaman viikon historiasta ennen kuin asetat lukuja.

Uudelleenkäynnistykset

Suunnittelemattomasta uudelleenkäynnistyksestä kannattaa aina tietää. Taustalla voi olla ytimen päivitys, palveluntarjoajan huolto, kaatuminen tai muistin loppuminen. Vaikka kaikki palaisi, palvelut, joita ei ole asetettu käynnistymään automaattisesti, uudelleenkäynnistyksen aikana erääntyneet ajastetut tehtävät ja liitetyt levyt voivat jäädä huonoon tilaan. Hälytä jokaisesta uudelleenkäynnistyksestä huoltoikkunan ulkopuolella, varoitustasolla, jos palvelin toipui itsestään.

Lähtöarvot

Alla olevat arvot ovat esimerkkejä lähtökohdiksi tyypilliselle verkko- tai sovelluspalvelimelle. Käytä niitä ensimmäiset viikot ja säädä ne sitten havaintojesi mukaan.

MittariVaroitus (esimerkki)Kriittinen (esimerkki)CPUYli 85 % 15 minuutin ajanYli 95 % 15 minuutin ajan, ja vasteajat kasvavatKuormituskeskiarvo (15 min)Yli 1 ydintä kohdenYli 2 ydintä kohdenKäytettävissä oleva muistiAlle 15 %Alle 5 %SwapMikä tahansa käyttö palvelimella, jolla sitä ei normaalisti oleYli 50 % swapista käytössäLevyYli 80 % tai täynnä viikon sisällä nykyvauhdillaYli 90 % tai täynnä vuorokauden sisälläVerkkoSelvästi vuorokaudenajan normaalin vaihteluvälin ulkopuolellaLähellä yhteyden kapasiteettia tai lähellä nollaa kiireisellä palvelimellaUudelleenkäynnistysMikä tahansa uudelleenkäynnistys huoltoikkunan ulkopuolellaPalvelut eivät palanneet uudelleenkäynnistyksen jälkeen

Uptimecheckin palvelinvalvonta raportoi CPU:n, muistin, levyn ja verkon minuutin välein Linuxilla, macOS:llä ja Windowsilla. Asetat CPU:lle, muistille ja levylle palvelinkohtaiset rajat ja keston, esimerkiksi 5 tai 15 minuuttia, ja saat hälytyksen myös uudelleenkäynnistyksistä ja silloin, kun palvelin hiljenee, joten raportoinnin lopettanutta konetta ei koskaan luulla rauhalliseksi. Taustaa siihen, miksi nämä luvut ovat tärkeitä, löydät oppaasta verkkosivuston pitäminen toiminnassa palvelimen tilan valvonnalla.

Seuraa myös oireita

Palvelinmittarit kuvaavat syitä. Käyttäjäsi kokevat oireita: hitaita sivuja, virheitä ja epäonnistuneita tehtäviä. Valvo molempia. Käytettävyystarkistus vastauksen validoinnilla kertoo, kun sivusto pettää, ja heartbeat kertoo, kun varmuuskopio ei valmistunut. Kun oirehälytys ja resurssihälytys laukeavat yhdessä, syy on yleensä ilmeinen. Kun vain resurssihälytys laukeaa, sinulla on usein aikaa korjata asia ennen kuin kukaan huomaa.

Näin voit myös nostaa palvelinrajoja luottavaisin mielin. Jos sivusto tarkistetaan minuutin välein, CPU-hälytyksen ei tarvitse olla se, joka huomaa katkon. Sen voi virittää ennakkovaroitukseksi viimeisen oljenkorren sijaan. Sama ajattelu pätee verkkosivuston tarkistuksiin; katso miten vähennät vääriä hälytyksiä käytettävyyden valvonnassa.

Käy rajat läpi häiriöiden jälkeen

Hälytysrajat eivät ole koskaan valmiita. Kysy jokaisen häiriön jälkeen, ja meluisten palvelinten kohdalla kerran kuussa:

Laukesiko hälytys ennen kuin käyttäjät huomasivat? Jos ei, mikä mittari liikahti ensin, ja olisiko matalampi raja huomannut sen?

Mitkä hälytykset laukesivat ilman, että kukaan teki mitään? Nosta niitä, lisää kesto tai siirrä ne päiväaikaiselle kanavalle.

Tavoittiko hälytys jonkun, joka pystyi toimimaan? Jos ei, muuta reititystä.

Onko palvelimen normaali muuttunut päivityksen, siirron tai kasvaneen liikenteen jälkeen?

Kirjaa vastaukset häiriöraporttiin, jotta muutoksella on perustelu. Häiriön jälkianalyysin pohjassa on osio juuri tätä varten.

Yhteenveto

Hälytä siitä, mikä vaatii ihmistä, sillä kiireellisyydellä, joka sillä todella on. Käytä pitkäkestoisia arvoja, kuormaa ydintä kohden, käytettävissä olevaa muistia ja swapia, levyn tasoa ja kasvua sekä jokaista suunnittelematonta uudelleenkäynnistystä. Aloita esimerkkiarvoilla, opettele kunkin palvelimen normaali ja säädä jokaisen häiriön jälkeen.

Uptimecheck tuo palvelinvalvonnan käytettävyystarkistusten, heartbeatien ja tilasivujen rinnalle samaan tiliin. Aloita 14 päivän ilmainen kokeilu, luottokorttia ei tarvita.

Kysymykset

Mikä on hyvä CPU-hälytysraja?

Yleinen lähtökohta on varoitus, kun käyttö on yli 85 prosenttia 15 minuutin ajan, ja kriittinen hälytys, kun se on yli 95 prosenttia 15 minuutin ajan ja vasteajat samalla kasvavat. Lyhyet piikit ovat normaaleja, eikä niistä pidä hälyttää.

Mikä kuormituskeskiarvo on liian korkea?

Vertaa 15 minuutin kuormituskeskiarvoa CPU-ytimien määrään. Pitkäkestoiset arvot yli 1 ydintä kohden tarkoittavat, että työ jonoutuu, ja yli 2 ydintä kohden käyttäjät todennäköisesti huomaavat sen.

Pitäisikö hälyttää, kun RAM on lähes täynnä?

Ei yksinään. Linux käyttää vapaata muistia tiedostovälimuistiin, joten katso sen sijaan käytettävissä olevaa muistia ja swapin käyttöä. Swapin ilmestyminen palvelimelle, jolla sitä ei normaalisti ole, on selvempi signaali.

Millä levyn käyttöasteella hälytyksen pitäisi tulla?

Varoitus noin 80 prosentissa ja kriittinen hälytys noin 90 prosentissa ovat yleisiä lähtökohtia, levyn kokoon sovitettuina. Hälytä myös, kun levy täyttyy nykyisellä kasvuvauhdilla muutamassa päivässä.

Jatka lukemista

Monitoring 6 min lukuaika

Heartbeat-valvonta vai käytettävyystarkistus: kumpi ja milloin

Käytettävyystarkistus kysyy palvelultasi, onko se pystyssä; heartbeat odottaa, että työsi ilmoittaa ajautuneensa. Miten kumpikin toimii, mitä kummaltakin jää huomaamatta ja miten ne yhdistetään.

Luku

Guides 6 min lukuaika

502 Bad Gateway: mitä se tarkoittaa ja miten sen korjaa

502 Bad Gateway tarkoittaa, että välityspalvelin, kuormantasaaja tai CDN ei saanut kelvollista vastausta takanaan olevalta palvelimelta. Näin löydät epäonnistuneen kerroksen, korjaat tavalliset syyt ja huomaat seuraavan 502-virheen ennen asiakkaita.

Luku

Katkot ovat menneisyyttä.

Luo ensimmäinen valvontasi alle minuutissa – tai tutustu ensin live-demoon.

14 päivän ilmainen kokeilu · Sen jälkeen ilmainen 5 valvonnalle · Ei luottokorttia