https://github.com/fiverr/health-check-to-splunk-on-call
☁️ Cloudflare Edge Worker to relay Health Check messages to Splunk On-Call
https://github.com/fiverr/health-check-to-splunk-on-call
cloudflare health-check splunk-on-call victorops worker
Last synced: about 1 month ago
JSON representation
☁️ Cloudflare Edge Worker to relay Health Check messages to Splunk On-Call
- Host: GitHub
- URL: https://github.com/fiverr/health-check-to-splunk-on-call
- Owner: fiverr
- License: unlicense
- Created: 2022-05-12T15:34:48.000Z (about 3 years ago)
- Default Branch: master
- Last Pushed: 2025-03-27T18:15:47.000Z (2 months ago)
- Last Synced: 2025-04-04T18:12:00.445Z (about 2 months ago)
- Topics: cloudflare, health-check, splunk-on-call, victorops, worker
- Language: TypeScript
- Homepage:
- Size: 12.7 KB
- Stars: 2
- Watchers: 23
- Forks: 3
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Codeowners: .github/CODEOWNERS
Awesome Lists containing this project
README
# Cloudflare Health Check → Splunk On-Call
☁️ Cloudflare Edge Worker to relay Health Check messages to Splunk On-Call (FKA Victorops)
```mermaid
graph TD;
A[Cloudflare Health Check] -- unhealthy --> B[Relay Worker];
A -- healthy --> B;
B -- critical --> C[Splunk On Call];
B -- recovery --> C;
```> I'm using fake keys and domain names in this document
## Splunk On-Call REST API
Retreive your API key from Splunk On-Call:
| 
| -
| `https://alert.victorops.com/integrations/generic/20131114/alert/e948df8a-1579-4fd0-85f1-985edfa98950/$routing_key`## Cloudflare Edge Worker
Create an edge worker with the name `health-check-to-splunk-on-call` (suggestion)
|  
| -## Cloudflare Notification Destination
Configure a notification destination webhook on Cloudflare
- **Name**: Descriptive name
- **URL**: `https://health-check-to-splunk-on-call.my-worker-subdomain.workers.dev/`
- **Secret**: Splunk On-Call API keyUse the API key from Splunk On-Call as the secret:
|  
| -## Data Schemas
### Cloudflare Health Check Webhook Payload
- **name**: [`String`] Notification name
- **text**: [`String`] Check name, Check ID, Time, Status
- **data**:
- **time**: [`String`] 'YYYY-MM-DD HH:mm:ss +0000 UTC'
- **status**: Healthy | Unhealthy
- **reason**: [`String`] Response code mismatch error, No failure
- **name**: [`String`] test_name
- **health_check_id**: [`String`]
- … more arbitrary information### Splunk On-Call REST endpoint API
> [Splunk On-Call REST endpoint documentation](https://help.victorops.com/knowledge-base/rest-endpoint-integration-guide/)
- **message_type**: CRITICAL | WARNING | ACKNOWLEDGEMENT | INFO | RECOVERY
- **entity_id**: [`String`]
- **entity_display_name**: [`String`]
- **state_message**: [`String`]
- **state_start_time**: [`Number`] (Linux/Unix time)---
## Notification
Add the Splunk relay destination to your notification.
> Make sure you choose "Becomes healthy or unhealthy" to ensure incidents will be automatically resolved when applicable.
|  
| -