Pereiti prie turinio

Cron užduočių ir veikimo signalų stebėjimas, kuris aptinka paslėptus gedimus.

Nutrūkusi cron užduotis nei klaidos parodo, nei įrašo žurnale palieka — apie tai sužinote tik tada, kai prireikia atsarginės kopijos. Priskirkite užduočiai ping URL, ir Uptimia incidentą sukurs per minutę nuo praleisto termino.

30 dienų nemokamas bandymas · 50 pulso monitorių Be kreditinės kortelės Atitinka BDAR
Nuo praleidimo iki incidento
60s
Įspėjimų kanalai
12
Diegiamų agentų
0
Pridedamų kodo eilučių
1

Atsarginė kopija, kuri taip ir nepasidarė

Naktinė duomenų bazės atsarginė kopija, suplanuota 03:30. Scenarijus nulūžo nespėjęs išsiųsti ping signalo — jokios klaidos, jokio įrašo žurnale, o vieninteliu ženklu tapo tai, kad ping taip ir neatėjo.

03:30 db-backup naktinis ping taip ir neatėjoScenarijus nulūžo — nė garso paskutinė kopija: pasenusi
03:33 Leistinas vėlavimas baigėsi — atidaromas incidentasKas minutę vykdoma patikra tai pastebi: Slack, SMS, PagerDuty paskutinė kopija: pasenusi
03:41 Budintysis patvirtina tiesiai įspėjimeVienas spustelėjimas pasirašytoje nuorodoje — nereikia jungtis 4 val. nakties · MTTA 8 min. paskutinė kopija: pasenusi
09:12 Incidentą uždaro pats sėkmės pingPataisyta užduotis pasileidžia — pataisymo įrodymas, o ne pažadas kopijos: šviežios
3 mintyla → įspėjimas
Niekas nieko netikrino.09:12
Nustojusi veikti cron užduotis pati apie save nepraneš — todėl įspėjimu tapo pati tyla. Incidentas komandą pasiekė 03:33, o pataisymas pasitvirtino pats: sėkmės ping uždarė incidentą ir niekam nereikėjo nieko tikrinti iš naujo.
tyla pastebėta per 3 min.patvirtinta pasirašyta nuorodauždaryta sėkmės pingucron arba intervalo grafikai + vėlavimas
O be veikimo signalo? Nustojusi veikti kopijavimo užduotis tiesiog nematoma — naktis, kai ji nepasileido, atrodo lygiai taip pat kaip naktis, kai viskas pavyko. Sužinote tą dieną, kai prireikia atkurti duomenis, kurių nėra. nėra ką atkurti

Stebėkite suplanuotas užduotis, kad ir kur jos veiktų

Jei užduotis gali siųsti HTTP užklausą, Uptimia ją stebės — veikimo signalai keliauja tik į išorę, tad veikia ir už ugniasienės bei NAT.

Linux crontab ir systemdViena curl eilutė užduoties gale
Windows Task SchedulerParuoštas PowerShell fragmentas
Kubernetes ir DockerTiek CronJob'ai, tiek konteineriai
GitHub Actions ir JenkinsParuošti CI fragmentai
1 ping url kiekvienai užduočiai tyla po leistino vėlavimo = įspėjimas
Sidekiq, Celery ir serverlessEilių procesai ir funkcijos irgi
wp-cron ir HerokuValdomos platformos irgi siunčia ping
Už ugniasienės, NAT ir IoTTik į išorę — jokių atidarytų prievadų
Kitame gale sukasi būtent tos užduotys, kurių prarasti negalima: duomenų bazių atsarginės kopijos, sąskaitų išrašymas, ETL ir duomenų sinchronizacijos, ataskaitos, sertifikatų atnaujinimas, eilių apdorojimo procesai ir el. laiškų suvestinės. viena curl eilutė

Grafikai, signalai ir ping žurnalas

Įspėjimai

Įspėjimas per minutę

Kiekvienas stebėjimo objektas tikrinamas kas 60 sek. Praleidus terminą virš leistino vėlavimo, sukuriamas vienas incidentas ir siunčiami įspėjimai — jokių pakartotinių pranešimų, incidentas užsidaro tik gavus tikrą ping.

  • Eskalavimo pakopos ir patvirtinimo nuorodos vienu spustelėjimu — prisijungti nereikia
  • Atsigavimo pranešimas, kai užduotis vėl pasileidžia
  • Techninės priežiūros laikotarpiai ir pauzė — jokių klaidingų įspėjimų diegimo metu
Iškviesti kitą, kol kas nors patvirtins
Praleistas ping03:32:00
db-backup · nightly — laukta 03:30 + 2 min. leistino vėlavimo. 60 sekundžių patikra pastebėjo tylą; vienas incidentas, jokios įspėjimų lavinos.
SlackEl. paštasSMS+ PagerDuty…
1
Iškviestas pirmasis budintysis
03:32:00 · Slack, SMS ir el. paštas
nepatvirtinta
2
Antrasis budintysis patvirtina
03:41 · pasirašyta nuoroda, be prisijungimo
MTTA 9 m
Atsigavo — sėkmės pingas
09:12:04 · atsigavimo pranešimas siųstas
uždaryta
Diegiate šįvakar? Priežiūros langai ir pauzė užtikrina, kad suplanuota tyla niekam nesukeltų iškvietimo. be įspėjimo
Grafikai

Jūsų cron išraiška, jūsų laiko juosta

Įklijuokite eilutę tiesiai iš crontab failo arba nurodykite paprastą intervalą nuo 30 sekundžių iki 90 dienų. Terminai automatiškai prisitaiko prie vasaros laiko pokyčių, todėl 03:30 užduotis liks 03:30 užduotimi ir spalį.

  • Bet kokia penkių laukų cron išraiška — intervalai, žingsniai, pavadinimai, @daily makrokomandos
  • Kiekvienai užduočiai savas leistinas vėlavimas — kartais ilgiau užtrunkanti užduotis nieko neiškvies
  • Klaidingi ar neįmanomi grafikai atmetami išsaugojimo metu
Kad suplanuoti darbai nieko neiškviestų
CRONPenkių laukų cron*/15 * * * 1-5kitas 09:45
INTPaprastas intervalasnuo 30 s iki 90 dienųkitas 09:30:30
@@daily makrokomandataip pat @hourly · @weeklykitas 00:00
skaitoma pagal jūsų
laiko juostą
Terminas įjungtas09:45:00
Uptimia lauks pingo iki 09:45 (+2 min. leistino vėlavimo) — terminai priklauso nuo paskyros laiko juostos, įskaitant vasaros laiko pokyčius.
vėlavimas 2 min.atsparu laiko keitimuipatikra kas 60 s
Neįmanomas grafikas? Toks cron įrašas kaip 0 0 31 2 * niekada nesuveiks — išsaugant jis atmetamas, o ne tyliai ignoruojamas. atmesta
Ping žurnalas

Visi paleidimai ping žurnale

Atsidarykite stebėjimą ir pamatysite, kada užduotis paskutinį kartą pasileido, ar ji savaitė po savaitės vėluoja vis labiau, kiek truko kiekvienas paleidimas — nesijungiant prie serverio per SSH.

  • 12 valandų pulso juosta ir valandinių ping signalų diagrama, palyginta su laukiamu dažniu
  • Kiekvieno paleidimo trukmė, kai užduotis atsiunčia pradžios signalą
  • Pavėlavę ping signalai pažymimi žurnale — bet niekas neiškviečiamas
Stebėkite ir serverį, kur veikia užduotis
LOGweb-cron · kas 15 min.
1 eilutė = 1 ping · naujausi viršuje
09:45:03 · +3 s · 212.47.163.9run 2.1 s
09:30:14 · +14 s · curl/8.5.0pavėlavo · užfiksuota
09:15 langas — tyla po leistino vėlavimopraleista
09:00:02 · +2 s · 212.47.163.9run 2.0 s
Praleisti langai užpildomi ten, kur buvo tyla — žurnalas rodo pačią spragą, o ne tik ją supančius ping signalus.
12 valandų pulso juosta
Ping per valandą, palyginti su laukiamu
laukiama 4 / val. — 09:00 gauta 3
Paleidimo trukmė — pradžia → sėkmė
start 09:45:01 · success 09:45:03 → run 2.1 s
Vėluoja, bet gyva? Vėlavimo slenkstį viršijęs ping signalas pažymimas žurnale — pažymimas, bet niekas nekviečiamas. tik žurnale
Signalai

Pagauna ne tik tylą, bet ir užstrigusias ar nulūžusias užduotis

Trys signalai apima visus būdus, kaip užduotis gali sugesti. Sėkmės signalas iš naujo paleidžia laikmatį; pradžios signalas įjungia maksimalios trukmės ribą, todėl apie užstrigusią užduotį sužinosite net tada, jei ji taip ir nebaigs darbo; klaidos signalas įspėja iš karto.

  • /start — paleidimo trukmė žurnale ir maksimalios trukmės viršijimo aptikimas
  • /fail — incidentas iš karto, leistino vėlavimo nelaukiama
  • Veikia iš bet kurio HTTP kliento — curl, wget, PowerShell ar jūsų pačių kodo
Patikrinkite užduoties API žingsnis po žingsnio
/startPaleidimas prasidėjo03:30:01 · trukmės riba nustatytapagauna užstrigimus
successTvarkingas užbaigimaspaprastas ping URL · GET arba POSTlaikmatis atstatytas
/failNenulinis išėjimo kodasleistino vėlavimo nelaukiamaįspėja iš karto
3gedimų
tipai
Užstrigusi užduotis pagauta03:50:01
/start atėjo, bet per 20 minučių sėkmės taip ir nesulaukta. Užduotis nebaigė darbo, tačiau įspėjimas vis tiek išsiųstas.
užstrigo → ribalūžo → /failtyla → praleista
Viena curl eilutė — užduočiai tereikia pasiekti ping URL. Jokio agento, jokios bibliotekos, nieko diegti nereikia. curl -fsS

Kaip veikia veikimo signalo stebėjimas

Po vieną URL kiekvienai užduočiai — jokio agento, jokios bibliotekos.

1 žingsnis20 sekundžių

Sukurkite stebėjimo objektą

Pavadinkite užduotį ir nustatykite jos grafiką — intervalą arba cron. Išsaugojus sugeneruojamas privatus ping URL.

Stebėjimo objekto pavadinimas
db-backup · nightly
Grafikas
IntervalasCron išraiška
30 3 * * *
Kasdien 03:30 · paskyros laiko juosta
Leistinas vėlavimas
2 min
AtšauktiSukurti stebėjimo objektą →
2 žingsnis10 sekundžių

Pridėkite prie užduoties vieną eilutę

Pridėkite curl komandą arba nusikopijuokite paruoštą pavyzdį — Crontab, Bash, PowerShell, GitHub Actions ar PHP. Stebėjimas įsijungia po pirmo ping'o.

crontab -e
30 3 * * * /usr/local/bin/db-backup.sh \
  && curl -fsS -m 10 --retry 3 \
     https://uptimia.com/p/hb_9f2…c41 >/dev/null
# pirmas tikras ping'as įjungia stebėjimą:
 ping'as gautas — db-backup · nightly įjungtas
3 žingsnisautomatiškai

Sužinokite, kai užduotis nutyla

Praleistas terminas + leistinas vėlavimas = vienas incidentas. Komanda įspėjama per minutę jums įprastais kanalais.

#ops-alerts
Uptimia 03:33
⚠ Missed ping — db-backup · nightly
expected 03:30vėlavimas 2 min.last ping 24 h ago
Taip pat siunčiama į El. paštasSMSPagerDuty

Pridėkite prie užduoties vieną eilutę.Sužinokite tą pačią naktį, kai ji sustos.

Kiekviena užduotis, kiekvienas ping'as, kiekvienas įspėjimų kanalas — 30 dienų nemokamai, be jokių papildomų mokesčių.

Išbandykite nemokamai 30 dienų
30 dienų nemokamai be kreditinės kortelės atšaukite bet kada

Taip pat įskaičiuota

Visavertė REST API

Kurkite, redaguokite, pristabdykite ir trinkite veikimo signalus tiesiai iš savo diegimo grandinės — o cron peržiūros galinis taškas patikrina išraiškas dar prieš jas paleidžiant.

POST /api/v2/heartbeat 201 · ping_url: https://uptimia.com/p/hb_3d7…b52

Fragmentai su įrašytu jūsų API raktu

Crontab, Bash, PowerShell, GitHub Actions ir PHP.

CrontabBashPowerShellActionsPHP

Naujas žetonas vienu spustelėjimu

Senasis URL nustoja galioti, vos tik sugeneravus naują.

hb_9f2…c41hb_e81…a07

Dažnio ribos, tinkamos ir už NAT

Skaičiuojama pagal stebėjimo objektą, ne IP — tinka darbininkų grupėms.

300 pingai / 10 min.
vienam stebėjimo objektui

Bandomieji ping

Paleiskite vieną skydelyje — pamatysite jį žurnale.

rankinis · fiksuojamas · nesuveikia

Visi stebėjimo tipai vienoje paskyroje

Tos pačios grupės, tas pats kontaktų sąrašas ir tie patys vaidmenys kaip ir kituose stebėjimo tipuose.

db-backup · nightlyHEARTBEAT www.caldmont.comUPTIME api.caldmont.comSSL

Kur atkeliauja jūsų įspėjimai

Praleista atsarginė kopija pasiekia tuos pačius žmones tais pačiais kanalais, kaip ir neveikianti svetainė.

Budėjimas ir eskalavimas
Tiesioginiai kanalai

12 kanalų, vienas kontaktų sąrašas — nustatote vieną kartą, naudoja visi stebėjimo tipai.

Peržiūrėkite visą integracijų katalogą
03:33 · užfiksuotas incidentas — praleistas ping · db-backup · nightly
#ops-alertsSlack
⚠ Praleistas ping — db-backup · nightly
expected 03:30vėlavimas 2 min.Patvirtinti ↩
+371 ··· 4082SMS
Uptimia: PRALEISTAS PING db-backup · nightly. Numatyta 03:30, +2 min. paklaida. Paskutinis ping prieš 24 val.
InboxEl. paštas
⚠ Praleistas ping — db-backup · nightly
Numatyta 03:30 (+2 min. leistino vėlavimo) · paskutinis ping vakar 03:30:07 · patvirtinkite vienu paspaudimu…
ProductionPagerDuty
TRIGGEREDPraleistas ping — db-backup · nightly
priskirta budinčiajam · per Uptimia integraciją

Kas yra cron užduočių ir veikimo signalų stebėjimas?

Suplanuotų užduočių (cron) stebėjimas — dar vadinamas veikimo signalų stebėjimu — tikrina, ar suplanuotos užduotys iš tikrųjų įvyksta. Čia ne Uptimia tikrina jūsų serverį — kiekviena užduotis, pasileidusi, pati nusiunčia trumpą HTTP užklausą („ping“) į savo unikalų URL. Jei ping neatkeliauja laiku (įskaitant leistiną vėlavimą), Uptimia užregistruoja incidentą ir jus įspėja.

Iš išorės į vidų

Veikimo stebėjimas

Uptimia
171+ tikrinimo taškų
HTTP patikra · kas 30 s
Jūsų svetainė
atsako į užklausas

Veikia tada, kai yra ko paklausti. Svetainės ir API atsako, o cron užduotis — ne.

Iš vidaus į išorę

Veikimo signalų stebėjimas

Jūsų cron užduotis
net už ugniasienės
ping · kaskart paleidus
Uptimia
laukia jo pagal grafiką

jei iki 03:32 ping negaunamas → atidaromas incidentas · /fail ping įspėja iš karto

Dar vadinama

Budrumo jungiklis cron užduotims

Kiekvienas Uptimia veikimo signalų stebėjimas toks ir yra — tvarkaraščiai pagal cron, leistinas vėlavimas ir įspėjimai ten, kur dirba jūsų komanda.

Ping signalai vis ateina — jungiklis lieka nuspaustas. Viskas ramu.
Ping signalai nutrūksta — jungiklis atsileidžia. Atidaromas incidentas, išsiunčiami įspėjimai.

Dažni klausimai apie veikimo signalų stebėjimą

01Ką iš tikrųjų turi daryti mano užduotis?+
Kartą per paleidimą kreiptis į savo ping URL — pakanka curl -fsS -m 10 --retry 3 https://uptimia.com/p/hb_… crontab eilutės gale. Tinka GET, POST ir HEAD. Iki pirmo tikro ping stebėjimo objektas miega, todėl kol viską prijungiate, jis įspėti negali.
02Kada tiksliai suveikia įspėjimas?+
Kai praeina laukiamas laikas kartu su leistinu vėlavimu, o ping taip ir neateina. Stebėjimo objektai tikrinami kas minutę, tad aptikimas prideda daugiausia 60 sekundžių. /fail ping įspėja iš karto, o kol incidentas atviras, pakartotinių įspėjimų nebūna.
03Mano užduotis ne lūžta, o pakimba — ar tai pastebėsite?+
Taip — paleidus darbą, siųskite ping į /start ir nustatykite didžiausią leidžiamą trukmę. Jei per tą laiką sėkmės signalas neateina, sukuriamas incidentas. Žurnale taip pat matysite kiekvieno paleidimo trukmę.
04Kodėl nepasileido mano cron užduotis?+
Dažniausios priežastys: neveikia cron tarnyba, užduoties PATH ar aplinkos kintamieji skiriasi nuo jūsų terminalo, pasikeitė teisės arba klaidingai surašytas grafikas. Stebėjimas priežasties nepašalins, tačiau užtikrins, kad apie tai sužinosite per minutę, o ping žurnale pamatysite, kada tiksliai paleidimai nutrūko.
05Ar galima stebėti Kubernetes CronJob, GitHub Actions ar Windows užduotis?+
Taip. Ping gali išsiųsti bet kas, kas sugeba atlikti HTTP užklausą — pridėkite curl žingsnį prie CronJob ar workflow, arba pasinaudokite paruoštu PowerShell fragmentu Windows Task Scheduler užduotims. Veikia ir už ugniasienės ar NAT, nes ping siunčiamas tik į išorę.
06Kokius duomenis saugote apie kiekvieną ping?+
Signalą, laiko žymą, nuokrypį nuo grafiko, šaltinio IP adresą, naršyklės žymenį (user agent) ir vykdymo trukmę. Užklausų turinys nesaugomas — nesiųskite slaptų duomenų ar žurnalų.
07Siunčiame pingus iš šimtų darbinių procesų per vieną NAT — ar tai problema?+
Ne. Dažnio ribos skaičiuojamos vienam stebėjimo objektui — 300 pingų per 10 minučių — ne pagal šaltinio IP, tad bendri išėjimo adresai ir procesų grupės viena kitai netrukdo.
08Pagal kurią laiko juostą veikia cron grafikai?+
Pagal jūsų paskyros laiko juostą (su vasaros laiku). Atskiros laiko juostos kiekvienam objektui dar nėra; intervalo grafikams šis klausimas nekyla.
09Ar galima valdyti veikimo signalus be UI?+
Taip — REST API kuria, redaguoja, pristabdo ir trina stebėjimo objektus, iš naujo sugeneruoja žetonus, siunčia bandomuosius pingus ir leidžia peržiūrėti cron išraiškas (ar tinkamos ir trys artimiausi paleidimo laikai).
10Ar nuorodos peržiūra gali parodyti neveikiančią užduotį kaip veikiančią?+
Ne. Slack ir Teams nuorodų peržiūros, Outlook SafeLinks, Mimecast bei Proofpoint pakartotiniai tikrinimai ir kiti peržiūros botai atpažįstami iš jų User-Agent: toks apsilankymas patenka į ping žurnalą, kad galėtumėte jį matyti, bet stebėjimo niekada nepradeda ir termino nenukelia. Paleidimu laikomas tik tikras klientas — curl, wget, PowerShell ar jūsų pačių kodas.
11Ar veikimo signalų stebėjimas yra mokamas priedas?+
Ne. Veikimo signalų stebėjimas įtrauktas į kiekvieną mokamą planą kartu su veikimo laiko, SSL, operacijų, DNS ir serverių stebėjimu — niekada kaip papildoma mokama paslauga. Planai skiriasi tik stebėjimo objektų skaičiumi. Nemokamame plane veikimo signalų stebėjimo nėra, o per 30 dienų nemokamą bandymą jis veikia (iki 50 stebėjimo objektų) — nereikia kreditinės kortelės.

Apie kitą nepasileidusią užduotį turite sužinoti iš karto.

Viena eilutė užduoties gale — ir ji jau stebima, šalia jūsų veikimo, SSL ir serverių stebėjimo.

30 dienų nemokamas bandymas Įskaičiuota 50 veikimo signalų stebėjimo objektų Be kreditinės kortelės Atitinka BDAR
Veikimo signalų stebėjimas, kaip ir visi kiti stebėjimo tipai, yra kiekviename mokamame plane.