Pooya Sabeti
Pooya Sabeti
خواندن ۸ دقیقه·۳ سال پیش

معرفی ابزار های مدیریت لاگ

در این مقاله قصد داریم مفهمو مدیریت لاگ را معرفی کنیم و همچنین به شرح تعدادی از ابزار های پر کاربرد این زمینه بپردازیم. در ادامه چند نمونه از ابزار های ایرانی را نیز معرفی خواهیم کرد.

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

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

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

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

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

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

یک سیستم مدیریت لاگ کارآمد دید های بلادرنگ را برای سلامت و عملیات های سیستم به وجود می آورد و همچنین موارد زیر از کاربردهای آن است.

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

ابزار های مدیریت لاگ

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

امروزه چند نمونه از برنامه های مدیریت و آنالیز لاگ وجود دارد و انتخاب منبع مناسب برای آنالیز لاگ های برنامه از چیزی که به نظر میرسد امری راحت تر می باشد. برنامه های رایگان و متن باز به افراد مدیریت لاگ ها را در انواع مختلف سیستم و سایت ها و سیستم عامل ها ارائه می دهد. پنج مورد از برترین آن ها را در این بخش معرفی می کنیم.

GrayLog

نرم افزار Graylog در سال 2011 در آلمان شروع به کار کرد و امروزه به عنوان یک برنامه ی متن باز و یا یک برنامه تجاری ارائه می شود. این برنامه طراحی شده است که برای ورودی داده هایی از سورس ها و سرور های مختلف می باشند به عنوان یک سیستم مدیریت لاگ مرکزی عمل کند. همچنین این اجازه را میدهد که در میان اطلاعات با سرعت زیاد جستجو و بررسی انجام شود.

این نرم افزار به علت داشتن راحتی مقیاس پذیری در میان ادمین های سیستم به محبوبیت زیادی رسید. بیشتر پروژه های تحت وب در ابتدا که شروع میشوند مقیاس کوچکی دارند و در ادامه به صورت نمایی رشد می کنند. Graylog می تواند با بالانس کردن بار میان شبکه های سرور های بک اند و مدیریت ترابایت ها داده به صورت روزانه باعث مقیاس پذیری بالای یک اپلیکیشن شود.

Graylog
Graylog

ادمین های آی تی رابط کاربری فرانت graylog را بسیار راحت و شفاف و در عین حال مستحکم یافتند. این برنامه در باب مفهوم داشبورد ساخته شده است که به کاربر اجازه می دهد مقیاس ها و داده هایی که از اهمیت بیشتری برخوردارند را انتخاب کند و روند آن را در طول زمان بررسی نماید.

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

Nagios

برنامه Nagios در سال 1999 با یک توسعه دهنده کار خود را آغاز کرد و از آن زمان تا کنون به یک از قابل اعتماد ترین برنامه های مدیریت داده های لاگ تبدیل شده است. نستخه کنونی Nagios میتواند بین چند سرور در حال اجرای ویندوز، لینوکس و یا یونیکس ارتباط برقرار کند.

Nagios Core
Nagios Core

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

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

به عنوان یکی از کار های رسیدیگی به شبکه میتواند داده های لاگ را بر اساس موقعیت جغرافیایی ای که داده از آن نشات میگیرد ذخیره کرد. این به این معنی است که میتوان داشبورد های معنا داری نسبت موقعیت دقیق جریان ترافیک برای مشاهده آن به وجود آورد.

Elastic stack

نرم افزار Elastic stack که بعضی اوقات به آن ELK Stack هم گفته می شود، یکی از معروف ترین ابزار های متن باز در میان سازمان های می باشد که نیاز به پیمایش درون مجموعه های بسیار وسیعی از داده ها را دارند و باعث می شود داده های آن ها معنی پیدا کنند.


نرم افزار اصلی آن از سه بخش مجزا تشکیل شده است: Elastisearch, Kibana و Logstash:

  • همانطور که از اسم آن مشخص است Elasticsearch طراحی شده است که کاربران درخواست های خود را در میان پایگاه داده به کمک گسترهی عظیمی از انواع زبان های کوئری به دست آورند. سرعت بالا از خصوصیات بسیار بارز این برنامه می باشد. همچنین میتواند به خوشه های تشکیل شده از صدها سرور گسترش پیدا کند و پتابایت ها داده را به سادگی مدیریت کند.
  • بخش kibana یک ابزار مصورساز است که در کنار Elasticsearch اجرا میشود و به کاربر اجازه می دهد که داده ها را آنالیز کرده و گزارش های قدرتمندی به دست آورد. زمانی که در ابتدا موتور Kibana را روی خوشه ی سرور های خود نصب میکنید میتوانید یک دسترسی به رابط کاربری ای پیدا کنید که گزارشات آماری، گراف ها و حتی انیمیشن هایی از داده شما را نمایش می دهد.
  • قسمت نهایی Elk Stack قسمت Logstash می باشد که به عنوان یک پایپلاین محض سمت سرور درون پایگاه داده Elastcsearch عمل می کند. میتوانید Logstash را به همراه گستره ی مختلفی از زبان ها و API های مختلف تجمیع کنید تا اطلاعات از وبسایت و یا اپلیکیشن موبایل شما به صورت مستقیم به خورد موتور قدرتمند Elastic Stalk داده شود.

یک ویژگی منحصر به فرد ELK Stack این است که به شما اجازه میدهد که اپلیکیشن هایی روی بیلد متن باز WordPress می باشند را مانیتور کنید. در مقابل بسیاری از ابزار های لاگ مخصوص امنیت که به سختی ادمین و لاگ های PHP را دنبال می کنند با ELK Stack می توان در میان لاگ ای دیتا بیس و وب سرور به راحتی گذار کرد.

برنامه های مشابه ایرانی برای مدیریت لاگ

شرکت آتین

طبق توضیحات خود شرکت :

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

این شرکت در میان خدمات متفاوتی که ارائه می دهد، خدمت مدیریت لاگ را نیز به صورت اختصاصی ارائه میدهد.

شرکت کوالاتک

این شرکت به طور کلی در حوزه ی تست نرم افزار و وب سرویس ها کار میکند و یکی از خدمات ارائه دهنده ی آنها مدیریت لاگ می باشد.


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

منابع

Humio

Opensource

Qualatech

authin


معماری_نرم_افزار_بهشتیlog managementlog tools
شاید از این پست‌ها خوشتان بیاید