Webhook-kanava lähettää JSONia POST-pyynnöllä valitsemaasi URL-osoitteeseen, kun valvottu kohde kaatuu tai palautuu, sekä muista hälytyksistä, kuten hitaista vastauksista, vanhenevista varmenteista ja muuttuneista DNS-tietueista. Jokainen pyyntö on allekirjoitettu, joten päätepisteesi voi tarkistaa, että se todella tuli Uptimecheckiltä.
Lisää webhook
Avaa sivupalkista Alert channels ja valitse Add channel.Valitse Webhook ja syötä Endpoint URL.Valitse Add channel ja kopioi näkyviin tuleva allekirjoitusavain. Se näytetään vain kerran.Lähetä testikutsu valitsemalla Send test.
Varmenna allekirjoitus
Jokaisessa pyynnössä on kaksi otsaketta:
x-uptimecheck-timestamp: Unix-aika sekunteina hetkellä, jolloin pyyntö allekirjoitettiin.x-uptimecheck-signature: sha256= ja sen perässä heksamuotoinen HMAC-SHA256, joka lasketaan aikaleimasta, pisteestä ja raa’asta rungosta kanavan allekirjoitusavaimella.
Laske sama arvo raa’asta rungosta ennen sen jäsentämistä, vertaa vakioajassa ja hylkää vanhat aikaleimat. Node.js:llä:
import { createHmac, timingSafeEqual } from ”node:crypto”;
export function isFromUptimecheck(rawBody, headers, secret) {
const timestamp = headers[”x-uptimecheck-timestamp”] ?? ””;
const signature = headers[”x-uptimecheck-signature”] ?? ””;
const expected = ”sha256=” + createHmac(”sha256”, secret).update(`${timestamp}.${rawBody}`).digest(”hex”);
const fresh = Math.abs(Date.now() / 1000 – Number(timestamp)) < 300;
return fresh && signature.length === expected.length && timingSafeEqual(Buffer.from(signature), Buffer.from(expected));
}
Python-versio ja sisällön jokainen kenttä löytyvät API-dokumentaatiosta.
Hyvä tietää
Vastaa millä tahansa 2xx-tilakoodilla 10 sekunnin kuluessa. Kaikki muu yritetään uudelleen neljä kertaa, 30 s, 2 min, 10 min ja 30 min välein.Kenttä event kertoo, mitä tapahtui, esimerkiksi monitor.down, monitor.up, monitor.slow, certificate.expiring tai dns.changed. API-referenssi luettelee kaikki tapahtumat ja näyttää, miten allekirjoitus varmennetaan.Käytä HTTPS:ää ja tee hidas käsittely vasta vastattuasi.
Katso kaikki hälytyskanavat tai automatisoi käyttöönotto REST API:lla.