Sistem sing luwih rumit, luwih akeh banget karo macem-macem tandha. Lan perlu kanggo nanggepi tandha sing padha, kumpulake lan nggambarake. Aku iki kahanan sing menowo kanggo akeh kanggo titik nervousness.
Solusi sing bakal dibahas ora paling ora dikarepke, nanging panelusuran ora ngasilake artikel lengkap babagan topik iki.
Mulane, aku mutusaké kanggo nuduhake pengalaman FunCorp lan pirembagan bab carane proses tugas wis kabentuk, sing nelpon, kok lan carane sampeyan bisa ndeleng ing kabeh.
Apa iku PagerDuty?
Dadi, kanggo ngatasi kabeh masalah kasebut, kita miwiti golek alat sing trep. Sawise sawetara nggoleki, kita milih PagerDuty. PD katon minangka solusi sing cukup lengkap lan ringkes kanthi akeh integrasi lan setelan. Kaya apa dheweke?
Ing cendhak, PagerDuty minangka platform pangolahan insiden sing bisa ngolah kedadeyan sing mlebu liwat macem-macem integrasi, nyiyapake pesenan tugas lan banjur menehi tandha marang insinyur sing tugas gumantung saka tingkat kedadeyan kasebut (ing tingkat dhuwur - telpon, ing tingkat sing kurang - push saka aplikasi / SMS).
Sapa sing dadi petugas?
Iki mbokmenawa minangka panggonan pisanan kanggo miwiti nyetel PD.
Ing FunCorp, kaya perusahaan liyane, ana posisi kehormatan pejabat tugas. Iki ditularake saka insinyur menyang insinyur sapisan dina. Ana sing disebut baris pisanan lan kaloro respon kanggo tandha saka PagerDuty. Upaminipun tandha prioritas dhuwur teka, lan yen 10 menit sawise telpon kanggo pejabat tugas saka baris pisanan ora ana reaksi kanggo iku (i.e., iku ora ditransfer menyang status ngakoni utawa ditanggulangi), telpon menyang nomer loro. tugas engineer. Iki dikonfigurasi ing PagerDuty dhewe liwat Kabijakan Eskalasi.
Yen pejabat tugas kapindho ora nanggapi, kabar kasebut bali menyang utama marang petugas.
Dadi, tandha prioritas dhuwur sing mlebu ora bisa diproses.
Saiki ayo ndeleng saka ngendi kedadeyan kasebut.
Apa integrasi sing kita gunakake?
PD nampa macem-macem kedadeyan saka macem-macem layanan. Saiki kita duwe udakara 25 layanan kasebut, lan kanggo ngolah, kita nggunakake sawetara integrasi sing wis siap.
- Prometheus
Sistem pengumpulan metrik utama yaiku Prometheus. Akeh sing wis ditulis babagan Habré, aku mung bakal ujar manawa ana sawetara kanggo macem-macem lingkungan: siji ngumpulake metrik saka mesin virtual lan dockers, liyane saka layanan Amazon, katelu saka mesin hardware. Telegraf utamane digunakake minangka eksportir metrik.
Ing kene uga, aku mikir, kabeh wis jelas saka judhul. Integrasi iki digunakake kanggo ngirim kabar saka sawetara skrip sing dieksekusi dening cron. PD menehi alamat tartamtu kanggo ngirim layang. Nalika nggawe layanan kanthi integrasi kasebut, sampeyan bisa nyetel prioritas, ing urutan apa kedadeyan sing bakal diproses, kepiye carane nggawe tandha (kanggo saben layang sing mlebu, kanggo layang sing mlebu + aturan tartamtu, lan liya-liyane).
- slack
Ing mratelakake panemume, integrasi menarik banget. Ana wektu sing kedadeyan nanging ora ditutupi dening kedadeyan. Mula, kita nambahake integrasi saka Slack kanggo nggawe kedadeyan. Yaiku, sampeyan bisa nulis menyang Slack perusahaan / callofduty kabeh alon lan bakal break rauh lan PD bakal ngolah lan ngirim kedadeyan kasebut menyang insinyur tugas.
Kita nindakake:
Kene ngerti:
- API
Integrasi HTTP. Nyatane, ora ana sing menarik banget ing kene, mung panjaluk POST kanthi awak ing format JSON. Contone, soko menarik: kita digunakake kanggo ngawasi external nggunakake
- LibreNMS
Iki sistem ngawasi liyane, sampeyan bisa maca liyane babagan ing website
Ana uga integrasi kayata Datadog, CloudWatch. Sampeyan bisa ndeleng luwih akeh babagan kedadeyan kasebut
Visualisasi
Sistem laporan insiden utama yaiku Slack. Kabeh kedadeyan sing teka ing PD ditulis ing obrolan khusus, lan yen statuse diganti, iki uga ditampilake ing obrolan.
Nalika ana kesempatan kanggo nampilake data sing migunani ing layar monitor sing digantung saka langit-langit, tiba-tiba kita ngerti yen kita (ing departemen devops) ora duwe apa-apa kanggo ditampilake. Ana Grafana apik, nanging ora nutupi kabeh, lan karyawan nanggepi tandha, ora denah.
Sawise telusuran lengkap nanging ora kasil ing GitHub kanggo "papan" sing ringkes lan informatif kanggo PD, kita mutusake kanggo nulis dhewe - mung karo sing dibutuhake. Senajan ing kawitan ana idea kanggo nampilake antarmuka PD dhewe, iku katon malah luwih ora trep.
Kanggo nulis, sampeyan mung kudu entuk kunci saka PD kanthi hak diwaca.
Lan iki sing kita entuk:
Layar nampilake kedadean mbukak saiki, jeneng insinyur saiki sing tugas saka jadwal sing dipilih, lan wektu tanpa kedadean prioritas dhuwur (panel karo kedadean prioritas dhuwur bakal disorot abang).
Akibaté, kita nampa dashboard sing trep kanggo ndeleng kabeh kedadeyan. Aku bakal bungah yen sawetara saka sampeyan nemokake pengalaman kita migunani.
Source: www.habr.com