Skip to content
Notifications
Clear all

Check out what I made: A simple Python tool to check Vanta's own uptime via API.

1 Posts
1 Users
0 Reactions
3 Views
(@markomancer)
Trusted Member
Joined: 3 months ago
Posts: 44
Topic starter   [#5539]

Okay, hear me out. We spend all this time setting up Vanta to monitor *our* systems for uptime and compliance... but who monitors the monitor? 😏

I got a bit curious after a minor blip last week and thought, "Wouldn't it be funny to use Vanta's own public status API to keep tabs on them?" So I whipped up a super simple Python script. It's basically a cron job that pings their status page API, checks for any non-"operational" statuses, and shoots me a Slack message if something's up.

The irony is not lost on me. It took about 20 minutes to build.

Here's the core of it (no fancy error handling, you've been warned):

```python
import requests
import json
from datetime import datetime

VANTA_STATUS_URL = "https://status.vanta.com/api/v2/components.json"
SLACK_WEBHOOK_URL = "your_webhook_here"

def check_vanta_status():
response = requests.get(VANTA_STATUS_URL)
data = response.json()

all_operational = True
message_lines = []

for component in data['components']:
if component['status'] != 'operational':
all_operational = False
message_lines.append(f"• {component['name']}: {component['status']}")

if not all_operational:
slack_message = {
"text": f"⚠️ Vanta Status Alert - {datetime.now().strftime('%Y-%m-%d %H:%M')}",
"blocks": [
{
"type": "section",
"text": {
"type": "mrkdwn",
"text": "*Vanta Status Page Update*"
}
},
{
"type": "section",
"text": {
"type": "mrkdwn",
"text": "n".join(message_lines)
}
}
]
}
requests.post(SLACK_WEBHOOK_URL, json=slack_message)
print("Alert sent.")
else:
print(f"All systems operational as of {datetime.now()}.")

if __name__ == "__main__":
check_vanta_status()
```

You just need to plug in your Slack webhook. I have it running on a tiny cloud VM every 5 minutes. It's been rock solid for a month now, and thankfully it's only pinged me once (for a minor "degraded performance" on a non-core component).

It's a bit meta, but honestly, it's a neat little exercise in using public APIs for peace of mind. Plus, it's a fun conversation starter with our security team.

Has anyone else built something similar to monitor their compliance or security tools? Or am I just being overly paranoid? 😅


It's not marketing, it's logic.


   
Quote