پوریا صلاحی ایلخانی
پوریا صلاحی ایلخانی
خواندن ۲۲ دقیقه·۲ سال پیش

مقدمه ای برمدیریت لاگ (Log Management) و معرفی ابزارهای مطرح در این حوزه


مقدمه:

داده‌های موجود در لاگ ها حاوی اطلاعات ارزشمندی است که می‌تواند به تیم فنی در مورد عملکرد برنامه اطلاع دهد و به آن‌ها کمک کند تا مشکلات را پیدا کنندبا درک بهتر عملکرد متخصصان سازمان (توسعه دهندگان ، مهندسین DevOps) می‌توانند منابع مناسب را برای بهبود تجربه کاربر نهایی اختصاص دهند. مدیریت لاگ درواقع عمل جمع‌آوری ، قالب‌بندی ، تجمیع و تجزیه‌ و تحلیل داده‌های لاگ برای بهینه‌سازی برنامه‌ها است. درواقع مدیریت لاگ بینشی درمورد صحت و درستی عملکرد سیستم‌ها و برنامه‌ها ارائه می‌کند.

لاگ(Log) چیست؟

جالب است بدانید که یکی از معنی‌های Log به‌طورکلی بخشی از تنه یا شاخه بزرگ از درخت است که افتاده یا قطع شده‌است ،ولی در علوم کامپیوتر با معنای دیگری ازآن‌رو برو می‌شویم که می‌گوید این یک ثبت رسمی از وقایعی است که در نرم‌افزار ما اتفاق افتاده است. در دنیای محاسبات ، لاگ فایلی است که هر بار که رویدادی خاص در سیستم شما رخ دهد به‌صورت اتوماتیک تولید می‌شود. فایل‌های لاگ معمولاً شامل مهر زمانی هستند و هر آن‌چه در پس سیستم عامل‌ها یا برنامه‌های نرم‌افزاری اتفاق می‌افتد را ضبط و ثبت می‌کنند. درواقع آن‌ها همه مواردی که در سرور ، شبکه ، سیستم‌عامل و برنامه‌های کاربردی برای پیگیری مسیر رویداد مهم است را ثبت می‌کنند،و به متخصصان فناوری اطلاعات و توسعه‌دهندگان برای درک بهتر اتفاقات رخ داده و همچنین زمان آن کمک می‌کند.

لاگ ها می‌توانند انواع رویدادها از قبیل پیام‌ها و تعاملات بین کاربران، اتفاقات رخ داده در نسخه پشتیبان ، خطاهایی که هنگام اجرای برنامه موجب توقف برنامه می‌شود و یا درخواست‌های کاربران از یک سامانه را مستند کنند. انواع مختلفی از لاگ وجود دارد. برخی از آن‌ها توسط انسان قابل بازکردن و خواندن هستند ، درحالی‌که برخی دیگر برای اهداف حسابرسی نگهداری می‌شوند و قابل خواندن برای انسان نیستند. لاگ های حسابرسی ، لاگ های معاملات ، لاگ های رویداد ، لاگ های خطا و لاگ های پیام تنها چند نمونه از انواع فایل‌های لاگ هستند که هرکدام هدف متفاوتی دارند. لاگ ها با طیف وسیعی از افزونه‌های گوناگون مانند.log, .txt و یا افزونه‌های اختصاصی دیگر ارائه می‌شوند. با توجه به نوع افزونه و خوانایی آن‌ها می‌توان لاگ ها را با یک ویرایشگر متن مانند(notepad) یا برنامه پردازش کلمه ( Microsoft Word یا Open Office ) باز کرد و البته ممکن است نیاز به برنامه‌های خاصی برای باز کردن آن‌ها باشد.

نمونه ای از یک فایل لاگ
نمونه ای از یک فایل لاگ



ایده مدیریت لاگ(Log Management) :

سال‌ها قبل در دهه ۱۹۹۰ شما نرم‌افزاری داشتید که اطلاعات مربوط به خود را در یک فایل بنام لاگ می‌نوشت و زمانی‌که شما به‌عنوان کاربر به مشکلی برمی‌خوردید، فایل لاگ را به‌همراه اطلاعاتی که سیستم‌عامل در اختیار او می‌گذاشت به‌صورت فشرده (Zip) شده برای شما می‌فرستاد تا مورد بررسی قرار گیرد. اما بطور مثال امروز شما یک نرم‌افزار دارید که شامل بیست میکرو سرویس RESTFUL هست که برروی چندین سرور مختلف قرار دارد، چندین کانتینر (Container) دارید که بسته به نیاز از آن‌ها استفاده می‌کنید. همچنین چند اپلیکیشن وب اضافی به‌همراه یک Service bus و بسیاری موارد دیگر که همگی آن‌ها به‌همراه یکدیگر در قالب یک سیستم به کاربر خدمات ارائه می‌دهند. هر کدام از این موارد به‌خودی‌خود جامع، مستقل ،ساده و البته مفید هستند و در کنار یکدیگر یک سامانه‌ی بزرگ‌تر را ایجاد می‌کنند .حالا فرض کنید، مشکلی پیش‌آمده و نیاز دارید که آن را بررسی کنید، تشخیص دهید این مشکل در کدام سرویس اتفاق افتاده و به‌سرعت در مورد آن تصمیم بگیرید. جمع‌آوری لاگ های مرتبط در میان این‌همه سرویس‌های مستقل که روی سرورهای مختلفی در حال اجرا هستند، بزرگ‌ترین مشکل یک CTO خواهد بود. این‌جا همان جایی است که ایده مدیریت لاگ به وجود آمد. زمانی‌که شما یک اپلیکیشن دسکتاپ یا یک سرویس ساده وب دارید، می‌توانید از روش‌های گذشته استفاده کنید اما زمانی‌که سرویس شما شروع به رشد می‌کند دیگر این کار غیرممکن خواهد بود و باید از یک سرویس جدا برای مدیریت لاگ ها استفاده کنید.

مدیریت لاگ چیست؟

مدیریت لاگ (Log Management) : یک مفهوم و اصطلاح جامع است که تمام فعالیت‌ها و فرایندهای مورداستفاده برای تولید ، جمع‌آوری ، متمرکز کردن ، تجزیه ، انتقال ، ذخیره ، بایگانی و دفع حجم عظیمی از داده‌های لاگ تولید شده توسط رایانه را توصیف می‌کند. از ابزارهای مدیریت لاگ برای مدیریت کلی لاگ های تولید شده توسط برنامه‌ها ، سیستم‌ها ، شبکه‌ها ، نرم‌افزارها یا کاربران استفاده می‌شود و متناسب با نیازها و سیاست‌های سازمان با آن‌ها برخورد می‌شود. مدیریت لاگ یک موضوع محبوب نه‌تنها در بین مدیران سیستم و SecOps بلکه در بین توسعه‌دهندگان است. این به این دلیل است استفاده از لاگ ها برای حفظ امنیت ، تقویت عملکرد و یا عیب‌یابی در بسیاری از بخش‌های فناوری اطلاعات حائز اهمیت است.


به‌طور خلاصه می‌توان گفت مدیریت لاگ به اپراتورهای برنامه و زیرساخت همانند توسعه‌دهندگان و SysAdmins ، Devops و غیره امکانات عیب‌یابی مشکلات را می‌دهد و به سهامداران تجاری همانند مدیران محصول ، بازاریابی و غیره اجازه می‌دهد تا بینش‌هایی را از داده‌های تعبیه‌شده در رویدادهای گزارش استخراج کنند. گزارش‌ها همچنین یکی از منابع کلیدی داده‌ها برای تجزیه‌وتحلیل امنیتی هستند.

منابع مختلفی از گزارش‌ها و همچنین انواع لاگ وجود دارد که از میان آن‌ها می‌توان به گزارش سرور و برنامه (Server and Application logs) ، گزارش‌های مربوط به کانتینر (Container logs) ، دستگاه‌های موبایل و گزارش‌های برنامه (Mobile Devices and App logs) ، حسگرها ، اینترنت اشیاء ، اینترنت اشیاء صنعتی (Sensors,IOT,Industrial IOT) و دنده شبکه (Network Gear) اشاره کرد.


فعالیت‌هایی که در مدیریت لاگ انجام می‌شود را می‌توان به دسته‌های زیر تقسیم‌بندی کرد:

۱)جمع آوری(Collection) : ابزار مدیریت لاگ که داده‌ها را از برنامه‌های کاربردی ، سیستم‌عامل ، سرورها ، کاربران ، Endpointها و یا هر منبع مرتبط دیگری درون سازمان تجمیع می‌کند. در بیان ساده تر یعنی در ابتدا شما باید بتوانید لاگ ها را از منابع مختلفی که در سیستم خود دارید جمع‌آوری کنید و همه آن‌ها را در یک‌جا کنار هم قرار دهید. فایل‌های لاگ حاوی داده‌هایی هستند که از برنامه‌ها ، سرورها ، سیستم‌عامل ، سوئیچ‌ها و فایروال‌ها جمع‌آوری شدند. با استفاده از راه‌حل‌های مربوط به مدیریت لاگ ها می‌توان تنظیمات مربوط به نوع اطلاعاتی که می‌خواهیم جمع‌آوری کنیم را انجام دهیم و داده‌های اضافی را کنار بگذاریم و اطلاعات مورد نیاز و مرتبط را ذخیره کنیم.

۲)مانیتورینگ/نظارت(Monitoring) : ابزار مانیتورینگ لاگ رخدادها، فعالیت‌ها و همچنین زمان رخ دادن آن‌ها را ردیابی می‌کنند. مانیتورینگ به شما کمک می‌کند که اتفاقاتی که در سیستم شما درحال وقوع هستند را متوجه شوید و تمهیدات لازم را در صورت لزوم انجام دهید و یا شرایطی ایجاد کنید که اگر اتفاق خاصی در سیستم افتاد، سیستم به شما هشدار لازم را بدهد در واقع باید لاگ ها را به‌ترتیب زمانی مدیریت کنید و زمان وقوع اتفاقات را نیز داشته باشید، و ارتباطات آنها را نیز در نظر بگیرید. از همه مهم‌تر سیستم مدیریتی لاگ باید بتواند مراتب اهمیت لاگ ها را تشخیص داده و آن‌ها را از هم جدا کند.

علاوه‌بر همه این‌ها این سیستم باید توانایی مدیریت مسائل زیر را داشته باشد:

  • اطلاعات به چه صورتی باید تجزیه شوند؟
  • چه اطلاعاتی از لاگ ها را می‌بایست حتماً در اختیار داشته باشیم و کدام اطلاعات اهمیت کمتری دارند؟
  • هر لاگ تا چه زمانی باید در سیستم باشد؟
  • حافظه مورد نیاز برای این لاگ ها چه مقدار است؟
  • چه سرویس‌هایی توسط لاگ ها ارائه خواهند شد؟
  • چه نوع از لاگ ها وجود دارند و چطور باید آن‌ها را ذخیره کرد؟
  • برای مدیریت این حجم از لاگ چه منابعی مورد نیاز است؟
  • اطلاعات مورد نیاز در چه زمانی باید در اختیار ما قرار بگیرد؟

۳)تجزیه‌وتحلیل(Analysis) : ابزار آنالیز لاگ یا Log Analysis که با بررسی جمع‌آوری لاگ از سرور لاگ قادر است به‌صورت پیشگیرانه باگ ها ، تهدیدات امنیتی و مشکلات دیگر را شناسایی کند. باید توجه داشت که تجمیع یک مرحله بسیار مهم ، بزرگ و همزمان ضروری و بحرانی است. این کار زمانی بسیار سخت و پیچیده می‌شود که با شما با تنوع زیادی از لاگ ها روبرو باشید. پس یک سیستم مدیریت لاگ توانایی این را دارد که لاگ ها را بشناسد ، آن‌ها را تجزیه کند ، اطلاعات مشترک را استخراج کند و همه آن‌ها را به فرمت واحدی ذخیره کند. به‌معنای دیگر Log Text باید به‌صورت داده‌های قابل خواندن و با جزئیات قابل دسترسی در این سیستم ذخیره شود. ابزارهای مدیریت لاگ فرایند تجزیه و تحلیل داده‌های لاگ را خودکار و ساده می‌کنند و راه‌های پیشرفته‌ای برای ارائه یافته‌های شما ارائه می‌دهند. گزارش تجزیه‌وتحلیل از نمودارها ، و سایر تصاویر برای تأکید بر همبستگی‌ها و شباهت‌های بین رویدادها و داده‌ها استفاده می‌کند و تشخیص مسائل و ردیابی علل آن‌ها را آسان‌تر می‌کند.

۴) نگهداری (retention) : ابزاری که مشخص می‌کند داده باید تا چه مدتی درون فایل نگهداری شود. گام بعدی در مدیریت لاگ، ذخیره و نگهداری لاگ طولانی‌مدت است. سؤال اصلی در این مرحله این است که چه مدت باید لاگ ها را ذخیره کنید. درحالی‌که آسان‌ترین راه برای ذخیره‌سازی لاگ ها برای مدت نامحدود است تا در صورت نیاز بتوانید داده‌های قدیمی را بازیابی کنید، ذخیره این مقدار داده بسیار پرهزینه خواهد بود، امن‌ترین راه برای انجام این کار پیروی از بهترین شیوه‌ها و مقررات صنعت است.در صورت نیاز به بررسی، داده‌های لاگ را حداقل برای یک‌سال ذخیره می‌کند.

۵)جستجو(Indexing) : یک ابزار مدیریت لاگ به واحدفناوری اطلاعات(IT)کمک می‌کند، داده‌ها را روی تمام لاگ ها فیلتر، دسته‌بندی، تجزیه‌وتحلیل و یا جستجو کند. درواقع ابزارهای مدیریت لاگ با داشتن رویکرد جمع‌آوری متمرکز و گزینه‌های جستجوی پیشرفته، جستجوی لاگ را تسهیل می‌کنند و با در نظر گرفتن حجم فایل‌های لاگ، درک این‌که چرا ویژگی‌های جستجو تأثیر زیادی بر کیفیت مدیریت لاگ دارند، دشوار نیست. جستجوی پیشرفته به شما این امکان را می‌دهد به گزارش‌های ساختاریافته و بدون ساختار نگاه کنید و اطلاعاتی درمورد رویدادهای خاصی جمع‌آوری کنید که به تعیین علت اصلی کمک می‌کند.

۶)گزارش گیری(reporting) : ابزار پیشرفته‌ای که گزارش‌گیری از لاگ ممیزی را که به عملکرد عملیاتی، تخصیص منابع، امنیت یا تطبیق‌پذیری قانونی مرتبط می‌شود، خودکارسازی می‌کنند. راه‌حل‌های مدیریت لاگ مجهز به ابزارهایی برای داده کاوی هستند که در میان حجم های داده‌های لاگ برای کشف الگوهایی که در غیر این صورت پنهان باقی می‌ماند ،می‌گردند .این گزارش را بهبود می‌بخشد که خلاصه نهایی جستجو تجزیه‌وتحلیل انجام‌شده ارائه اعداد و ویژگی‌های بصری است که داستانی را درمورد داده‌های گزارش شما بیان می‌کند و زمانی‌که شما می‌خواهید یافته‌های خود را به کسی ارائه دهید که هیچ دانش فنی ندارد و می‌خواهید اهمیت داده‌ها را به‌طور کامل درک کند، بسیار مفید و کارا خواهد بود.

مدیریت متمرکز لاگ چیست؟

مدیریت متمرکز لاگ عبارت است از تجمیع داده‌های لاگ در یک مکان و فرمت واحد. ازآن‌جایی‌که داده‌ها از منابع مختلفی ازجمله سیستم‌عامل، برنامه‌های کاربردی، سرورها و هاست ها می‌آیند، کل ورودی باید تجمیع و استانداردسازی گردد و سپس سازمان می‌تواند بینش های معناداری بسازد. متمرکز کردن، فرایند تجزیه‌وتحلیل را ساده کرده و سرعت اعمال داده به مدیریت لاگ را نسبت‌به (SIEM)افزایش می‌دهد. بنابراین هم مدیریت رخداد و اطلاعات امنیت یا (SIEM)و هم نرم‌افزار مدیریت لاگ از فایل لاگ یا لاگ رخداد(Event Log) استفاده می‌کنند تا از طریق کاهش میزان آسیب‌پذیری‌ها، شناسایی تهدیدات و بهبود زمان پاسخ در صورت وقوع یک رخداد امنیتی، امنیت را بهبود ببخشند. باید این نکته را مدنظر قرارداد که در ساخت سیستم SIEM، امنیت به‌عنوان عملکرد اصلی در نظر گرفته شده‌است درحالی‌که سیستم‌های مدیریت لاگ را می‌توان به‌صورت کلی‌ و گسترده تری برای مدیریت منابع، عیب‌یابی شبکه یا قطعی برنامه‌های کاربردی و حفظ تطبیق‌پذیری مورد استفاده قرارداد.

سیستم‌های مدیریت لاگ یا ( Log Management System) چه کمکی می‌کنند؟

یک سیستم مدیریت لاگ(Log Management System )یا به اختصارLMS راهکاری نرم‌افزاری است که داده‌های لاگ و لاگ های رخداد را از منابع مختلف در یک مکان متمرکز جمع‌آوری، مرتب و ذخیره می‌کند. سیستم‌های نرم‌افزاری مدیریت لاگ به تیم‌های فناوری اطلاعات (IT) ،متخصصان Devops،SecOps این امکان را می‌دهد که یک نقطه واحد را ایجاد کنند که می‌توان از آن به تمام داده‌های شبکه و برنامه کاربردی دسترسی پیدا کرد. به‌طور متداول، فایل لاگ کاملاً ایندکس شده و قابل جستجو است،بدین‌معنا که تیم فناوری اطلاعات (IT) می‌تواند به‌سادگی به داده‌های مورد نیاز خود دسترسی پیدا کند تا در مورد سلامت شبکه، تخصیص منابع یا امنیت تصمیم بگیرد.

ابزارهای مدیریت لاگ برای کمک به سازمان در مدیریت حجم بالای داده‌های لاگ تولید شده در سازمان مورداستفاده قرار می‌گیرند. این ابزارها به ما کمک می‌کنند موارد زیر را تعیین کنیم:

  • کدام داده‌ها و اطلاعات نیاز به ثبت شدن دارند.
  • داده‌ها باید به کدام فرمت ثبت شوند(قالبی که باید درآنLogشوند)
  • دوره زمانی‌ که داده‌های لاگ باید ذخیره شوند.
  • وقتی به داده نیاز نیست، چطور باید حذف شود یا از بین برود.

اهمیت مدیریت لاگ:

سیستم و استراتژی مدیریت لاگ کارآمد بینش‌های Real_time یا بلادرنگ درمورد سلامت و عملیات سیستم را امکان‌پذیر می‌کند. باید توجه داشت که بدون مدیریت لاگ یافتن مرجع مشکلات عملکرد برنامه‌ها و علت رفتارهای غیرمنتظره سیستم مشکل خواهد بود. مدیریت لاگ به توسعه‌دهندگان و تیم زیرساخت امکان عیب‌یابی مشکلات را می‌دهد و به مدیران محصول اجازه می‌دهد تا اطلاعات مفیدی را از داده‌های تعبیه‌شده در لاگ ها استخراج کنند ، همچنین لاگ ها یکی از منابع کلیدی داده‌ها برای تجزیه‌وتحلیل امنیتی هستند مواردی مثل تشخیص تهدید ، تشخیص نفوذ و امنیت شبکه و غیره که در مجموع تحت عنوان (Security Information and Event Management) شناخته می‌شود .

یک راه‌حل مؤثر مدیریت لاگ به سازمان‌ها امکانات زیر را ارائه می‌دهد:

۱)ذخیره سازی یکپارچه داده‌ها از طریق تجمیع متمرکز لاگ.

داشتن همه لاگ ها در یک مکان ، هر تحلیلی را بسیار ساده‌تر می‌کند. اما وضعیت واقعی ذخیره سازی یکپارچه افزایش امنیت سیستم می‌باشد. ازآن‌جایی‌که این زمینه‌ای است که فاصله زمانی بین اولین تهدید تا زمانی‌که شما اقدامی انجام می‌دهید می‌تواند تفاوت را ایجاد کند ، ذخیره‌ی اطلاعات لاگ مهم در کنار هم کل فرآیند را سرعت می‌بخشد. تجمیع متمرکز همچنین به‌معنای داشتن داده‌های لاگ استاندارد است، که در زمان جستجوی اطلاعات در لاگ ها از منابع مختلف در زمان صرفه‌جویی می‌کند. بنابراین به‌طورکلی می‌توان گفت که یکی از مزیت‌های اصلی مدیریت لاگ در ذخیره‌سازی یکپارچه می‌باشد.

۲)بهبود امنیت از طریق کاهش میزان آسیب‌پذیری‌ها، مانیتورینگReal_time و بهبود زمان شناسایی و پاسخ.

در موارد نقض امنیتی و نفوذ که هر ثانیه می‌تواند به‌معنای آسیب بیشتر به سیستم توسط مهاجم باشد، ابزارهای مدیریت لاگ هشدارهای زمان واقعی قابل تنظیمی را ارائه می‌دهند که به شما این امکان را می‌دهد که به‌محض بروز مشکل واکنش نشان دهید و این بدین معنی است که مدیریت رخداد و اطلاعات امنیت خود را از واکنشی به فعالانه تغییر دهید و توانایی‌های مهار تهدید و امنیت خود را ارتقاء دهید. همچنین محیط فناوری اطلاعات به کمک مانیتورینگ Real_time ایمن‌تر خواهد شد و با انتخاب دقیق رویدادهایی که باید ثبت شوند می‌توانید امنیت را حتی بیشتر کنید.

۳)بهبود مشاهده پذیری و قابلیت دید روی شرکت از طریق یک لاگ رخداد.

۴)بهبود تجربه مشتری از طریق تجزیه‌وتحلیل داده‌های لاگ و مدل‌سازی پیش‌بینی‌کننده.

تجزیه‌وتحلیل گزارش‌های مشتریان یک کسب‌وکار می‌تواند رفتار خاصی را پیش‌بینی کند و به تصمیم تجاری کمک کند، بنابراین شرکت‌ها متوجه شدند که داده‌هایی که ذخیره می‌کنند ممکن است حاوی اطلاعات ارزشمندی باشد.ازآن‌جایی‌که هر فایل لاگ از قطعات مختلف داده تشکیل شده‌است هدف تجزیه فایل لاگ شناسایی ساختارهای مشابه و امکان گروه‌بندی اطلاعات براساس آن ساختارها است. با تجزیه‌وتحلیل داده‌ها که شامل چندین فرایند مانند پاکسازی و تبدیل داده‌ها با هدف ایجاد مدل داده‌ای است که می‌تواند رفتار خاصی را پیش‌بینی کند یا اطلاعات جدیدی ارائه دهد.

۵)قابلیت‌های عیب‌یابی سریع‌تر و دقیق‌تر از طریق تجزیه‌وتحلیل شبکه پیشرفته.

یکی از پرکاربردترین موارد استفاده از لاگ رویداد (Event Log) برای تشخیص مشکلات ، عیب‌یابی شبکه است. هشدارهای بلادرنگ به‌طور قابل‌توجهی زمان مورد نیاز برای شناسایی و رسیدگی به یک مشکل را کاهش می‌دهد ، نیروی عظیمی از ابزارهای مدیریت لاگ در تجزیه‌وتحلیل لاگ ها (Log Analysis) وجود دارد. حجم زیادی از داده‌های ذخیره‌شده در لاگ ها در معرض جستجو و تجزیه‌وتحلیل سفارشی قرار می‌گیرند که بازآفرینی جدول زمانی رویدادهای مشکل‌ساز ، کشف ارتباط با رویدادهای دیگر و مشخص کردن منبع را آسان‌تر می‌کند درواقع (Log Management) به شما امکان کنترل بهتری بر محیط فناوری اطلاعات می دهد.

چالش‌های متداول در مدیریت لاگ :

صحبت کردن از داده لاگ یعنی صحبت کردن از داده‌ای گسترده و همیشه در حال تغییر که همواره نیاز به بازنگری دارد، داده های لاگ بسیار متنوع است وانفجار داده‌ها که ناشی از تکثیر دستگاه‌های متصل و همچنین انتقال به فضای ابری است، پیچیدگی مدیریت لاگ را برای بسیاری از سازمان‌ها افزایش داده است. یک راهکار مدیریت لاگ مدرن و کارآمد باید به این چالش‌های اساسی پاسخ دهد:

_ استانداردسازی: ازآن‌جایی‌که مدیریت لاگ داده‌ها را از برنامه‌های کاربردی، سیستم‌ها، ابزار و میزبان های مختلفی جمع‌آوری می‌کند، تمام داده‌ها باید در یک سیستم واحد تجمیع شوند که از فرمت یکسانی پیروی می‌کند. این فایل لاگ به متخصصان امنیت اطلاعات وفناوری اطلاعات کمک خواهد کرد که به‌طور کارآمدی، داده‌های لاگ را تجزیه‌وتحلیل کرده و بینش‌هایی را ایجاد نمایند تا بتوانند خدمات حیاتی کسب‌وکار را به انجام برسانند.

_ حجم: داده‌ها با سرعتی باورنکردنی ایجاد می‌شوند. برای بسیاری از سازمان‌ها، حجم داده‌هایی که به‌طور مداوم توسط برنامه‌های کاربردی و سیستم‌ها ایجاد می‌شوند، جمع‌آوری، فرمت دهی، تجزیه‌وتحلیل و ذخیره نیازمند تلاش‌های بسیار زیادی است .یک سیستم مدیریت لاگ باید برای مدیریت مقدار بسیار زیاد داده و فراهم کردن بینش‌ها در زمان مناسب طراحی شود.

_ میزان تاخیر: شاخص گذاری یا Indexing در فایل لاگ می‌تواند یک فعالیت محاسباتی پرهزینه باشد که باعث ایجاد تأخیر بین زمان ورود داده به سیستم و زمان نمایش آن در نتایج جستجو و تصویرسازی(Visualization) شود. بسته به این‌که سیستم مدیریت لاگ چگونه داده هاIndexیا شاخص گذاری می‌کند، این تأخیر می‌تواند افزایش پیدا کند.

_ بار بالای IT : وقتی‌که مدیریت لاگ بطور دستی انجام شود، بسیار زمان‌بر و پرهزینه خواهد بود. ابزار مدیریت لاگ دیجیتال به خودکارسازی برخی از این فعالیت‌ها و سبک کردن مسئولیت متخصصان فناوری اطلاعات کمک می‌کند.

بهترین راهکارهای Log Management :

با توجه به حجم انبوه داده‌هایی که در دنیای دیجیتال امروز ایجاد می‌شوند، برای متخصصان فناوری اطلاعات مدیریت دستی و تجزیه‌وتحلیل لاگ ها در یک محیط فناوری گسترده غیرممکن شده‌است. به‌این‌ترتیب، آن‌ها به یک سیستمLog Management پیشرفته و ابزارهایی نیاز دارند تا جنبه‌های کلیدی فرایندهای جمع‌آوری، فرمت بندی و تجزیه‌وتحلیل داده‌ها را خودکارسازی کنند.در ادامه به برخی از ملاحظات کلیدی که سازمان‌ها باید در هنگام سرمایه‌گذاری روی یک سیستم(Log Management) به آن‌ها توجه کنند بیان می‌شود:

_ اولویت‌بندی ابزار خودکارسازی برای کاهش بار IT : مدیریت لاگ یک فرآیند زمان‌بر است که می‌تواند منابع را از یک سازمان فناوری اطلاعات(IT) تخلیه کند. بسیاری از کارهای تکراری مربوط به جمع‌آوری و تجزیه‌وتحلیل داده را می‌توان با استفاده از ابزارهای پیشرفته خودکارسازی کرد. سازمان‌ها باید در هر ابزار مدیریت لاگ جدید قابلیت‌های خودکارسازی را در اولویت قرار دهند و راهکارهای قدیمی را بروزرسانی کنند تا میزان تلاش‌های دستی در این فرایند کاهش پیدا کند.

_ استفاده از یک سیستم متمرکز برای دسترسی بهتر و بهبود امنیت : یک مدیریت لاگ متمرکز فقط دسترسی به داده را بهبود نمی‌بخشد، بلکه شدیداً قابلیت‌های امنیتی سازمان را تقویت می‌کند. ذخیره‌سازی و اتصال داده‌ها در یک مکان متمرکز به سازمان‌ها کمک می‌کند سریع‌تر ناهنجاری‌ها را شناسایی کرده و به آن‌ها پاسخ دهند. بدین صورت، یک سیستم مدیریت لاگ متمرکز می‌تواند به کاهش زمان شیوع یا همان بازه‌ی زمانی‌که هکر ها می‌توانند به‌صورت جانبی به بخش‌های دیگر سیستم راه پیدا کنند کمک کند.

_ ایجاد یک خط مشی نظارت( مانیتورینگ )و نگهداری سفارشی برای مدیریت بهتر حجم : با توجه به حجم داده‌هایی که ایجاد می‌شود، سازمان‌ها باید نسبت‌به اطلاعاتی که جمع‌آوری می‌شود و این‌که این اطلاعات چطور باید حفظ شود دقت لازم را به عمل آورند. سازمان‌ها باید یک تجزیه‌وتحلیل (آنالیز)در سطح سازمانی انجام دهند تا مشخص شود که چه ورودی‌هایی برای هر عملکرد حیاتی هستند.

_ استفاده از ابر (Cloud) برای افزایش مقیاس پذیری و انعطاف‌پذیری : با توجه به چشم‌انداز داده که روزبه‌روز در حال رشد است، سازمان‌ها باید مدنظر داشته باشند که برای سیستم مدیریت لاگ خود، روی یک راهکار مبتنی بر ابر سرمایه‌گذاری کنند. استفاده از ابر امکان انعطاف‌پذیری و مقیاس پذیری را فراهم می‌کند و به‌سادگی به سازمان‌ها این امکان را می‌دهد که ظرفیت پردازش و ذخیره‌سازی خود را نسبت‌به نیازهای متغیر افزایش یا کاهش دهند.

ابزارها و فناوری هایLog Management :

امروزه ابزارهای بسیاری به منظورهای مختلفی برای مدیریت لاگ در بازار عرضه شدند که هر کدام اهداف و جنبه‌های مشترک و مختلفی را تحت پوشش قرار می‌دهند.در ادامه چند ابزارOpen Source معرفی می شود:

۱) ابزار(ELK)Elastic Stack : این ابزار یکی از پرکاربردترین ابزارهایی است که برای مدیریت لاگ از آن استفاده می‌شود ، زیرا این مجموعه ابزارها قوی‌ترین پوشش ثبت و تحلیل لاگ را در اختیار برنامه نویسان و DevOps قرار می دهد. این ابزار ترکیبی از سه سرویس جداگانهElasticsearch_Logstash_Kibana است که همه آن‌ها متن باز هستند و توسط همان تیم توسعه یافته‌اند. این سه تکنولوژی در کنار هم بهترین تجربه‌ی سیستم ثبت رویداد را می‌دهند. به‌طورکلی ELK یک ترکیب همه‌کاره است ، پشته را می‌توان به‌عنوان یک برنامه کاربردی مستقل استفاده کرد یا با برنامه‌های موجود برای دریافت بروزترین داده‌ها یکپارچه شد. استفاده از عبارت Stack برای آن به این دلیل است که شامل چند ابزار است :


ا _ Elasticsearch : یک موتور جستجوی بسیار قدرتمند و مقیاس پذیر است که می‌تواند حجم زیادی از داده را ذخیره کند و به‌عنوان یک خوشه مورداستفاده قرار دهد.

ا _ Logstash : یک مخزن داده واحد است. درواقع جایی است که فایل‌های لاگ ذخیره، تجزیه، فیلتر و تجزیه‌وتحلیل می‌شوند.ازدلایل محبوب بودن آن می‌توان به این اشاره کردکه به‌راحتی با سایر محصولاتElastic ادغام می شود. علاوه‌بر این یک دسته کامل از پلاگین ها وجود دارد که این ابزار را بسیار انعطاف‌پذیر می‌کند.

ا _ Kibana : امکان تحلیل داده‌های ذخیره‌شده درElastic و ایجاد داشبورد و نمودارهای مختلف را داراست. درواقع یک رابط کاربری گرافیکی است که امکان جستجو ،تجزیه‌وتحلیل و مصورسازی (Visualizations)مقادیر زیادی از داده‌های پیچیده از پایگاه داده Elasticsearch را می‌دهد.


۲) ابزار Graylog : یک ابزار قدرتمند برای مدیریت گزارش‌ها می‌باشد که گزینه‌های زیادی برای تجزیه‌وتحلیل گزارش‌های ورودی از سرورهای مختلف در اختیار قرار می‌دهد. علاوه‌بر آن یک رابط کاربری خوب را به‌همراه ویژگی‌های بسیاری مانند جستجوی پیشرفته، ویژگی هشدار،تحمل خطا برای جلوگیری از دست دادن داده‌ها در صورت بروز مشکلات شبکه ارائه می‌کند.ابزار Graylog بر خلافElasticsearch یک راه‌حل تک برنامه‌ای در جمع‌آوری داده‌ها، تحلیل وVisualization ارائه می‌دهد و نیاز به نصب چند ابزار مختلف ندارد.Graylog داده ها را در MongoDB جمع‌آوری و ذخیره می‌کند و روی داشبورد های کاربر پسند به تصویرسازی داده‌ها می‌پردازد.اما باید توجه داشت که Graylogنمی‌تواند از فایل‌های Syslogبخواند بنابراین شما باید پیام‌های خود را مستقیماً به Graylog ارسال کنید.


۳) ابزارLOGalyze : این ابزار یک پیشنهاد نسبتاً قدرتمند است که در زمینه مانیتورینگ شبکه و مدیریت لاگ ها کاربرد دارد و لاگ ها را از شبکه و میزبان‌های ویندوز و لینوکس جمع‌آوری می‌کند و به تجزیه‌وتحلیل آن‌ها می‌پردازد. همچنین برای استقرارهای تک سیستمی که به‌دنبال ترکیب ورود به سیستم از منابع شناخته‌ شده مانندApache،Postfix و غیره هستند و خروجی را درCSV،HTML، PDF یا فرمت‌های مشابه تولید می‌کنند به‌خوبی کار می‌کند .این ابزار بدون هیچ محدودیتی قابل نصب می‌باشد.


۴) ابزار Rsyslog : این ابزار برای سیستم‌عامل‌های مشابه یونیکس می‌باشد. از نظر فنی، یک مسیریاب پیام با ورودی‌ها و خروجی‌های قابل بارگذاری پویا است . ابزارRsyslogدارای ویژگی‌هایی از قبیل (تنظیمات انعطاف‌پذیر، ارائه قابلیت‌های چند رشته‌ای، حفاظت از دستکاری فایل گزارش، ارائه قابلیت‌های فیلتر مبتنی بر محتوا، استفاده از امضای گزارش و رمزنگاری، پشتیبانی از پلتفرم‌های Big data)می باشد.


۵) ابزار Data dog : این ابزار می‌تواند سرویس هایی مانند سرورها، پایگاه‌های داده و ابزارها را نظارت کند، درواقع یک ابزار نظارت و تجزیه‌ و تحلیل برای تیم‌های فناوری اطلاعات و DevOps است که می‌تواند برای تعیین معیارهای عملکرد و همچنین نظارت بر رویدادها برای زیرساخت‌هاو خدمات ابریCloud استفاده شود.Data dog از سیستم‌عامل‌های ویندوز، لینوکس و مک پشتیبانی می کند. نرم‌افزار مانیتورینگ و مدیریت لاگ Data dog برای استقرار در محل ،یا به‌عنوان یک نرم‌افزار به‌عنوان سرویس(SaaS) در دسترس است.


۶) ابزارFlume : اگر به‌دنبال یک پلتفرم انتقال داده‌ی توزیع‌شده و قابل‌تحمل خطا برای چیزهای سنگین باشید ابزار Flume راهکاری عالی می باشد.این ابزار منبع باز که کد منبع آن به زبان جاوا نوشته‌شده است بهترین انتخاب در مجموعه داده‌های واقعاً بزرگ می‌باشد.


۷) ابزارSplunk : این ابزار یکی از اولین و محبوب‌ترین ابزارهای متمرکز کننده لاگ می‌باشد. ابزارSplunk دارای زبان پرس وجوی قدرتمند برای جستجو و تجزیه‌وتحلیل است.همچنین استخراج میدان زمان جستجو ،فراتر از تجزیه در زمان مصرف است .این ابزار به‌طور خودکار داده‌هایی که اغلب به آن‌ها دسترسی پیدا می‌کند به ذخیره سازی سریع و داده‌هایی که به‌ندرت به آن‌ها دسترسی دارند را به ذخیره‌سازی کند منتقل می‌کند.درضمن این ابزار دارای ویژگی‌های غنی زیادی بوده و برای اکثر موارد فشرده سازی داده خوبی دارد.


۸) ابزار GoAccess : این ابزار یک رابط کاربری مبتنی بر وب مناسب ارائه می‌دهد که از داخل مرورگر قابل‌اجرا است و اطلاعات را به‌صورت real_timeنمایش می‌دهد.ابزارGOAccess که به زبان برنامه‌نویسیC نوشته‌ شده است ، تقریباً از تمام فرمت‌های لاگ مانندApache،Nginx،Amazon S3،Cloudfront پشتیبانی می‌کند و برای کار با آن نیازی به نصب کتابخانه و ابزار دیگری نیست.


شرکت‌های ایرانی ارائه‌دهنده خدمات در حوزه مدیریت لاگ

شرکت داده کاوان تصمیم یار(کوالاتک):

شرکت کوالاتک در زمینه ارائه، مشاوره و آموزش خدمات نرم‌افزاری ( خدمات تخصصی تست نرم‌افزار و تضمین کیفیت) به سازمان‌های دولتی و خصوصی فعالیت می‌نماید.این شرکت ابزار مدیریت لاگ خود را این‌گونه توصیف می‌کند :سیستم مدیریت لاگ کوالاتک(Log Management)ابزاری است که به سازمان کمک می‌کند تا لاگ های مختلف نرم‌افزارها، اپلیکیشن‌ها و غیره را در این ابزار جمع‌آوری کند و آن‌ها را متناسب با نیاز خود سازماندهی نماید.


خدماتی که این شرکت ارائه می‌دهد عبارتند از: تست اتوماتیک عملکردی، تست اتوماتیک کارایی، تست اتوماتیک امنیت، راه‌اندازی و مشاوره CI/CD، راه‌اندازی مدیریت لاگ، راه‌اندازی مانیتورینگ، راه‌اندازی آنالیز سورس کد. این مجموعه کمک می‌کند تا به‌طور سیستماتیک و مطابق نیازمندی شما، از ریسک‌های کیفی و هزینه‌های اضافی ناشی از عدم تست اصولی در مرحله توسعه و تولید جلوگیری کنید.

ویژگی های ابزار مدیریت لاگ شرکت کوالاتک
ویژگی های ابزار مدیریت لاگ شرکت کوالاتک



شرکت دانش بنیان پلتکو:

پلتکو یک شرکت دانش بنیان است که با بهره‌گیری از کارشناسان ارشد حوزه معماری زیرساخت سرویس‌های سازمانی، خدمات یکپارچه‌سازی و مدیریت وب سرویس نظیر ESB، API MANAGER و غیره ارائه می‌دهد. یکی از محصولات این شرکت ابزار مدیریت لاگ است. یک نرم‌افزار مدیریت لاگ پلتکو دارای مزایایی از قبیل ذخیره‌سازی یکپارچه ، عیب‌یابی بهتر ، سیستم نظارت و هشدار ، تجزیه فایل لاگ ، بهبود امنیت و آنالیز و تحلیل داده‌ها،می باشد.


شرکت دانش بنیان آتین آتیه اندیش:

این شرکت با معرفی محصولاتی در حوزه مدیریت لاگ های سیستم و سامانه مدیریت هویت دنبال جایگاه مناسبی در صنعت فناوری اطلاعات ایران است. آتین یک سرویس مدیریت هویت و دسترسی است که با تمرکز ویژه بر رضایت مشتری بر بستر زیرساخت ابری توسعه‌یافته است. با استفاده از سامانه آتین مراکز و سرویس‌دهنده‌های فناوری اطلاعات به‌راحتی می‌توانند دسترسی دستگاه‌های مختلف داخل سازمان یا اشخاصی از جمله کارمندان ، شرکای تجاری و مشتریان را به تمامی سامانه ها به‌صورت متمرکز مدیریت نمایند. آتین تضمین می‌کند که دسترسی همه کاربران براساس سیاست واحد صورت گیرد و تمامی افراد و سرویس‌ها، احراز هویت، مجوز دهی و نظارت شوند. یکی از محصولات این شرکت سامانه‌ مدیریت لاگ است که خدمتی اضافه بر سامانه مدیریت هویت و دسترسی ارائه می‌کند.

« این مطلب، بخشی از تمرین‌های درس معماری نرم‌افزار در دانشگاه شهید بهشتی است »

#معماری _نرم‌افزار_ بهشتی


منابع :
https://sematext.com/guides/log-management/
https://geekflare.com/open-source-centralized-logging/
https://www.crowdstrike.com/cybersecurity-101/observability/log-management/
https://sematext.com/blog/best-log-management-tools/
https://platco.ir/services/monitoring/log-manager/
https://www.graylog.org/post/what-is-log-management-a-complete-logging-guide/
معماری _نرم‌افزار_ بهشتیlog managementelkابزارهایelkمدیریت لاگ
شاید از این پست‌ها خوشتان بیاید