示例#1
0
#!/usr/bin/python2
import alerting
from backend import make_config
import os

app_dir = os.path.dirname(__file__)
if app_dir:
    os.chdir(app_dir)

import config
config = make_config(config)

db = alerting.Db(config.alerting_db)
rules = db.get_rules()
for rule in rules:
    print("%80s" % rule),
    try:
        value = rule.get_value(config)
    except Exception, e:
        print "could not process:", e
        continue
    print("%15s" % value),
    status = rule.check(value)
    msg_codes = ['OK', 'WARN', 'CRITICAL']
    print("%10s" % msg_codes[status]),
    msg = "GE %s %s is %f" % (msg_codes[status], rule.expr, value)
    rule.notify_maybe(db, status, msg, config)
示例#2
0
#!/opt/kup/virtupy/bin/python
from alerting import msg_codes, Db, Result
from alerting.emailoutput import EmailOutput
from backend import make_config
import os
import structured_metrics

app_dir = os.path.dirname(__file__)
if app_dir:
    os.chdir(app_dir)

import config
config = make_config(config)
import preferences

if not config.alerting:
    print "alerting disabled in config"
    os.exit(0)

s_metrics = structured_metrics.StructuredMetrics(config)
db = Db(config.alerting_db)
rules = db.get_rules()

output = EmailOutput(config)


def submit_maybe(result):
    if result.to_report():
        output.submit(result)
        db.save_notification(result)
        print "sent notification!"