+ تست اون با curl یا docker command یا پاورشل اسکریپت.

میزبانی شخصی Sentry: راهنمای جامع برای نظارت و ردیابی خطاها در کدبیس شما.
مقدمه
Sentry یک پلتفرم قدرتمند برای نظارت بر عملکرد برنامهها و ردیابی خطاها است که به توسعهدهندگان کمک میکند تا مشکلات کد خود را سریعتر شناسایی و رفع کنند. این پلتفرم با ارائه یک نمای کامل از عملکرد برنامه، به شما امکان میدهد درخواستهای API را نظارت کنید، خطاها را ردیابی کنید، لاگها را تحلیل کنید و به اطلاعات ارزشمندی درباره رفتار برنامهتان دست یابید.
یکی از مزایای اصلی Sentry این است که میتوانید آن را در زیرساخت سازمان خود به صورت میزبان شخصی اجرا کنید. میزبانی شخصی Sentry مالکیت کامل دادهها و حفظ حریم خصوصی را تضمین میکند و به شما اجازه میدهد کنترل کاملی بر اطلاعات حساس داشته باشید و از قابلیتهای نظارتی قوی آن بهرهمند شوید.
مزایای میزبانی شخصی Sentry
نیازمندیهای سیستم
برای میزبانی شخصی Sentry، اطمینان حاصل کنید که سرور شما حداقل نیازهای زیر را داراست:
مراحل نصب
git clone https://github.com/getsentry/self-hosted.git sentry-self-hosted
cd sentry-self-hostedsudo apt-get update
sudo apt-get install docker.io -y
sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-composecd self-hosted
bash ./install.shدرخواستها را دنبال کنید، اطلاعات لازم را وارد کنید و ایمیل و رمز عبور ادمین را تنظیم کنید.sudo docker-compose up -dاطمینان حاصل کنید که پورت 9000 روی سرور باز است.sentry.conf.py را باز کنید و آدرس IP سرور خود را اضافه کنید:cd sentry/
sudo vi sentry.conf.pyآدرسهای مجاز CSRF را بهروزرسانی کنید:CSRF_TRUSTED_ORIGINS = ["https://example.com", "http://<server_ip_address>:9000"]
برای مثال؛ http://192.168.100.37:9000
مجدد install.sh را اجرا کنید
docker compose down
docker compose up -dبعد از هر تغییری در فایل config باید این سه کار مجدد انجام شود.دسترسی به Sentry
مرورگر خود را باز کنید و به آدرس <server_ip_address>:9000 بروید. با اطلاعات ادمینی که قبلاً تنظیم کردهاید، وارد شوید.
برای ارسال یک درخواستcurl و تست یک اپ بسازید
سپس مقادیر اپ خودتان را بجای آیپی و پورت و عدد ۲ بعد از api و کلید sentry_key قرار دهید
curl --request POST \
--url http://192.168.100.37:9000/api/2/envelope/ \
--header 'Content-Type: application/json' \
--header 'X-Sentry-Auth: Sentry sentry_version=7, sentry_client=curl/1.0, sentry_key=a849cf1fb88d76d9088dbff69372d298' \
--data '{
"event_id": "1234567890abcdef1234567890abcdef",
"message": "Test error from curl",
"timestamp": "2024-01-01T12:00:00Z",
"level": "error",
"logger": "my.logger",
"platform": "php",
"environment": "test",
"server_name": "test-server",
"tags": {
"test_tag": "value"
},
"extra": {
"extra_data": "value"
}
}'
تست با استفاده از PowerShell
برای ارسال یک خطای تستی از طریق PowerShell، میتوانید از دستور زیر استفاده کنید. این دستور یک خطای تستی به Sentry ارسال میکند تا مطمئن شوید تنظیمات به درستی انجام شدهاند:
docker run --rm -v D:\karimi:/work -e SENTRY_DSN=http://a849cf1fb88d7688dbff69372d298@192.168.100.37:9000/2 getsentry/sentry-cli send-event --message "Test error from CLI"
D:\karimi باید به پوشهای روی سیستم شما اشاره کند. این مسیر به عنوان فضای کاری (work directory) استفاده میشود.SENTRY_DSN: جایگزین کنید:192.168.100.37:9000 با آدرس IP و پورت سرور Sentry شما.a849cf1fb88d76d9088dbff69372d298 با کلید API که در تنظیمات Sentry شما قرار دارد.این بخش، راهنمایی عملی برای آزمایش تنظیمات Sentry با استفاده از CLI در PowerShell ارائه میدهد و به شما امکان میدهد تنظیمات را بررسی کنید.
تست با پاورشل در جایی که داکر نصب نیست.
$headers = @{
"Content-Type" = "application/json"
"X-Sentry-Auth" = "Sentry sentry_version=7, sentry_client=PowerShell/1.0, sentry_key=a849cf1fb88d76d9088dbff69372d298"
}
$body = @{
event_id = "1234567890abcdef1234567890abcdef"
message = "Test error from PowerShell"
timestamp = "2024-01-01T12:00:00Z"
level = "error"
logger = "my.logger"
platform = "powershell"
environment = "test"
server_name = "test-server"
tags = @{
test_tag = "value"
}
extra = @{
extra_data = "value"
}
} | ConvertTo-Json -Depth 10
Invoke-RestMethod -Uri "http://192.168.100.37:9000/api/2/envelope/" -Method Post -Headers $headers -Body $body
تست با استفاده از کپی این متن در پاورشل در جایی که داکر نصب نیست.