مدیریت لاگ اگر به صورت کارآمد انجام شود، می تواند به متخصصان یک سازمان کمک کند تا به برنامه های خود نظارت داشته باشند و عملکرد آن ها را بهبود بخشند.
مدیریت لاگ در واقع عمل جمعآوری، قالببندی، تجمیع و تجزیه و تحلیل دادههای لاگ برای بهینهسازی برنامهها و برنامهها است. دادههای موجود در لاگ ها حاوی اطلاعات ارزشمندی است که میتواند به تیم فنی در مورد عملکرد برنامه اطلاع دهد و به آنها کمک کند تا مشکلات را پیدا کنند. با درک بهتر عملکرد، متخصصان سازمان می توانند منابع مناسب را برای بهبود تجربه کاربر نهایی اختصاص دهند. با این حال، مدیریت موثر لاگ مستلزم صرف زمان و هزینه است. ابزارهای مدیریت لاگ مناسب میتوانند در زمان مشاهده دستی لاگ ها صرفهجویی کنند و بینشهای مهمی را برای هر کسی که میخواهد برنامههای خود را بهتر مدیریت کند، ارائه دهند.
در ادامه به توضیح بیشتر در مورد مدیریت لاگ و ابزارهای مربوط به آن می پردازیم.
در دنیای کامپیوتر، لاگ فایلی است که اطلاعات مربوط به رویدادهای خاصی که در سیستم رخ می دهد را ثبت می کند.فایلهای لاگ معمولا هر چیزی را که در پشت صحنه در سیستمعاملها یا برنامههای نرمافزاری اتفاق میافتد را ضبط می کنند. به طور خلاصه در این فایل ها هر چیزی که در سرور، شبکه، سیستم عامل و برنامه ی نرم افزاری که برای بررسی های بعدی قابل اهمیت است، ذخیره می شود. لاگ ها میتوانند انواع رویدادها را از جمله تراکنش هایی که در یک سیستم رخ می دهد، آنچه که در حین پشتیبانگیری اتفاق افتاده، خطاهایی که اجرای برنامه را متوقف کرده است یا فایلهایی که توسط کاربران از یک وبسایت درخواست شده است، مستند کنند.
با استفاده از ابزارهای مدیریت لاگ می توان لاگ های دریافتی از برنامه ها یا سیستم های مختلف را مشاهده کرد و از آن ها اطلاعات مفید استخراج کرد.
مدیریت لاگ (Log Management) چیست؟
مدیریت لاگ یک اصطلاح جامع است که تمام فعالیتها و فرآیندهای مورد استفاده برای تولید، جمعآوری، متمرکز کردن، تجزیه، انتقال، ذخیره و بایگانی حجم عظیمی از دادههای تولید شده توسط برنامه های نرم افزاری و زیر ساخت ها را توصیف میکند. از آنجایی که این داده ها از منابع مختلفی میآیند و در قالبهای متنوعی وجود دارند، باید در یک نقطه متمرکز شده و قالب آن ها استاندارد شود. پس از آن تیم های فنی می توانند اطلاعات ارزشمندی را از این داده ها استخراج کنند که می تواند برای بهبود عملکرد برنامه ها مفید باشد. به عنوان مثال توسعه دهندگان می توانند از این گزارش ها برای شناسایی تهدید های امنیتی برنامه های نرم افزاری خود یا عیب یابی سیستم خود استفاده کنند. چون فایل های لاگ به طور مستمر تولید می شوند، حاوی حجم بالایی از داده هستند که سازماندهی این حجم بالای داده برای تیم فنی امری مشکل است.غیر از جمع آوری و سازماندهی این داده ها، انجام جستجوهای پیشرفته در این داده ها بدون استفاده از ابزار مناسب می تواند دشوار باشد. بنابراین استفاده از یک ابزار مدیریت لاگ برای کمک به جمع آوری، ذخیره سازی و جستجو در داده ها مساله ی مهمی است.
بخش های مختلف مدیریت لاگ
مدیریت لاگ ها به بخش های زیر تقسیم می شود:
چرا مدیریت لاگ مهم است؟
مدیریت لاگ بینشی در مورد درستی و صحت عملکرد سیستم ها و برنامه ها به ما ارائه می دهد.بدون مدیریت لاگ ها یافتن مرجع مشکلات عملکرد برنامه ها و علت رفتارهای غیر منتظره سیستم مشکل خواهد بود.
مدیریت لاگ به توسعه دهندگان و تیم زیرساخت امکان عیب یابی مشکلات را می دهد و به مدیران محصول اجازه می دهد تا اطلاعات مفیدی را از داده های تعبیه شده در لاگ ها استخراج کنند. همچنین لاگ ها یکی از منابع کلیدی دادهها برای تجزیه و تحلیل های امنیتی هستند مواردی مثل تشخیص تهدید،تشخیص نفوذ و امنیت شبکه و ...که در مجموع تحت عنوان Security Information and Event Management) SIEM) شناخته میشوند. از مزایای مدیریت لاگ می توان به موارد زیر اشاره کرد:
در این بخش به بررسی ابزارهای مطرح در حوزه ی مدیریت لاگ می پردازیم.
ابزار (Elastic Stack (ELK
این ابزار یکی از پرکاربردترین ابزارهایی است که برای مدیریت لاگ از آن استفاده می شود. استفاده از عبارت stack برای آن به این دلیل است که شامل چند ابزار است. Elastic Stack شامل بخش های زیر است:
۱- Elastic Search: یک موتور جستجوی متن باز قدرتمند است.
۲- Kibana: ابزار مبتنی بر وب برای تجسم و تصویر سازی (visualization) داده ها
۳- Beats: کار این ابزار این است که به طور مستمر دادههای لاگ و مانیتورینگ مربوط به هر دستگاه را به یک مخزن داده ی واحد ارسال کند.
۴- Logstash: یک مخزن داده ی واحد است. در واقع جایی است که فایل های لاگ ذخیره، تجزیه، فیلتر و تجزیه و تحلیل می شوند.
برای استفاده از این ابزار باید ابتدا Beats را روی همه سرورهایی که میخواهیم روی آن ها مانیتورینگ انجام دهیم،نصب و پیکر بندی کنیم تا داده ها را به یک سرور مرکزی در واقع جایی که Logstash را برای انجام کار تجزیه و تحلیل لاگ ها تنظیم کرده ایم، ارسال کنندو سپس داده ها را در Elastic Search ادغام کنیم تا بتوانیم داده ی مورد نظر خود را در آن جستجو کنیم.در نهایت می توانیم از Kibana برای انواع مختلف تجسمها و تصویر سازی های مفید داده های فایل های لاگ استفاده کنیم.
اطلاعات بیشتر مربوط به این ابزار از طریق این لینک قابل مشاهده است.
ابزار Graylog
یکی دیگر از نرم افزارهای مدیریت لاگ متن باز قدرتمند Graylog است. نصب این ابزار سریع و آسان است.Graylog یک رابط کاربری خوب را به همراه ویژگیهای بسیاری مانند جستجوی پیشرفته (برای ساخت پرس و جوهای قدرتمند و اجرای سریع آنها)، ویژگی هشدار، تحمل خطا (برای جلوگیری از از دست دادن دادهها در صورت بروز مشکلات شبکه) را ارائه می کند.Graylog به زبان جاوا نوشته شده است و به خوبی پشتیبانی شده و به طور مستمر به روز می شود و افزونه های زیادی را به صورت رایگان و متن باز در اختیار کاربران قرار می دهد.
ابزار Graylog بر خلاف Elastic Search یک راه حل تک برنامه ای در جمع آوری داده ها، تحلیل و visualization ارائه می دهد و نیاز به نصب چند ابزار مختلف ندارد. Graylog دادهها را در MongoDB جمعآوری و ذخیره میکند و روی داشبوردهای کاربر پسند به تصویر سازی داده ها می پردازد.
اطلاعات بیشتر درباره ی این ابزار از اینجا قابل دستیابی است.
ابزار LOGalyze
کاربرد این ابزار در زمینه ی مانیتورینگ شبکه و مدیریت لاگ است که لاگ ها را از شبکه و هاست های ویندوزی و لینوکسی جمع آوری می کند و به تجزیه و تحلیل آن ها می پردازد. این ابزار در ابتدا تجاری بود اما اکنون بدون هیچ محدودیتی قابل دانلود و نصب است. این ابزار برای تحلیل لاگ های سرورها و برنامه ها ایده آل است و می تواند گزارش های خود را در قالب های pdf، csv و html ارائه کند. LOGalyze نیز مانند سایر ابزارهای معرفی شده، یک رابط کاربری ساده دارد که استفاده ی کاربران از این ابزار را تسهیل می بخشد.
اطلاعات بیشتر در مورد این ابزار را می توانید از طریق این لینک مشاهده کنید.
ابزار GoAccess
ابزار GoAccess در وهله اول به عنوان یک ابزار مدیریت لاگ مبتنی بر ترمینال ساخته شد اما اکنون GoAccess یک رابط کاربری مبتنی بر وب مناسب ارائه می دهد که از داخل مرورگر قابل اجرا است.
GoAccess به زبان برنامه نویسی C نوشته شده است. از جمله ویژگی های آن می توان به موارد زیر اشاره کرد:
اطلاعات بیشتر در مورد این ابزار از طریق وبسایت آن قابل دسترسی است.
از جمله شرکت های ایرانی فعال در این زمینه می توان به شرکت دانش بنیان پلتکو اشاره کرد.پلتکو یک شرکت دانش بنیان است که با بهرهگیری از کارشناسان ارشد حوزه معماری زیر ساخت سرویس های سازمانی، خدمات یکپارچه سازی و مدیریت وب سرویس نظیر ESB و API MANAGER و ... ارائه میدهد.
در سایت این شرکت در مورد مدیریت لاگ متن زیر آورده شده است:
سازمانها با استفاده از نرم افزارlog management میتوانند تمامی این لاگها را به صورت برخط و یکپارچه ذخیره سازی و تحلیل کنند. نرم افزار مدیریت لاگ به سازمانها کمک میکند سطح نظارتی خود را چندین مرتبه عمیقتر کنند و با تحلیل لاگها روندهای مشکل آفرین و تهدید آمیزی که از دید ساختار مانیتورنیگ پنهان است را کشف کرده و پیش از وقوع بحران مشکل را برطرف کنند
از جمله دیگر شرکت های فعال در این زمینه کوالاتک است.مجموعه کوالاتک، ارائه دهنده خدمات تخصصی تست نرم افزار و تضمین کیفیت می باشد. این شرکت ابزار مدیریت لاگ خود را اینگونه توصیف کرده است:
سیستم مدیریت لاگ کوالاتک (Log Management) ابزاری است که به سازمان کمک میکند تا لاگهای مختلف نرم افزارها، اپلیکیشن ها و … را در این ابزار جمعآوری کند و آنها را متناسب با نیاز خود ساماندهی نماید.
«این مطلب، بخشی از تمرینهای درس معماری نرمافزار در دانشگاه شهیدبهشتی است»
1- https://www.graylog.org/post/what-is-log-management-a-complete-logging-guide
2- https://www.humio.com/glossary/log-management/
3- https://opensource.com/article/19/4/log-analysis-tools
4- https://fosspost.org/open-source-log-management/
5- https://sematext.com/guides/log-management/
6- https://platco.ir/services/monitoring/log-manager/
7- https://qualatech.ir/log-management/