New to Kestra?
Use blueprints to kickstart your first workflows.
Audits Pingdom global uptime checks for regional probe failures, detects edge routing blackouts, and delivers Slack alerts to SRE teams.
Enterprise software platforms rely on external synthetic monitoring to verify that customer-facing domains, load balancers, and edge content delivery networks (CDNs) remain reachable across the global internet. Pingdom operates distributed probe clusters across North America, Europe, Asia-Pacific, and Latin America to simulate real client HTTP/HTTPS requests. However, when origin TLS certificates expire, DNS Anycast routes flap, or cloud provider edge firewalls mistakenly drop synthetic user-agent traffic, endpoints drop offline without triggering internal application errors. If teams rely solely on email alerts or delayed weekly digest reports, Mean Time to Resolution (MTTR) stretches into hours. This sentinel polls the Pingdom REST API v3.1 every 10 minutes, checks operational uptime and response latency, and delivers high-priority incident notifications to SRE channels on Slack with direct links to Pingdom root-cause waterfall diagnostics.
*/10 * * * *) or runs on-demand via manual execution./api/3.1/checks/{check_id} using a secured bearer token.status attribute and measures lastresponsetime against configured latency thresholds.status != up) or if response latency exceeds max_response_time_ms_threshold.io.kestra.plugin.core.flow.If flowable checks if an outage or degradation occurred and dispatches a Slack alert to #sre-critical-incidents.flowchart TD
A[ten_minute_pingdom_audit Schedule Trigger] --> B[evaluate_pingdom_check_status Python Script]
B --> C[check_probe_status Flowable If]
C -- Endpoint Down or Slow --> D[notify_slack_pingdom_down Webhook]
C -- Probe Operational --> E[log_uptime_probe_status Log]
D --> E
E --> F[export_pingdom_manifest Return]
Pingdom provides high-fidelity global synthetic probes, but connecting external probe status to automated multi-channel incident response workflows requires flexible workflow orchestration. Kestra queries the Pingdom REST API on a reliable schedule, validates check health, formats actionable incident alerts, and triggers downstream remediation actions. With Kestra's containerized Python runner and native secret management, teams automate synthetic uptime verification without writing custom daemons.
| Name | Type | Default | Description |
|---|---|---|---|
pingdom_check_id |
INT |
12345678 |
Numeric identifier of the target Pingdom synthetic uptime check to evaluate. |
max_response_time_ms_threshold |
INT |
2000 |
Maximum allowable response latency in milliseconds before flagging degraded performance. |
alert_on_downtime |
BOOL |
true |
Whether to dispatch automated Slack incident notifications when endpoint outages or latency spikes occur. |
{{ outputs.evaluate_pingdom_check_status.vars.check_name }}: Display name of the evaluated Pingdom uptime check.{{ outputs.evaluate_pingdom_check_status.vars.hostname }}: Target domain or IP address inspected by the check.{{ outputs.evaluate_pingdom_check_status.vars.is_down }}: Boolean flag indicating whether the endpoint was declared down by Pingdom probes.{{ outputs.export_pingdom_manifest.value }}: Structured dictionary containing the consolidated uptime check diagnostic manifest.api.pingdom.com.PINGDOM_API_TOKEN: Pingdom API bearer token with permissions to query check statuses and probe metrics.SLACK_WEBHOOK_URL: Slack Incoming Webhook URL used to dispatch critical uptime incident notifications.PINGDOM_API_TOKEN and SLACK_WEBHOOK_URL in your Kestra secret storage.company.uptime namespace.pingdom_check_id with your check numeric ID (found in the Pingdom dashboard URL).Authorization: Bearer <TOKEN>; older legacy multi-token username/password headers are deprecated.paused; the sentinel handles paused states gracefully.io.kestra.plugin.core.flow.ForEach loop to audit all primary public corporate endpoints.