mirror of
https://github.com/prymitive/karma
synced 2026-05-07 03:26:52 +00:00
208 lines
6.8 KiB
Python
208 lines
6.8 KiB
Python
#!/usr/bin/env python3
|
|
|
|
import json
|
|
import time
|
|
from urllib.request import Request, urlopen
|
|
|
|
|
|
def requests_post(url, data):
|
|
print("POST %s" % url)
|
|
req = Request(url)
|
|
req.add_header("Content-Type", "application/json")
|
|
try:
|
|
urlopen(req, json.dumps(data).encode("utf-8"))
|
|
except Exception as e:
|
|
print(e.read().decode())
|
|
print("Done")
|
|
|
|
|
|
requests_post(
|
|
"http://localhost:9093/api/v2/silences",
|
|
{
|
|
"matchers": [{"name": "instance", "value": "web1", "isRegex": False}],
|
|
"startsAt": "2017-02-18T01:34:34Z",
|
|
"endsAt": "2063-01-01T00:00:00Z",
|
|
"createdBy": "john@example.com",
|
|
"comment": "Silenced instance",
|
|
},
|
|
)
|
|
|
|
requests_post(
|
|
"http://localhost:9093/api/v2/silences",
|
|
{
|
|
"matchers": [
|
|
{
|
|
"name": "alertname",
|
|
"value": "Host_Down",
|
|
"isRegex": False,
|
|
},
|
|
{"name": "cluster", "value": "dev", "isRegex": False},
|
|
],
|
|
"startsAt": "2017-02-18T01:34:34Z",
|
|
"endsAt": "2063-01-01T00:00:00Z",
|
|
"createdBy": "john@example.com",
|
|
"comment": "Silenced Host_Down alerts in the dev cluster",
|
|
},
|
|
)
|
|
|
|
requests_post(
|
|
"http://localhost:9093/api/v2/silences",
|
|
{
|
|
"matchers": [{"name": "instance", "value": "server7", "isRegex": False}],
|
|
"startsAt": "2017-02-18T01:34:34Z",
|
|
"endsAt": "2063-01-01T00:00:00Z",
|
|
"createdBy": "john@example.com",
|
|
"comment": "Silenced server7",
|
|
},
|
|
)
|
|
|
|
for i in range(0, 5):
|
|
requests_post(
|
|
"http://localhost:9093/api/v2/alerts",
|
|
[
|
|
{
|
|
"labels": {
|
|
"alertname": "HTTP_Probe_Failed",
|
|
"instance": "web1",
|
|
"job": "node_exporter",
|
|
"cluster": "dev",
|
|
},
|
|
"annotations": {
|
|
"help": "Example help annotation",
|
|
"summary": "Example summary",
|
|
"url": "http://localhost/example.html",
|
|
},
|
|
"generatorURL": "http://localhost/prometheus",
|
|
},
|
|
{
|
|
"labels": {
|
|
"alertname": "HTTP_Probe_Failed",
|
|
"instance": "web2",
|
|
"job": "node_exporter",
|
|
"cluster": "dev",
|
|
},
|
|
"annotations": {"summary": "Example summary"},
|
|
"generatorURL": "http://localhost/prometheus",
|
|
},
|
|
{
|
|
"labels": {
|
|
"alertname": "Host_Down",
|
|
"instance": "server1",
|
|
"job": "node_ping",
|
|
"cluster": "prod",
|
|
"ip": "127.0.0.1",
|
|
},
|
|
"annotations": {
|
|
"summary": "Example summary",
|
|
"url": "http://localhost/example.html",
|
|
},
|
|
"generatorURL": "http://localhost/prometheus",
|
|
},
|
|
{
|
|
"labels": {
|
|
"alertname": "Host_Down",
|
|
"instance": "server2",
|
|
"job": "node_ping",
|
|
"cluster": "prod",
|
|
"ip": "127.0.0.2",
|
|
},
|
|
"annotations": {"summary": "Example summary"},
|
|
"generatorURL": "http://localhost/prometheus",
|
|
},
|
|
{
|
|
"labels": {
|
|
"alertname": "Host_Down",
|
|
"instance": "server3",
|
|
"job": "node_ping",
|
|
"cluster": "staging",
|
|
"ip": "127.0.0.3",
|
|
},
|
|
"annotations": {"summary": "Example summary"},
|
|
"generatorURL": "http://localhost/prometheus",
|
|
},
|
|
{
|
|
"labels": {
|
|
"alertname": "Host_Down",
|
|
"instance": "server4",
|
|
"job": "node_ping",
|
|
"cluster": "staging",
|
|
"ip": "127.0.0.4",
|
|
},
|
|
"annotations": {"summary": "Example summary"},
|
|
"generatorURL": "http://localhost/prometheus",
|
|
},
|
|
{
|
|
"labels": {
|
|
"alertname": "Host_Down",
|
|
"instance": "server5",
|
|
"job": "node_ping",
|
|
"cluster": "staging",
|
|
"ip": "127.0.0.5",
|
|
},
|
|
"annotations": {"summary": "Example summary"},
|
|
"generatorURL": "http://localhost/prometheus",
|
|
},
|
|
{
|
|
"labels": {
|
|
"alertname": "Host_Down",
|
|
"instance": "server6",
|
|
"job": "node_ping",
|
|
"cluster": "dev",
|
|
"ip": "127.0.0.6",
|
|
},
|
|
"annotations": {"summary": "Example summary"},
|
|
"generatorURL": "http://localhost/prometheus",
|
|
},
|
|
{
|
|
"labels": {
|
|
"alertname": "Host_Down",
|
|
"instance": "server7",
|
|
"job": "node_ping",
|
|
"cluster": "dev",
|
|
"ip": "127.0.0.7",
|
|
},
|
|
"annotations": {"summary": "Example summary"},
|
|
"generatorURL": "http://localhost/prometheus",
|
|
},
|
|
{
|
|
"labels": {
|
|
"alertname": "Host_Down",
|
|
"instance": "server8",
|
|
"job": "node_ping",
|
|
"cluster": "dev",
|
|
"ip": "127.0.0.8",
|
|
},
|
|
"annotations": {"summary": "Example summary"},
|
|
"generatorURL": "http://localhost/prometheus",
|
|
},
|
|
{
|
|
"labels": {
|
|
"alertname": "Memory_Usage_Too_High",
|
|
"instance": "server2",
|
|
"job": "node_exporter",
|
|
"cluster": "prod",
|
|
},
|
|
"annotations": {
|
|
"alert": "Memory usage exceeding threshold",
|
|
"dashboard": "http://localhost/dashboard.html",
|
|
},
|
|
"generatorURL": "http://localhost/prometheus",
|
|
},
|
|
{
|
|
"labels": {
|
|
"alertname": "Free_Disk_Space_Too_Low",
|
|
"instance": "server5",
|
|
"job": "node_exporter",
|
|
"cluster": "staging",
|
|
"disk": "sda",
|
|
},
|
|
"annotations": {
|
|
"alert": "Less than 10% disk space is free",
|
|
"dashboard": "http://localhost/dashboard.html",
|
|
},
|
|
"generatorURL": "http://localhost/prometheus",
|
|
},
|
|
],
|
|
)
|
|
time.sleep(10)
|