مقالات
سنتری - لاگ خطا

سرویس sentry چیست

سرویس sentry چیست ؟ اگر توسعه‌دهنده نرم‌افزار هستید یا به این کار علاقه دارید احتمالاً نام سنتری را شنیده‌اید. ابزاری Open Source که با استفاده از آن می‌توانید با سرعت بسیار بالا خطاهای نرم‌افزار را ردیابی، شناسایی و رفع کنید. در این مقاله قصد داریم این سرویس، امکانات و قوانین دسترسی به آن را بررسی کنیم. 

سرویس sentry چیست ؟

سنتری ابزاری متن‌باز است که دولوپرها (توسعه‌دهندگان) برای Error Tracking(خطایابی) از آن استفاده می‌کنند. با به‌کارگیری سنتری، توسعه‌دهندگان می‌توانند از امکانات زیر استفاده کنند.

  1. این ابزار از طریق راه‌های مختلفی مثل اس‌ام‌اس یا ایمیل در سریع‌ترین زمان ممکن کاربر را از خطاهای رخ‌داده آگاه می‌سازد.
  2. با استفاده از این سرویس می‌توان خطاهای موجود در نرم‌افزار را شناسایی و بر اساس اولویت‌بندی آن‌ها را رفع کرد. 
  3. پس از به‌روزرسانی نرم‌افزار تولید شده، تمام خطاهای موجود در نسخه‌های مختلف قابل‌مشاهده است.
  4. اپن‌سورس بودن این ابزار به کاربران اجازه می‌دهد تا خطا را ردیابی کنند.
  5. سنتری بازخورد کاربران را به‌صورت خودکار به توسعه‌دهندگان ارجاع می‌دهد تا از آن مطلع شوند.
  6.  به‌وسیله این ابزار می‌توانید کاربر را از اقداماتی که برای رفع مشکل انجام می‌دهید آگاه کنید.  

تعیین هویت کاربر و دسترسی‌های آن

Sentry همانند سایر ابزارهای موجود در Hadoop برای شناسایی کاربر و احراز هویت از Kerberos یا LDAP استفاده می‌کند. اجازه دهید نحوه کار را با بیان یک مثال برای شما شرح دهیم.

کاربر A و B را در نظر بگیرید که هر دو متعلق به گروهی (Active Directory) به نام بخش مالی هستند. کاربر B  در گروه دیگری به نام مدیریت مالی نیز عضو است. روند کار در سنتری به این شکل است که ابتدا نقش‌ها را ایجاد می‌کند. سپس به این نقش‌ها دسترسی‌های مختلف می‌دهد. یعنی ابتدا کاربر A و B را ایجاد کرده، سپس دسترسی‌های مدنظر را به یکی از روش‌های زیر به آن‌ها واگذار می‌کند.

ایجاد و کنترل دسترسی مبتنی بر نقش

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

در این روش گروه‌ها از قبل مشخص و دسترسی‌های لازم به آن‌ها داده می‌شود. کافی است نقش‌های مختلف را ایجاد و به گروه مدنظر خود اضافه کنید.

مشخص‌کردن دسترسی بر اساس مجوز یکپارچه

روش دومی که سنتری به‌وسیله آن دسترسی‌ها را مشخص می‌کند بر اساس مجوزهای یکپارچه طراحی شده است. در مثالی که زدیم به کاربر A و  B اجازه دادیم به داده‌های جدول بخش مالی دسترسی داشته باشند. این دسترسی به آن‌ها اجازه می‌دهد تا از طریق MapReduce به دیتابیس‌های Hive و Impala  نیز دسترسی داشته باشند.

  • توجه داشته باشید که سنتری فقط وظیفه تسهیل‌کردن فرایند را به عهده دارد و تمامی تصمیم‌ها برای صدور دسترسی و مجوزها توسط Hive و Impala  گرفته  می‌شود.

ویژگی‌های و امکانات سرویس sentry چیست؟

حالا که متوجه شدیم سرویس sentry چیست و دسترسی‌ها در آن چگونه ایجاد می‌شود، بهتر است با مهم‌ترین ویژگی‌های آن آشنا شویم. 

ردیابی خطا

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

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

رابط کاربری مناسب

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

دیباگینگ

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

حل مشکل پرشدن محدودیت در سنتری

پس از اینکه ایونت‌های ارسال شده به سنتری به حد مشخص شده پلنی که خریده‌اید برسد با مشکل ذخیره‌نشدن و پیغام Status Code 429 مواجه می‌شوید. برای حل این مشکل دوراه دارید، یا بخشی از ایونت‌های ارسال شده را حذف کنید یا پلن خود را ارتقا دهید.

جمع‌بندی

ابزار سنتری یکی از بهترین سرویس‌های موجود برای عیب‌یابی نرم‌افزارها و عصای دست توسعه‌دهندگان است. در مقاله‌ای که خواندید این ابزار را بررسی کردیم و به سؤالاتی مانند سرویس sentry چیست و چه ویژگی‌هایی دارد پاسخ دادیم تا ابهامات شما برطرف شود. 

ارسال دیدگاه

نشانی ایمیل شما منتشر نخواهد شد.