Bizni crash detector aynan bazi caselarni detect qila boshladi, masalan coredumplar.
Ammo servislar fail bo'lgani kabi masalalarga yozgan handlerlarimiz kutganimizdek ishlamadi, kegin journaldan hamma datani ovolib shu bilan ishlashni uni analiz qilishni boshladim.
Kegin kutilmagan narsani ko'rdim, ishlab turgan nixos based distrodagi journalda man kutganimdan ham ko'proq fieldlar bor ekan. Bunisi yetarlicha surpriz bo'ldi sababi o'ylaganimdan juda ko'p va turli devayslarda turlicha fieldlar bor.
Birnechta devayslardan dataset to'plab ularga parser yozdim, kegin bazi narsalarni analiz qilib ko'rdim masalan manashu journalda mavjud barcha fieldlar...
Albatta parserlar bilan birnechta narsalarni analiz qildim, ammo savollar ko'paygan sayin muammolar ham ko'paydi.
1. Har bir ideyani tekshirgani yoki savolga javob topgani alohida code yozish kerak.
2. Bazi narsalar natijasini olish uchun yoziladigan kodlar optimal bo'lmagani uchun uzoq kutish kerak ayniqsa 1GB log faylar bo'lsa.
Qisqasi, qarsasam uje DB yozib qo'yabman.
Ha, kegin journaldan olingan dumplar contentlarini tog'ri mongodbga yozdim. Mongodbdab schema generate qivolib bazi fieldlarga indexlarni tiqdim bunga alohida sodda index generator yozvordim.
Shu bilan xozir 1mln documentlik journalarni dbdan bemalol aggregate qilolyabman, bu narsa esa asosan turli edge caselar, turlicha catch senariylar qilish uchun kerak.
Masalan xozir systemd qanday dasturlani manage qilgan ?
Qaysi dasturlarda muammolar sodir bo'lgan ?
Kernel scopeda qanday muammolar sodir bo'lgan ?
Falon dasturda errorlar sodir bo'lganmi ?
Hullas manashunaqa savollarga ancha tez javob olyabman.
Endi ushbu savollar problem detection case bo'lib xizmat qiladi codega o'girilsa bo'lgani ))
Post #4071
657