Repository navigation
FA Troubleshooting
Arian Omrani edited this page Oct 11, 2026
·
6 revisions
زبان: English · فارسی
| مشکل | علت و راهحل |
|---|---|
config error: env var X is not set |
فایل ${X} را به کار برده ولی متغیر تنظیم نشده. آن را export کنید، یا secret را به env: مرحلهی CI اضافه کنید. |
| سایت down است ولی هشداری نمیآید | سایت باید down_after بار پشتسرهم شکست بخورد (پیشفرض ۲). events، بازهی maintenance (به UTC) و پیام notify failed در stderr را نگاه کنید. |
notify failed: ... No such file or directory: 'shoutrrr' |
نه Docker قابل استفاده است و نه فایل اجرایی در PATH. Docker را روشن کنید، فایل اجرایی را نصب کنید (pulsecheck init این کار را میکند) یا shoutrrr_bin را تنظیم کنید. |
| Docker نصب است ولی فایل اجرایی استفاده میشود |
docker info برای کاربر شما شکست میخورد (daemon خاموش است یا دسترسی ندارید). مشکل را حل کنید یا shoutrrr_bin: docker بگذارید. |
notify failed: با یک خطای shoutrrr |
آدرس یا توکن غلط است. shoutrrr verify --url ... و pulsecheck test-notify را اجرا کنید. |
| هشدار DOWN بارها تکرار میشود | وضعیت بین اجراها از بین میرود (cache پاک شده، runnerها cache مشترک ندارند، کانتینر volume ندارد). state_file را روی جای پایدار بگذارید. |
| سایت مدام بین up و degraded میرود |
slow_ms به زمان پاسخ معمول نزدیک است. بیشترش کنید. |
| ping در Docker یا CI همیشه شکست میخورد |
iputils-ping را نصب کنید. بعضی کانتینرها raw socket را هم ممنوع کردهاند؛ در آن صورت type: tcp را به کار ببرید. |
| خطای گواهی HTTPS | بررسی با همان خطایی که در هشدار آمده شکست میخورد. گواهی را درست کنید؛ راهی برای نادیده گرفتن اعتبارسنجی وجود ندارد. |
| زمانبندی گیتهاب متوقف شده | اگر ۶۰ روز در مخزن فعالیتی نباشد، زمانبندی متوقف میشود. در تب Actions دوباره روشنش کنید. |
endpoint روی Vercel جواب 401 میدهد |
CRON_SECRET تنظیم نشده، یا هدر Authorization: Bearer … با آن یکی نیست. |
Vercel جواب 500 … state store missing میدهد |
Upstash Redis را اضافه کنید (vercel integration add upstash/upstash-kv) یا UPSTASH_REDIS_REST_URL و UPSTASH_REDIS_REST_TOKEN را تنظیم کنید. |
| deploy روی Vercel بهخاطر عبارت cron خطا میدهد | Hobby فقط روزی یک اجرا قبول میکند. از 0 0 * * * استفاده کنید، یا endpoint را از گیتهاب صدا بزنید (سرورلس). |
notify failed: 'xyz://' is not supported here |
روی Cloudflare فقط آدرسهای داخلی (telegram، discord، slack، ntfy، gotify، pushover و …) کار میکنند؛ Vercel برای بقیه shoutrrr واقعی را دانلود میکند. برای سرویسهای دیگر از حالت CLI، CI یا cron استفاده کنید. |
skipped, type 'tcp' is not supported on this platform |
Cloudflare فقط بررسی HTTP دارد و Vercel بررسی ping را رد میکند. |
| اجرای Cloudflare با «exceeded CPU time» تمام میشود | پلن رایگان برای هر اجرای cron فقط ۱۰ میلیثانیه CPU میدهد. پلن پولی را به کار ببرید. |
| بعد از چند ساعت خطای نوشتن KV در Cloudflare | KV رایگان روزی ۱۰۰۰ نوشتن دارد و cron یکدقیقهای ۱۴۴۰ نوشتن لازم دارد. بازه را ۲ دقیقه یا بیشتر کنید یا به پلن پولی بروید. |
config error: ...: unknown key(s) [...] |
یک کلید غلط نوشته شده یا وجود ندارد. پیام اسم کلید و جای آن را میگوید. |
| هشدار گواهی نمیآید |
ssl_warn_days فقط برای سایتهای https است و گواهی باید در کمتر از همان تعداد روز منقضی شود. روی Cloudflare هم اجرا نمیشود. |
| یادآوریها تکرار نمیشوند |
remind_every به دقیقه است و بعد از اولین هشدار down شروع میشود. هشدارهای داخل بازهی maintenance دور ریخته میشوند. |
no config found. Run pulsecheck init |
نه ./pulsecheck.yml وجود دارد و نه ~/.config/pulsecheck/pulsecheck.yml. pulsecheck init را اجرا کنید یا -c FILE بدهید. |
.env را پر کردهام ولی باز env var X is not set میگیرم |
.env باید کنار فایل تنظیم باشد و هر خط به شکل X=value. مقدار خالی یعنی تنظیم نشده. pulsecheck env نشان میدهد کدام متغیرها هنوز خالیاند. |
pulsecheck init میگوید crontab پیدا نشد |
cron را نصب کنید (sudo apt install cron)، یا از --no-cron و یک systemd timer استفاده کنید. |
OpenTelemetry: otel export failed: HTTP 4xx
|
endpoint یا هدر احراز هویت غلط است. endpoint آدرس پایه است (مثلاً با پورت ۴۳۱۸) و /v1/metrics و /v1/logs خودکار به آن اضافه میشود. |
سایتِ ip_version: 6 همیشه down است |
این ماشین یا runner اتصال IPv6 ندارد، یا سرور رکورد AAAA ندارد. از همانجا curl -6 -I <url> را امتحان کنید. ممکن است runnerهای گیتهاب IPv6 نداشته باشند؛ برای بررسی IPv6 از cron روی سرور خودتان استفاده کنید. |
skipped, ip_version is not supported on Cloudflare |
fetch در Cloudflare خودش خانوادهی آدرس را انتخاب میکند. بررسیهای IPv6 را با CLI، cron یا Vercel انجام دهید. |
برای اشکالزدایی pulsecheck run --force را اجرا کنید؛ برای هر سایت یک خط با وضعیت، زمان و خطا چاپ میکند.