جستجو برای:
سبد خرید 0
  • خانه
  • دوره ها
  • معرفی ابزارهای لینوکس
  • مقالات
  • فروم لینوکس لرن
  • تماس با ما

ورود

رمز عبور را فراموش کرده اید؟

هنوز عضو نشده اید؟ عضویت در سایت
  • 09159612321
  • info@linuxlearn.org
  • درباره ما
0
آموزش لینوکس 🐧 آموزش دوآپس 🐋
  • خانه
  • دوره ها
  • معرفی ابزارهای لینوکس
  • مقالات
  • فروم لینوکس لرن
  • تماس با ما
شروع کنید

وبلاگ

آموزش لینوکس 🐧 آموزش دوآپس 🐋مقالاتمقالاتنصب و راه اندازی Sentry

نصب و راه اندازی Sentry

13 دی 1399
ارسال شده توسط عارف اختری
مقالات

بررسی اجمالی Sentry

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

این ابزار توانایی اتصال و integrate شدن با ابزار های Gitlab , Github , Bitbucket , Jira ,Slack و … را دارا می باشد.

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

Sentry Documentation

Sentry ، مخزن عمومی و هسته اصلی Sentry ، و getsentry ، بخش اختصاصی و سورس بسته است. برای محیط پروداکشن پیشنهاد میشه از getsentry استفاده بشه زیرا بروزتر است و یکسری قابلیت اضافی نیز دارد که فقط در SaaS اختصاصی سنتری ارائه می شود.ولی همین نسخه getsentry به صورت onpremise هم قابل پیاده سازی است که جلوتر بررسی میکنیم.

در حال حاضر آخرین نسخه sentry 9.1.2 و getsentry 20.12.1 می باشد.بعضا ممکنه که زیرساخت شما نیازمند ورژن های بالای سنتری باشه در اینجور سناریو ها از getsentry میبایست استفاده کرد.

نصب و راه اندازی Sentry-9

در این حالت ما از نسخه متن باز سنتری استفاده میکنیم که آخرین ورژنش در حال حاضر ۹ هست. که آدرس آن در هاب داکر در پایین قید شده است.

Sentry on DockerHub

برای پیکربندی دو فایل config.yml  sentry.conf.py استفاده میشود که محتویات زیر را دارند

شما میتونین برای دسترسی به فایل های این پروژه از آدرس گیت زیر استفاده کنید.

علاوه بر استفاده از این فایل ها میتوانید از متغیر های محیطی نیز استفاده کنید. در فایل داکر کامپوز میتونین این هارو مقدار دهی کنین.

git clone https://github.com/rfakit/sentry-on-docker.git

برای ساخت ایمیج میتونین به کمک دستور زیر آن را ایجاد کنید همچنین میتونین از ایمیج موجود در داکرهاب استفاده کنید

cd sentry-on-docker/build && docker build -t sentry:custom .

بعد از شخصی سازی تنظیمات  به کمک فایل docker-compose.yml سرویس را بالا می آوریم.

مطمین بشین تنظیمات سمت ردیس و دیتابیس  ( هاست ، یوزر و پسورد ) رو در فایل های  پیکربندی بدرستی ست کرده باشین

 

در این کامپوز فایل از نسخه latest مربوط به سنتری در هاب داکر استفاده شده است.
با زدن دستور زیر سرویس بالا آمده و از طریق پورت 9000 قابل دسترس است که میتواند در پشت Haproxy قرار بگیرد

 

docker-compose up -d

نصب و راه اندازی getsentry

برای نصب این ابزار از پروژه گیت آن بدین منظور استفاده میکنیم.

Sentry Onpremise

الزامات

  • Docker 19.03.6+
  • Compose 1.24.1+
  • at least 2400MB RAM

 

برای نصب sentry ابتدا می بایست پروژه گیت آن را کلون کنین.

git clone https://github.com/getsentry/onpremise.git
cd onpremise

درون این پروژه سه فایل برای پیکربندی وجود دارد که می بایست قبل از راه اندازی و نصب آن آن ها را پیکربندی کنیم.

  • sentry/config.example.yml
    sentry/sentry.conf.example.py
    .env

پیکربندی اولیه sentry

فایل env. 

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

به طور پیش فرض سنتری روی پورت 9000 بالا می آید برای این سناریو ما از همان پورت استفاده میکنیم و در جلو دست این سرور یک reverse proxy قرار میگیرد. انتخاب نوع reverse proxy دست خودتان است ولی در این مثال ما از haproxy استفاده میکنیم. یکی از بهترین را های پیاده سازی ssl/tls برای سنتری استفاده از یک reverse proxy خارجی میباشد در ادامه نمونه تنظیمات haproxy قرار داده شده است.

حفظ رویدادها در سنتری پیشفرض 90 روز است . سنتری با cron job هر 90 روز عملیات cleanup را انجام میدهد. اگر می خواهید آن را تغییر دهید ، می توانید متغیر محیط SENTRY_EVENT_RETENTION_DAYS را در .env تغییر دهید

نمونه فایل .env

COMPOSE_PROJECT_NAME=sentry_onpremise
SENTRY_EVENT_RETENTION_DAYS=90
SENTRY_BIND=9000
SENTRY_IMAGE=getsentry/sentry:nightly
SNUBA_IMAGE=getsentry/snuba:nightly
RELAY_IMAGE=getsentry/relay:nightly
SYMBOLICATOR_IMAGE=getsentry/symbolicator:nightly

فایل sentry/config.yml

شامل اکثر گزینه های پیکربندی مهم میباشد. این فایل در هنگام نصب از sentry / config.example.yml تولید می شود.پس شما می بایست این فایل را ویرایش و درحین نصب فایل sentry/config.yml ایجاد میشود.

 

همانطور که از محتویات فایل مشخص است این فایل شامل پیکربندی های متفاوتی است

  •  Mail Server

این قسمت تنظیمات میل سرور را دارد. اگر سرویس میل درون شرکت وجود دارد حتما پیشنهاد میشود که از آن استفاده کنید کافیست مانند تنظیمات بالا اطلاعات دسترسی و آدرس میل سرور را درون این فایل قرار دهید. فورمت این فایل یامل است پس مطمین بشین که دز مقادیری که وازد میکنین از کاراکتر ‘ استفاده نکرده باشین (مثلا پسورد حاوی این کاراکتر نباشد).
در صورتی که میخواین این بخش میل رو غیر فعال کنین کافیست در مقابل عبارت mail.backend از مقدار dummy استفاده کنید (پیشنهاد نمیشه زیرا در سناریو های مختلف درون سنتری مانند invite user , password reset و … از این سرویس استفاده میشود)

  • System Settings

 

این بخش دوتا تنظیم مهم دارد یکی secret-key سیستم است که کلیدی یکتا برای نمونه سنتری شما میباشد شما میتوانید این کلید را به کمک دستور زیر ایجاد کنید

sentry config generate-secret-key

قسمت دوم این بخش تنظیمات redis.clusters را دارد که همانطور مشاهده میکنید کامنت شده زیرا در فایل پیکربندی sentry/sentry.conf.example.py تنظیم شده است . مقادیر نمایشی به صورت کامنت مقادیر پیشفرض هستند.

  • File storage

نوع استوریج برای سنتری در این بخش مشخص میشود در حال حاضر دوتا بیشتر نمیتواند باشد یا مقدار filesystem که می بایست دایرکتوری برای آن مشخص کنیم و یا هم مقدار s3 را دارد که یک سرویس استوریج خاصه شرکت آمازون است موارد دیگری همچون gcs و minio نیز قابل استفاده اند
.
مقادیر نمایشی به صورت کامنت مقادیر پیشفرض هستند شما میتوانید آن ها را متناسب با نیاز خود تغییر دهید.

  • GitHub Integration

یکی از کاربرد های مهم سنتری اتصال آن به GitHub است. در این بخش تنظیمات مخصوص برای اتصال این دو ابزار بهم پیکربندی میشود. در این مثال ما نیازی به پیکربندی اون نداریم واسه همین میزاریم به همون حالت کامنت بمونه.

  • Slack Integration

اسلک slack یک چت روم برای مبادله پیام در شرکت است که بسیار قدرمتمند بوده و دارای API نیز است اتصال ابزار سنتری به slack میتواند تا حد زیادی مفید و برخی گزارشات را برای شما در این سرویس ارسال کند.
این بخش تنظیمات مخصوص برای اتصال این دو ابزار بهم است و در این مثال ما نیازی به پیکربندی اون نداریم واسه همین میزاریم به همون حالت کامنت بمونه.

 

فایل sentry/sentry.conf.py 

شامل پیکربندی پیشرفته تر است. این فایل هنگام نصب از sentry / sentry.conf.example.py تولید می شود.

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

بعد از ویرایش فایل های پیکربندی دستور زیر را اجزا میکنیم . این دستور باعث ایجاد فایل های پیکربندی اصلی از فایل های example و ایجاد فایل docker-compoe.yml نهایی میشود قبل از اجرای این فایل کامپوز میتوانید یک سری شخصی سازی ها روی این فایل انجام دهید.

SENTRY_PYTHON3=1 ./install.sh

docker-compose up -d

بعد از اجرا سرویس روی پورت 9000 اماده ی ارایه سرویس است بدین منظور سرویس را به پشت haproxy منتقل میکنیم.
نمونه تنظیمات haproxy برای این سرویس  در پروژه گیت آمده است.

git clone https://github.com/rfakit/sentry-on-docker.git
cd sentry-on-docker
cat sample-haproxy.conf

در تنظیمات بالا مقدار USER , PASS برای دسترسی به پنل status سرویس haproxy هست و IP_ADDRESS هم مقدار آدرس هاستی که سرویس سنتری در حال اجرا میباشد را شامل میشود.  حال با مراجعه به آدرس مشخص شده صفحه ورود آن مشاهده میشود

اگر از نسخه onpremise استفاده کردین برای ساخت یوزر ادمین میتوانیم وارد کانتینر sentry web شده و دستور زیر را بزنیم . این دستور به صورت prompt از ما یوزر و پسورد را سوال میکند.

sentry createuser --superuser

حال با این credentials میتوان در سیستم ورود کرد.

 

امیدوارم مفید بوده باشه

برچسب ها: 9 Sentrygetsentrygetsentry و Sentrygetsentry یا SentrySentryبررسی Sentryبررسی اجمالی Sentryپیکربندی sentryپیکربندی اولیه sentryراه اندازی getsentryراه اندازی Sentryفرق getsentryفرق getsentry با Sentryفرق getsentry و Sentryنصب getsentryنصب Sentryنصب و راه اندازی getsentryنصب و راه اندازی Sentryنصب و راه اندازی Sentry-9
بعدی ساخت ISO دبیان به صورت AutoInstall

دیدگاهتان را بنویسید لغو پاسخ

جستجو برای:
پشتیبانی
دسته‌ها
  • مقالات
برچسب‌ها
debian fedora freebsd glusterfs in linux kali learnlinux learn linux Linux linux academy linux and unix linux Desktop linux enthusiastic linuxlearn linux learn linuxlearnorg linuxorg linux passion linux server linuxtutor linuxtutorial linuxuser plasma tutorial tutorial video zabbix آشنایی با توزیع های لینوکس آغاز کار با لینوکس آموزش تخصصی لینوکس آموزش سرور لینوکس آموزش لینوکس آنتی ویروس اموزش لینوکس اوبونتو بات نت بهترین توزیع لینوکس توزیع های لینوکس دبیان سرور لینوکس سودو فدورا لینوکس لینوکس لرن لینوکس چیست نرم افزار
  • محبوب
  • جدید
  • دیدگاه ها
پشتیبانی
بایگانی
  • دی ۱۳۹۹
  • آذر ۱۳۹۹
  • آبان ۱۳۹۹
  • مهر ۱۳۹۹
  • شهریور ۱۳۹۹
  • مرداد ۱۳۹۹
  • اردیبهشت ۱۳۹۹
  • دی ۱۳۹۸
  • آذر ۱۳۹۸
  • مهر ۱۳۹۸
  • شهریور ۱۳۹۸
  • مرداد ۱۳۹۸
  • تیر ۱۳۹۸
  • خرداد ۱۳۹۸
  • اسفند ۱۳۹۷
  • بهمن ۱۳۹۷
  • دی ۱۳۹۷
  • آذر ۱۳۹۷

لینوکس لرن حاصل تلاش یک تیم متخصص و علاقه مند است که سعی می کند آموزش ها را با نهایت کیفیت به مشتریان ارائه نماید. ارائه خدمات پیشتاز امضاء بزرگی بر شعار لینوکس لرن یعنی ” تحولی بزرگ در ارائه خدمات لینوکس ” می باشد.

  • ایران - مشهد
  • 09159612321
  • info@linuxlearn.org
دسترسی سریع
  • خانه
  • مقالات
  • معرفی ابزارهای لینوکس
  • دوره ها
  • مدرسان
  • کتابخانه لینوکس لرن
  • سیاست حریم خصوصی
  • فروم لینوکس لرن
  • تماس با ما
  • درباره ما
خبرنامه

لوگوی اعتماد
Designed By Behnam 09158634525
اشتراک گذاری در شبکه های اجتماعی
ارسال به ایمیل
https://linuxlearn.org/?p=21811
علاقمندی ها 0
صفحه علاقمندی های من ادامه خرید
  • دسته بندی دوره ها
  • دوره های من
  • جستجو

دسته بندی دوره ها

دوره های آکادمیک

[1 دوره]

دوره های ابری

[1 دوره]

دوره های رایگان

[18 دوره]

دوره های کاربردی

[18 دوره]

صفر تا صد لینوکس

[7 دوره]

کتاب های الکترونیکی

[9 دوره]

دوره های من

جستجو

مرورگر شما از HTML5 پشتیبانی نمی کند.