+ تست اون با 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-hosted
sudo 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-compose
cd 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
تست با استفاده از کپی این متن در پاورشل در جایی که داکر نصب نیست.