Mida keerulisem on süsteem, seda rohkem kasvab see igasuguste hoiatustega. Ja nendele samadele hoiatustele tuleb reageerida, need koondada ja visualiseerida. Arvan, et see on paljudele närvilisuseni tuttav olukord.
Lahendus, mida arutatakse, ei ole kõige ootamatum, kuid otsing ei anna sellel teemal täisväärtuslikku artiklit.
Seetõttu otsustasin jagada FunCorpi kogemust ja rääkida sellest, kuidas on valveprotsess üles ehitatud, kes helistab, miks ja kuidas seda kõike vaadata saab.
Mis on PagerDuty?
Nii et kõigi nende probleemide lahendamiseks hakkasime otsima mugavat tööriista. Pärast mõningast otsimist valisime PagerDuty. PD tundus meile üsna terviklik ja sisutihe lahendus suure hulga integratsioonide ja seadistustega. Milline ta on?
Lühidalt öeldes on PagerDuty intsidentide töötlemise platvorm, mis suudab erinevate integratsioonide kaudu töödelda sissetulevaid intsidente, seadistada töökorraldusi ja seejärel hoiatada valves olevat inseneri olenevalt intsidendi tasemest (kõrgel tasemel - kõne, madalal - tõuge rakendusest / SMS) .
Kes on korrapidaja?
See on ilmselt esimene koht, kust alustada PD seadistamist.
FunCorpis, nagu ka teistes ettevõtetes, on valveametniku aukoht. See edastatakse insenerilt insenerile üks kord päevas. PagerDuty märguandele reageerib nn esimene ja teine rida. Oletame, et saabub kõrge prioriteediga häire ja kui 10 minutit pärast esimeselt liinilt valvekorrapidajale helistamist sellele ei reageerita (st seda ei kanta üle kinnituse või lahendatud olekusse), läheb kõne teisele. valveinsener. See on konfigureeritud PagerDuty enda eskalatsioonipoliitika kaudu.
Kui teine korrapidaja ei vasta, naaseb teade peamine korrapidaja juurde.
Seega ei saa ükski sissetulev kõrge prioriteediga hoiatus jääda töötlemata.
Nüüd vaatame, kust intsidendid võivad tulla.
Milliseid integratsioone me kasutame?
PD saab erinevatelt teenustelt palju erinevaid intsidente. Meil on hetkel umbes 25 sellist teenust ja nende töötlemiseks kasutame mõningaid valmisintegratsioone.
- Prometheus
Peamine mõõdikute kogumise süsteem on Prometheus. Habres on sellest juba palju kirjutatud, ütlen vaid, et meil on neid mitu erineva keskkonna jaoks: üks kogub mõõdikuid virtuaalmasinatest ja dokkidest, teine Amazoni teenustest, kolmas riistvaramasinatest. Telegrafi kasutatakse peamiselt mõõdikute eksportijana.
- E-POST
Ka siin on minu meelest pealkirjast kõik selge. Seda integratsiooni kasutatakse teatiste saatmiseks teatud skriptidest, mida cron käivitab. PD annab teile kindla aadressi, kuhu te kirju saadate. Sellise integratsiooniga teenust luues saab määrata prioriteedid, millises järjekorras saabuvaid juhtumeid töödeldakse, kuidas täpselt märguannet koostada (iga saabuva kirja kohta, sissetuleva kirja kohta + kindel reegel jne).
- Lõtv
Minu meelest väga huvitav integratsioon. On aegu, kui midagi juhtub, kuid juhtumid seda ei hõlma. Seetõttu lisasime intsidendi loomiseks Slacki integratsiooni. See tähendab, et saate kirjutada ettevõtte Slackile /callofduty kõik on aeglane ja läheb varsti katki ja PD töötleb seda ja saadab juhtumi valveinsenerile.
Me teeme:
Me näeme:
- API
HTTP integratsioon. Tegelikult pole siin midagi eriti huvitavat, lihtsalt POST-i päring koos JSON-vormingus kehaga. Näiteks midagi huvitavat: me kasutame seda välise jälgimise abil
- LibreNMS
Tegemist on järjekordse seiresüsteemiga, selle kohta saad täpsemalt lugeda nende kodulehelt
Samuti olid sellised integratsioonid nagu Datadog, CloudWatch. Saate lähemalt näha, mis nendega juhtus
Visualiseerimine
Peamine intsidentidest teatamise süsteem on Slack. Kõik PD-sse tulevad intsidendid kirjutatakse spetsiaalsesse vestlusesse ja kui nende olek muutub, kuvatakse see ka vestluses.
Kui avanes võimalus kuvada laes rippuvate monitoride ekraanidel kasulikke andmeid, mõistsime ühtäkki, et meil (devopsi osakonnas) pole neile midagi kuvada. Seal on suurepärane Grafana, kuid see ei hõlma kõike ja töötajad reageerivad hoiatustele, mitte diagrammidele.
Pärast põhjalikku, kuid ebaõnnestunud otsingut GitHubis PD jaoks kokkuvõtliku ja informatiivse „tahvli“ leidmiseks, otsustasime kirjutada omaenda – ainult sellega, mida vajame. Kuigi algul oli mõte kuvada PD liides ise, tundus see veelgi ebamugavam.
Selle kirjutamiseks peate hankima PD-lt kirjutuskaitstud õigustega võtme.
Ja see on see, mida me saime:
Ekraanil kuvatakse praegused avatud intsidendid, praeguse valitud ajakava järgi valves oleva inseneri nimi ja kõrge prioriteediga intsidendita aeg (kõrge prioriteediga intsidendi paneel on punasega esile tõstetud).
Selle tulemusena saime mugava armatuurlaua kõigi meie vahejuhtumite vaatamiseks. Mul on hea meel, kui mõni teist leiab, et meie kogemus on kasulik.
Allikas: www.habr.com