Kita mangan gajah ing bagean. Strategi pemantauan kesehatan aplikasi kanthi conto

ВсСм ΠŸΡ€ΠΈΠ²Π΅Ρ‚!

Perusahaan kita melu pangembangan piranti lunak lan dhukungan teknis sabanjure. Dhukungan teknis mbutuhake ora mung ndandani kesalahan, nanging ngawasi kinerja aplikasi kita.

Contone, yen salah sawijining layanan nabrak, sampeyan kudu ngrekam masalah iki kanthi otomatis lan miwiti ngatasi, lan ora ngenteni pangguna sing ora marem ngubungi dhukungan teknis.

Kita duwe perusahaan cilik, kita ora duwe sumber daya kanggo sinau lan njaga solusi rumit kanggo aplikasi ngawasi, kita kudu nemokake solusi sing prasaja lan efektif.

Kita mangan gajah ing bagean. Strategi pemantauan kesehatan aplikasi kanthi conto

Strategi ngawasi

Ora gampang kanggo mriksa fungsi aplikasi iki ora sepele, bisa uga diarani kreatif. Iku utamanΓ© angel kanggo verifikasi sistem multi-link Komplek.

Carane sampeyan bisa mangan gajah? Mung ing bagean! Kita nggunakake pendekatan iki kanggo ngawasi aplikasi.

Inti saka strategi pemantauan kita:

Pecah aplikasi sampeyan dadi komponen.
Nggawe kontrol kontrol kanggo saben komponen.

Komponen dianggep operasional yen kabeh pamriksan kontrol ditindakake tanpa kesalahan. Aplikasi dianggep sehat yen kabeh komponen kasebut bisa digunakake.

Mangkono, sistem apa wae bisa diwakili minangka wit komponen. Komponen kompleks dipΓ©rang dadi luwih prasaja. Komponen prasaja wis mriksa.

Kita mangan gajah ing bagean. Strategi pemantauan kesehatan aplikasi kanthi conto

Tolok ukur ora dimaksudake kanggo nindakake tes fungsional, dudu tes unit. Kontrol kontrol kudu mriksa carane komponen ngrasa ing wayahe saiki, apa ana kabeh sumber daya sing perlu kanggo fungsi sawijining, lan apa ana masalah.

Ora ana keajaiban; umume mriksa kudu dikembangake kanthi mandiri. Nanging aja wedi, amarga ing paling kasus siji mriksa njupuk 5-10 baris kode, nanging sampeyan bisa ngleksanakake logika sembarang lan sampeyan bakal cetha ngerti carane mriksa bisa.

Sistem monitoring

Ayo dadi ngomong kita pamisah aplikasi menyang komponen, teka munggah karo lan dipun ginakaken kir kanggo saben komponen, nanging apa apa karo asil kir iki? Kepiye carane ngerti yen sawetara mriksa gagal?

Kita butuh sistem pemantauan. Dheweke bakal nindakake tugas ing ngisor iki:

  • Nampa asil tes lan gunakake kanggo nemtokake status komponen.
    Secara visual, iki katon kaya nyorot wit komponen. Komponen fungsional dadi ijo, sing masalah dadi abang.
  • Nindakake mriksa umum metu saka kothak.
    Sistem ngawasi bisa nindakake sawetara mriksa dhewe. Apa reinvent setir, ayo padha nggunakake. Contone, sampeyan bisa mriksa manawa kaca situs web mbukak utawa server ping.
  • Kirimi kabar masalah menyang pihak sing kasengsem.
  • Visualisasi data pemantauan, panyedhiya laporan, grafik lan statistik.

gambaran Brief saka sistem ASMO

Luwih becik nerangake kanthi conto. Ayo ndeleng carane ngawasi kinerja sistem ASMO diatur.

ASMO minangka sistem dhukungan meteorologi otomatis. Sistem kasebut mbantu spesialis layanan dalan ngerti ngendi lan kapan perlu kanggo nambani dalan nganggo bahan de-icing. Sistem ngumpulake data saka titik kontrol dalan. Titik kontrol dalan minangka papan ing dalan sing dipasang peralatan: stasiun cuaca, kamera video, lsp. Kanggo prΓ©dhiksi kahanan sing mbebayani, sistem nampa ramalan cuaca saka sumber njaba.

Kita mangan gajah ing bagean. Strategi pemantauan kesehatan aplikasi kanthi conto

Dadi, komposisi sistem cukup khas: situs web, agen, peralatan. Ayo miwiti ngawasi.

Breaking sistem menyang komponen

Komponen ing ngisor iki bisa dibedakake ing sistem ASMO:

1. Akun pribadi
Iki minangka aplikasi web. Paling ora, sampeyan kudu mriksa manawa aplikasi kasebut kasedhiya ing Internet.

2. Database
Database nyimpen data sing penting kanggo laporan, lan sampeyan kudu mesthekake yen serep database digawe kanthi sukses.

3. Server
Miturut server kita tegese hardware sing aplikasi mbukak. Sampeyan kudu mriksa status HDD, RAM, CPU.

4. Agen
Iki minangka layanan Windows sing nindakake macem-macem tugas ing jadwal. Paling ora, sampeyan kudu mriksa manawa layanan kasebut mlaku.

5. Tugas agen
Cukup ngerti yen agen kerja ora cukup. Agen bisa kerja, nanging ora nindakake tugas sing ditugasake. Ayo dibagi komponen agen dadi tugas lan priksa manawa saben tugas agen bisa sukses.

6. Titik kontrol dalan (wadhah kabeh MPCs)
Ana akeh titik kontrol dalan, dadi ayo gabungke kabeh MPC ing siji komponen. Iki bakal nggawe luwih trep kanggo maca data pemantauan. Nalika ndeleng status komponen "sistem ASMO", bakal langsung cetha ing ngendi masalah: ing aplikasi, hardware utawa ing sistem kontrol maksimum.

7. Titik kontrol dalan (wates maksimal siji)
Kita bakal nganggep komponen iki bisa dilayani yen kabeh piranti ing MPC iki bisa dilayani.

8. Piranti
Iki minangka kamera video utawa stasiun cuaca sing dipasang ing watesan konsentrasi maksimal. Sampeyan kudu mriksa manawa piranti kasebut bisa digunakake kanthi bener.

Ing sistem pemantauan, wit komponen bakal katon kaya iki:

Kita mangan gajah ing bagean. Strategi pemantauan kesehatan aplikasi kanthi conto

Monitoring Aplikasi Web

Dadi, kita wis dibagi sistem dadi komponen, saiki kita kudu mriksa saben komponen.

Kanggo ngawasi aplikasi web kita nggunakake mriksa ing ngisor iki:

1. Priksa bukaan kaca utama
Priksa iki ditindakake dening sistem ngawasi. Kanggo nindakake, kita nuduhake alamat kaca, fragmen respon sing dikarepake lan wektu eksekusi panjaluk maksimal.

2. Priksa deadline pembayaran domain
Priksa sing penting banget. Nalika domain tetep ora dibayar, pangguna ora bisa mbukak situs kasebut. Ngatasi masalah bisa njupuk sawetara dina, amarga ... Pangowahan DNS ora langsung ditrapake.

3. Priksa sertifikat SSL
Saiki, meh kabeh situs web nggunakake protokol https kanggo akses. Supaya protokol bisa mlaku kanthi bener, sampeyan butuh sertifikat SSL sing bener.

Ing ngisor iki minangka komponen "Akun Pribadi" ing sistem pemantauan:

Kita mangan gajah ing bagean. Strategi pemantauan kesehatan aplikasi kanthi conto

Kabeh pamriksa ing ndhuwur bakal bisa digunakake kanggo umume aplikasi lan ora mbutuhake kodhe. Iki keren banget amarga sampeyan bisa miwiti ngawasi aplikasi web ing 5 menit. Ing ngisor iki ana pamriksaan tambahan sing bisa ditindakake kanggo aplikasi web, nanging implementasine luwih rumit lan khusus kanggo aplikasi, mula ora bakal dibahas ing artikel iki.

Apa maneh sing bisa dipriksa?

Kanggo ngawasi aplikasi web kanthi luwih lengkap, sampeyan bisa nindakake mriksa ing ngisor iki:

  • Jumlah kesalahan JavaScript saben periode
  • Jumlah kesalahan ing sisih aplikasi web (mburi-mburi) kanggo periode
  • Jumlah tanggapan aplikasi web sing ora kasil (kode respon 404, 500, lsp.)
  • Wektu eksekusi query rata-rata

Ngawasi layanan windows (agen)

Ing sistem ASMO, agen nduweni peran minangka panjadwal tugas, sing nglakokake tugas sing dijadwalake ing latar mburi.

Yen kabeh tugas agen rampung kanthi sukses, agen kasebut mlaku kanthi bener. Pranyata manawa kanggo ngawasi agen, sampeyan kudu ngawasi tugase. Mulane, kita dibagi komponen "Agen" dadi tugas. Kanggo saben tugas, kita bakal nggawe komponen sing kapisah ing sistem pemantauan, ing ngendi komponen "Agen" bakal dadi "wong tuwa".

Kita pamisah komponen Agen dadi komponen anak (tugas):

Kita mangan gajah ing bagean. Strategi pemantauan kesehatan aplikasi kanthi conto

Dadi, kita wis ngilangi komponen kompleks dadi sawetara sing sederhana. Saiki kita kudu mriksa saben komponen prasaja. Wigati dimangerteni manawa komponen induk "Agen" ora bakal dipriksa, amarga sistem ngawasi bakal ngetung status kanthi mandiri adhedhasar status komponen anak. Ing tembung liya, yen kabeh tugas wis rampung kanthi sukses, mula agen kasebut mlaku kanthi sukses.

Ana luwih saka satus tugas ing sistem ASMO, iku pancene perlu teka munggah karo mriksa unik kanggo saben tugas? Mesthi, kontrol bakal luwih apik yen kita teka munggah karo lan ngleksanakake kir khusus dhewe kanggo saben tugas agen, nanging ing paling kasus iku cukup kanggo nggunakake mriksa universal.

Sistem ASMO mung nggunakake mriksa universal kanggo tugas lan iki cukup kanggo ngawasi kinerja sistem.

Priksa kemajuan
Priksa sing paling gampang lan paling efektif yaiku mriksa eksekusi. Priksa manawa tugas wis rampung tanpa kesalahan. Kabeh tugas duwe mriksa iki.

Algoritma verifikasi

Sawise saben eksekusi tugas, sampeyan kudu ngirim asil mriksa SUCCESS menyang sistem ngawasi yen eksekusi tugas sukses, utawa ERROR yen eksekusi rampung kanthi kesalahan.

Priksa iki bisa ndeteksi masalah ing ngisor iki:

  1. Tugas mlaku nanging gagal karo kesalahan.
  2. Tugas wis mandheg mlaku, contone, wis beku.

Ayo goleki carane masalah iki ditanggulangi kanthi luwih rinci.

Masalah 1 - Tugas mlaku nanging gagal amarga kesalahan
Ing ngisor iki kasus nalika tugas mlaku nanging gagal antarane 14:00 lan 16:00.

Kita mangan gajah ing bagean. Strategi pemantauan kesehatan aplikasi kanthi conto

Tokoh kasebut nuduhake yen tugas gagal, sinyal dikirim menyang sistem pemantauan lan status mriksa sing cocog ing sistem pemantauan dadi weker.

Elinga yen ing sistem ngawasi, status komponen gumantung saka status verifikasi. Status weker pamriksa bakal ngganti kabeh komponen sing luwih dhuwur dadi weker, deleng gambar ing ngisor iki.

Kita mangan gajah ing bagean. Strategi pemantauan kesehatan aplikasi kanthi conto

Masalah 2 - Tugas mandheg dieksekusi (beku)
Kepiye sistem ngawasi ngerti manawa ana tugas macet?

Asil mriksa duwe wektu validitas, contone, 1 jam. Yen jam liwat lan ora ana asil test anyar, sistem ngawasi bakal nyetel status test kanggo weker.

Kita mangan gajah ing bagean. Strategi pemantauan kesehatan aplikasi kanthi conto

Ing gambar ndhuwur, lampu dipateni ing 14:00. Jam 15:00, sistem ngawasi bakal ndeteksi yen asil tes (saka jam 14:00) bosok, amarga Wektu relevansi wis kadaluwarsa (siji jam), nanging ora ana asil anyar, lan bakal ngalih mriksa menyang status weker.

Jam 16:00 lampu diuripake maneh, program bakal ngrampungake tugas lan ngirim asil eksekusi menyang sistem pemantauan, status tes bakal sukses maneh.

Apa wektu mriksa relevansi sing kudu digunakake?

Wektu relevansi kudu luwih gedhe tinimbang periode eksekusi tugas. Aku nyaranake nyetel wektu relevansi 2-3 kaping luwih saka periode eksekusi tugas. Iki perlu supaya ora nampa kabar palsu nalika, umpamane, tugas luwih suwe tinimbang biasane utawa ana sing ngisi maneh program kasebut.

Priksa kemajuan

Sistem ASMO duwe tugas "Muat Forecast", sing nyoba ngundhuh ramalan anyar saka sumber eksternal sapisan saben jam. Wektu sing tepat nalika ramalan anyar katon ing sistem njaba ora dingerteni, nanging dingerteni manawa kedadeyan kasebut kaping 2 dina. Pranyata yen ora ana ramalan anyar nganti pirang-pirang jam, mula iki normal, nanging yen ora ana ramalan anyar luwih saka sedina, mula ana sing rusak ing endi wae. Contone, format data ing sistem ramalan eksternal bisa uga diganti, mula ASMO ora bakal ndeleng rilis ramalan anyar.

Algoritma verifikasi

Tugas kasebut ngirim asil mriksa SUCCESS menyang sistem pemantauan nalika sukses entuk kemajuan (ngunduh ramalan cuaca anyar). Yen ora ana kemajuan utawa kesalahan, mula ora ana sing dikirim menyang sistem pemantauan.

Priksa kudu duwe interval relevansi supaya ing wektu iki dijamin bakal nampa kemajuan anyar.

Kita mangan gajah ing bagean. Strategi pemantauan kesehatan aplikasi kanthi conto

Wigati dimangerteni manawa kita bakal sinau babagan masalah kanthi wektu tundha, amarga sistem ngawasi ngenteni nganti periode validitas asil scan pungkasan kadaluwarsa. Mula, wektu validitas mriksa ora perlu dawa banget.

Pemantauan basis data

Kanggo ngontrol database ing sistem ASMO, kita nindakake mriksa ing ngisor iki:

  1. Verifikasi nggawe serep
  2. Priksa ruang disk kosong

Verifikasi nggawe serep
Ing umume aplikasi, penting kanggo duwe serep database sing paling anyar supaya yen server gagal, sampeyan bisa masang program kasebut menyang server anyar.

ASMO nggawe salinan serep seminggu lan dikirim menyang panyimpenan. Nalika prosedur iki rampung kasil, asil mriksa sukses dikirim menyang sistem ngawasi. Asil verifikasi valid kanggo 9 dina. Sing. Kanggo ngontrol nggawe serep, mekanisme "mriksa kemajuan", sing kita rembugan ing ndhuwur, digunakake.

Priksa ruang disk kosong
Yen ora cukup ruang kosong ing disk, database ora bakal bisa dienggo kanthi bener, mula penting kanggo ngontrol jumlah ruang kosong.

Iku trep kanggo nggunakake metrik kanggo mriksa paramèter numerik.

Metrik minangka variabel numerik, nilai sing dikirim menyang sistem ngawasi. Sistem ngawasi mriksa nilai ambang lan ngitung status metrik.

Ing ngisor iki minangka gambar babagan komponen "Database" ing sistem pemantauan:

Kita mangan gajah ing bagean. Strategi pemantauan kesehatan aplikasi kanthi conto

Ngawasi server

Kanggo ngawasi server, kita nggunakake pamriksa lan metrik ing ngisor iki:

1. Ruang disk gratis
Yen ruang disk entek, aplikasi ora bakal bisa digunakake. Kita nggunakake 2 nilai batesan: tingkat pisanan PÈNGET, tingkat kapindho ALARM.

2. Nilai RAM rata-rata ing persen saben jam
Kita nggunakake rata-rata saben jam amarga ... kita ora kasengsem ing balapan langka.

3. Rata-rata persentase CPU saben jam
Kita nggunakake rata-rata saben jam amarga ... kita ora kasengsem ing balapan langka.

4. Ping mriksa
Priksa manawa server online. Sistem ngawasi bisa nindakake mriksa iki ora perlu kanggo nulis kode.

Ing ngisor iki ana gambar kaya apa komponen "Server" ing sistem pemantauan:

Kita mangan gajah ing bagean. Strategi pemantauan kesehatan aplikasi kanthi conto

Ngawasi peralatan

Aku bakal pitutur marang kowe carane data dijupuk. Kanggo saben titik kontrol dalan (MPC) ana tugas ing planner tugas, contone, "Survey MPC M2 km 200". Tugas nampa data saka kabeh piranti MPC saben 30 menit.

Masalah saluran komunikasi
Umume peralatan dumunung ing njaba kutha, jaringan GSM digunakake kanggo transmisi data, sing ora bisa digunakake kanthi stabil (ana jaringan, utawa ora ana).

Amarga kegagalan jaringan sing kerep, mula, mriksa survey MPC ing pemantauan katon kaya iki:

Kita mangan gajah ing bagean. Strategi pemantauan kesehatan aplikasi kanthi conto

Dadi jelas yen iki dudu pilihan sing bisa digunakake, amarga ana akeh kabar palsu babagan masalah. Banjur diputusake nggunakake "mriksa kemajuan" kanggo saben piranti, i.e. Mung sinyal sukses dikirim menyang sistem ngawasi nalika piranti polling tanpa kesalahan. Wektu relevansi disetel dadi 5 jam.

Kita mangan gajah ing bagean. Strategi pemantauan kesehatan aplikasi kanthi conto

Saiki ngawasi ngirim kabar babagan masalah mung nalika piranti ora bisa dijajaki luwih saka 5 jam. Kanthi kemungkinan dhuwur, iki ora weker palsu, nanging masalah nyata.

Ing ngisor iki minangka gambar babagan peralatan ing sistem pemantauan:

Kita mangan gajah ing bagean. Strategi pemantauan kesehatan aplikasi kanthi conto

Penting!
Nalika jaringan GSM mandheg, kabeh piranti MDC ora dijajaki. Kanggo nyuda jumlah email saka sistem pemantauan, insinyur kita langganan kabar babagan masalah komponen kanthi jinis "MPC" tinimbang "Piranti". Iki ngidini sampeyan nampa siji kabar kanggo saben MPC, tinimbang nampa kabar kapisah kanggo saben piranti.

Skema pemantauan ASMO pungkasan

Ayo kita ngumpulake kabeh lan ndeleng skema pemantauan apa sing kita duwe.

Kita mangan gajah ing bagean. Strategi pemantauan kesehatan aplikasi kanthi conto

kesimpulan

Ayo ngringkes.
Apa ngawasi kinerja ASMO menehi kita?

1. Wektu eliminasi cacat wis suda
Kita sadurunge wis krungu babagan cacat saka pangguna, nanging ora kabeh pangguna nglaporake cacat. Kedaden kita sinau babagan malfungsi komponen sistem seminggu sawise katon. Saiki sistem ngawasi menehi kabar babagan masalah sanalika masalah dideteksi.

2. Stabilitas sistem wis tambah
Wiwit cacat wiwit diilangi sadurungé, sistem minangka kabèh wiwit bisa luwih stabil.

3. Ngurangi jumlah telpon menyang dhukungan teknis
Akeh masalah saiki wis didandani sadurunge pangguna ngerti babagan. Pangguna wiwit ngubungi dhukungan teknis kurang asring. Kabeh iki nduwe pengaruh apik kanggo reputasi kita.

4. Nambah kasetyan pelanggan lan pangguna
Pelanggan weruh owah-owahan positif ing stabilitas sistem. Pangguna nemoni masalah sing luwih sithik nggunakake sistem kasebut.

5. Ngurangi biaya dhukungan teknis
Kita wis mandheg nindakake pamriksa manual. Saiki kabeh mriksa otomatis. Sadurunge, kita sinau babagan masalah saka pangguna asring angel ngerti masalah apa sing diomongake pangguna. Saiki, umume masalah sing dilapurake dening sistem ngawasi ngemot data teknis, sing tansah nerangake apa sing salah lan ing ngendi.

Penting!
Sampeyan ora bisa nginstal sistem pemantauan ing server sing padha ing ngendi aplikasi sampeyan mbukak. Yen server mudhun, aplikasi bakal mandheg lan ora ana sing menehi kabar babagan iki.

Sistem ngawasi kudu mbukak ing server kapisah ing pusat data liyane.

Yen sampeyan ora pengin nggunakake server darmabakti ing pusat data anyar, sampeyan bisa nggunakake sistem ngawasi maya. Perusahaan kita nggunakake sistem pemantauan awan Zidium, nanging sampeyan bisa nggunakake sistem pemantauan liyane. Biaya sistem pemantauan awan luwih murah tinimbang nyewa server anyar.

Rekomendasi:

  1. Ngilangi aplikasi lan sistem ing wangun wit komponen kanthi rinci sabisa, supaya luwih gampang ngerti ngendi lan apa sing rusak, lan kontrol bakal luwih lengkap.
  2. Kanggo mriksa fungsi komponen, gunakake tes. Iku luwih apik kanggo nggunakake akeh kir prasaja saka siji Komplek.
  3. Ngatur ambang metrik ing sisih sistem ngawasi, tinimbang nulis ing kode. Iki bakal nylametake sampeyan saka kudu nyusun ulang, ngatur maneh, utawa miwiti maneh aplikasi.
  4. Kanggo mriksa khusus, gunakake wates wektu relevansi supaya ora nampa kabar palsu amarga sawetara mriksa mbutuhake wektu luwih suwe tinimbang biasane.
  5. Coba nggawe komponen ing sistem ngawasi dadi abang mung yen ana masalah. Yen padha dadi abang kanggo apa-apa, sampeyan bakal mungkasi mbayar manungsa waΓ© kanggo kabar saka sistem ngawasi, tegese bakal ilang.

Yen sampeyan durung nggunakake sistem ngawasi, miwiti! Iku ora angel kaya sing katon. Coba goleki wit bahan ijo sing sampeyan tuwuh dhewe.

Good luck.

Source: www.habr.com

Add a comment