mirror of
https://github.com/prymitive/karma
synced 2026-05-07 03:26:52 +00:00
214 lines
6.2 KiB
Python
214 lines
6.2 KiB
Python
#!/usr/bin/env python
|
|
|
|
import json
|
|
import time
|
|
import urllib2
|
|
|
|
def requests_post(url, data):
|
|
req = urllib2.Request(url)
|
|
req.add_header('Content-Type', 'application/json')
|
|
response = urllib2.urlopen(req, json.dumps(data))
|
|
|
|
|
|
requests_post('http://localhost:9093/api/v1/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/v1/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/v1/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 xrange(0, 5):
|
|
requests_post('http://localhost:9093/api/v1/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": "localhost/prometheus"
|
|
}, {
|
|
"labels": {
|
|
"alertname": "HTTP_Probe_Failed",
|
|
"instance": "web2",
|
|
"job": "node_exporter",
|
|
"cluster": "dev"
|
|
},
|
|
"annotations": {
|
|
"summary": "Example summary"
|
|
},
|
|
"generatorURL": "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": "localhost/prometheus"
|
|
}, {
|
|
"labels": {
|
|
"alertname": "Host_Down",
|
|
"instance": "server2",
|
|
"job": "node_ping",
|
|
"cluster": "prod",
|
|
"ip": "127.0.0.2"
|
|
},
|
|
"annotations": {
|
|
"summary": "Example summary"
|
|
},
|
|
"generatorURL": "localhost/prometheus"
|
|
}, {
|
|
"labels": {
|
|
"alertname": "Host_Down",
|
|
"instance": "server3",
|
|
"job": "node_ping",
|
|
"cluster": "staging",
|
|
"ip": "127.0.0.3"
|
|
},
|
|
"annotations": {
|
|
"summary": "Example summary"
|
|
},
|
|
"generatorURL": "localhost/prometheus"
|
|
}, {
|
|
"labels": {
|
|
"alertname": "Host_Down",
|
|
"instance": "server4",
|
|
"job": "node_ping",
|
|
"cluster": "staging",
|
|
"ip": "127.0.0.4"
|
|
},
|
|
"annotations": {
|
|
"summary": "Example summary"
|
|
},
|
|
"generatorURL": "localhost/prometheus"
|
|
}, {
|
|
"labels": {
|
|
"alertname": "Host_Down",
|
|
"instance": "server5",
|
|
"job": "node_ping",
|
|
"cluster": "staging",
|
|
"ip": "127.0.0.5"
|
|
},
|
|
"annotations": {
|
|
"summary": "Example summary"
|
|
},
|
|
"generatorURL": "localhost/prometheus"
|
|
}, {
|
|
"labels": {
|
|
"alertname": "Host_Down",
|
|
"instance": "server6",
|
|
"job": "node_ping",
|
|
"cluster": "dev",
|
|
"ip": "127.0.0.6"
|
|
},
|
|
"annotations": {
|
|
"summary": "Example summary"
|
|
},
|
|
"generatorURL": "localhost/prometheus"
|
|
}, {
|
|
"labels": {
|
|
"alertname": "Host_Down",
|
|
"instance": "server7",
|
|
"job": "node_ping",
|
|
"cluster": "dev",
|
|
"ip": "127.0.0.7"
|
|
},
|
|
"annotations": {
|
|
"summary": "Example summary"
|
|
},
|
|
"generatorURL": "localhost/prometheus"
|
|
}, {
|
|
"labels": {
|
|
"alertname": "Host_Down",
|
|
"instance": "server8",
|
|
"job": "node_ping",
|
|
"cluster": "dev",
|
|
"ip": "127.0.0.8"
|
|
},
|
|
"annotations": {
|
|
"summary": "Example summary"
|
|
},
|
|
"generatorURL": "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": "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": "localhost/prometheus"
|
|
}]
|
|
)
|
|
time.sleep(10)
|