本文整理汇总了Python中alerta.common.mq.Messaging.connect方法的典型用法代码示例。如果您正苦于以下问题:Python Messaging.connect方法的具体用法?Python Messaging.connect怎么用?Python Messaging.connect使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类alerta.common.mq.Messaging
的用法示例。
在下文中一共展示了Messaging.connect方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: LoggerDaemon
# 需要导入模块: from alerta.common.mq import Messaging [as 别名]
# 或者: from alerta.common.mq.Messaging import connect [as 别名]
class LoggerDaemon(Daemon):
"""
Index alerts in ElasticSearch using Logstash format so that logstash GUI and/or Kibana can be used as front-ends
"""
def run(self):
self.running = True
# Connect to message queue
self.mq = Messaging()
self.mq.connect(callback=LoggerMessage())
self.mq.subscribe(destination=CONF.outbound_queue)
while not self.shuttingdown:
try:
LOG.debug('Waiting for log messages...')
time.sleep(30)
LOG.debug('Send heartbeat...')
heartbeat = Heartbeat()
self.mq.send(heartbeat)
except (KeyboardInterrupt, SystemExit):
self.shuttingdown = True
LOG.info('Shutdown request received...')
self.running = False
LOG.info('Disconnecting from message broker...')
self.mq.disconnect()
示例2: AlertaDaemon
# 需要导入模块: from alerta.common.mq import Messaging [as 别名]
# 或者: from alerta.common.mq.Messaging import connect [as 别名]
class AlertaDaemon(Daemon):
alerta_opts = {
'forward_duplicate': 'no',
}
def __init__(self, prog, **kwargs):
config.register_opts(AlertaDaemon.alerta_opts)
Daemon.__init__(self, prog, kwargs)
def run(self):
self.running = True
self.queue = Queue.Queue() # Create internal queue
self.db = Mongo() # mongo database
self.carbon = Carbon() # carbon metrics
self.statsd = StatsD() # graphite metrics
# Connect to message queue
self.mq = Messaging()
self.mq.connect(callback=ServerMessage(self.mq, self.queue, self.statsd))
self.mq.subscribe()
# Start worker threads
LOG.debug('Starting %s worker threads...', CONF.server_threads)
for i in range(CONF.server_threads):
w = WorkerThread(self.mq, self.queue, self.statsd)
try:
w.start()
except Exception, e:
LOG.error('Worker thread #%s did not start: %s', i, e)
continue
LOG.info('Started worker thread: %s', w.getName())
while not self.shuttingdown:
try:
LOG.debug('Send heartbeat...')
heartbeat = Heartbeat(version=Version, timeout=CONF.loop_every)
self.mq.send(heartbeat)
time.sleep(CONF.loop_every)
LOG.info('Alert processing queue length is %d', self.queue.qsize())
self.carbon.metric_send('alerta.alerts.queueLength', self.queue.qsize())
self.db.update_queue_metric(self.queue.qsize())
except (KeyboardInterrupt, SystemExit):
self.shuttingdown = True
LOG.info('Shutdown request received...')
self.running = False
for i in range(CONF.server_threads):
self.queue.put(None)
w.join()
LOG.info('Disconnecting from message broker...')
self.mq.disconnect()
示例3: PagerDutyDaemon
# 需要导入模块: from alerta.common.mq import Messaging [as 别名]
# 或者: from alerta.common.mq.Messaging import connect [as 别名]
class PagerDutyDaemon(Daemon):
def run(self):
self.running = True
# Connect to message queue
self.mq = Messaging()
self.mq.connect(callback=PagerDutyMessage(self.mq))
self.mq.subscribe(destination=CONF.outbound_topic) # TODO(nsatterl): use dedicated queue?
while not self.shuttingdown:
try:
LOG.debug('Waiting for PagerDuty messages...')
time.sleep(CONF.loop_every)
LOG.debug('Send heartbeat...')
heartbeat = Heartbeat(version=Version)
self.mq.send(heartbeat)
except (KeyboardInterrupt, SystemExit):
self.shuttingdown = True
LOG.info('Shutdown request received...')
self.running = False
LOG.info('Disconnecting from message broker...')
self.mq.disconnect()
示例4: MailerDaemon
# 需要导入模块: from alerta.common.mq import Messaging [as 别名]
# 或者: from alerta.common.mq.Messaging import connect [as 别名]
class MailerDaemon(Daemon):
def run(self):
self.running = True
# Start token bucket thread
self.tokens = LeakyBucket(tokens=20, rate=30)
self.tokens.start()
self.onhold = dict()
# Connect to message queue
self.mq = Messaging()
self.mq.connect(callback=MailerMessage(self.mq, self.onhold, self.tokens))
self.mq.subscribe(destination=CONF.outbound_topic)
while not self.shuttingdown:
try:
LOG.debug('Send email messages...')
for alertid in self.onhold.keys():
try:
(mailAlert, hold_time) = self.onhold[alertid]
except KeyError:
continue
if time.time() > hold_time:
if not self.tokens.get_token():
LOG.warning('%s : No tokens left, rate limiting this alert', alertid)
continue
email = Mailer(mailAlert)
mail_to = CONF.mail_list.split(',')
for tag in mailAlert.tags:
if tag.startswith('email'):
mail_to.append(tag.split(':')[1])
email.send(mail_to=mail_to)
try:
del self.onhold[alertid]
except KeyError:
continue
time.sleep(CONF.loop_every)
LOG.debug('Send heartbeat...')
heartbeat = Heartbeat(version=Version)
self.mq.send(heartbeat)
except (KeyboardInterrupt, SystemExit):
self.shuttingdown = True
LOG.info('Shutdown request received...')
self.running = False
self.tokens.shutdown()
LOG.info('Disconnecting from message broker...')
self.mq.disconnect()
示例5: UrlmonDaemon
# 需要导入模块: from alerta.common.mq import Messaging [as 别名]
# 或者: from alerta.common.mq.Messaging import connect [as 别名]
class UrlmonDaemon(Daemon):
def run(self):
self.running = True
# Connect to message queue
self.mq = Messaging()
self.mq.connect()
# Initialiase alert rules
init_urls()
url_mod_time = os.path.getmtime(URLFILE)
# Start worker threads
for i in range(NUM_THREADS):
w = WorkerThread(queue)
w.start()
LOG.info('Starting thread: %s', w.getName())
while not self.shuttingdown:
try:
# Read (or re-read) urls as necessary
if os.path.getmtime(URLFILE) != url_mod_time:
init_urls()
url_mod_time = os.path.getmtime(URLFILE)
for url in urls:
queue.put(('url', url))
queue.put(('timestamp', time.time()))
LOG.debug('Send heartbeat...')
heartbeat = Heartbeat()
self.mq.send(heartbeat)
time.sleep(_check_rate)
urlmon_qsize = queue.qsize()
LOG.info('URL check queue length is %d', urlmon_qsize)
if GMETRIC_SEND:
gmetric_cmd = "%s --name urlmon_qsize --value %d --type uint16 --units \" \" --slope both --group urlmon %s" % (
GMETRIC_CMD, urlmon_qsize, GMETRIC_OPTIONS)
LOG.debug("%s", gmetric_cmd)
os.system("%s" % gmetric_cmd)
except (KeyboardInterrupt, SystemExit):
self.shuttingdown = True
LOG.info('Shutdown request received...')
self.running = False
for i in range(NUM_THREADS):
queue.put(('stop', None))
w.join()
LOG.info('Disconnecting from message broker...')
self.mq.disconnect()
示例6: UrlmonDaemon
# 需要导入模块: from alerta.common.mq import Messaging [as 别名]
# 或者: from alerta.common.mq.Messaging import connect [as 别名]
class UrlmonDaemon(Daemon):
def run(self):
self.running = True
# Create internal queue
self.queue = Queue.Queue()
# Connect to message queue
self.mq = Messaging()
self.mq.connect(callback=UrlmonMessage(self.mq))
self.dedup = DeDup()
self.statsd = StatsD() # graphite metrics
# Initialiase alert rules
urls = init_urls()
# Start worker threads
LOG.debug('Starting %s worker threads...', CONF.server_threads)
for i in range(CONF.server_threads):
w = WorkerThread(self.mq, self.queue, self.dedup, self.statsd)
try:
w.start()
except Exception, e:
LOG.error('Worker thread #%s did not start: %s', i, e)
continue
LOG.info('Started worker thread: %s', w.getName())
while not self.shuttingdown:
try:
for url in urls:
self.queue.put(url)
LOG.debug('Send heartbeat...')
heartbeat = Heartbeat(version=Version)
self.mq.send(heartbeat)
LOG.info('URL check queue length is %d', self.queue.qsize())
time.sleep(CONF.loop_every)
except (KeyboardInterrupt, SystemExit):
self.shuttingdown = True
LOG.info('Shutdown request received...')
self.running = False
for i in range(CONF.server_threads):
self.queue.put(None)
w.join()
LOG.info('Disconnecting from message broker...')
self.mq.disconnect()
示例7: run
# 需要导入模块: from alerta.common.mq import Messaging [as 别名]
# 或者: from alerta.common.mq.Messaging import connect [as 别名]
def run(self):
data = sys.stdin.read()
LOG.info('snmptrapd -> %s', data)
snmptrapAlert = self.parse_snmptrap(data)
mq = Messaging()
mq.connect()
mq.send(snmptrapAlert)
mq.disconnect()
示例8: NotifyDaemon
# 需要导入模块: from alerta.common.mq import Messaging [as 别名]
# 或者: from alerta.common.mq.Messaging import connect [as 别名]
class NotifyDaemon(Daemon):
def run(self):
self.running = True
# Initialiase alert config
init_config()
# Start token bucket thread
_TokenThread = TokenTopUp()
_TokenThread.start()
# Start notify thread
_NotifyThread = ReleaseThread()
_NotifyThread.start()
# Connect to message queue
self.mq = Messaging()
self.mq.connect(callback=NotifyMessage(self.mq))
self.mq.subscribe(destination=CONF.outbound_topic)
while not self.shuttingdown:
try:
# Read (or re-read) config as necessary
if os.path.getmtime(CONF.yaml_config) != config_mod_time:
init_config()
config_mod_time = os.path.getmtime(CONF.yaml_config)
LOG.debug('Waiting for email messages...')
time.sleep(CONF.loop_every)
LOG.debug('Send heartbeat...')
heartbeat = Heartbeat(version=Version)
self.mq.send(heartbeat)
except (KeyboardInterrupt, SystemExit):
self.shuttingdown = True
_TokenThread.shutdown()
_NotifyThread.shutdown()
LOG.info('Shutdown request received...')
self.running = False
LOG.info('Disconnecting from message broker...')
self.mq.disconnect()
示例9: AlertaDaemon
# 需要导入模块: from alerta.common.mq import Messaging [as 别名]
# 或者: from alerta.common.mq.Messaging import connect [as 别名]
class AlertaDaemon(Daemon):
def run(self):
self.running = True
self.queue = Queue.Queue() # Create internal queue
self.statsd = StatsD() # graphite metrics
# Connect to message queue
self.mq = Messaging()
self.mq.connect(callback=ServerMessage(self.mq, self.queue, self.statsd))
self.mq.subscribe()
# Start worker threads
LOG.debug('Starting %s worker threads...', CONF.server_threads)
for i in range(CONF.server_threads):
w = WorkerThread(self.mq, self.queue, self.statsd)
try:
w.start()
except Exception, e:
LOG.error('Worker thread #%s did not start: %s', i, e)
continue
LOG.info('Started worker thread: %s', w.getName())
while not self.shuttingdown:
try:
LOG.debug('Send heartbeat...')
heartbeat = Heartbeat(version=Version, timeout=CONF.loop_every)
self.mq.send(heartbeat)
LOG.debug('Internal queue size is %s messages', self.queue.qsize())
time.sleep(CONF.loop_every)
except (KeyboardInterrupt, SystemExit):
self.shuttingdown = True
LOG.info('Shutdown request received...')
self.running = False
for i in range(CONF.server_threads):
self.queue.put(None)
w.join()
LOG.info('Disconnecting from message broker...')
self.mq.disconnect()
示例10: CloudWatchDaemon
# 需要导入模块: from alerta.common.mq import Messaging [as 别名]
# 或者: from alerta.common.mq.Messaging import connect [as 别名]
class CloudWatchDaemon(Daemon):
cloudwatch_opts = {
'cloudwatch_sqs_region': 'eu-west-1',
'cloudwatch_sqs_queue': 'cloudwatch-to-alerta',
'cloudwatch_access_key': '022QF06E7MXBSAMPLE',
'cloudwatch_secret_key': ''
}
def __init__(self, prog, **kwargs):
config.register_opts(CloudWatchDaemon.cloudwatch_opts)
Daemon.__init__(self, prog, kwargs)
def run(self):
self.running = True
self.statsd = StatsD() # graphite metrics
# Connect to message queue
self.mq = Messaging()
self.mq.connect(callback=CloudWatchMessage(self.mq))
self.dedup = DeDup(by_value=True)
LOG.info('Connecting to SQS queue %s', CONF.cloudwatch_sqs_queue)
try:
sqs = boto.sqs.connect_to_region(
CONF.cloudwatch_sqs_region,
aws_access_key_id=CONF.cloudwatch_access_key,
aws_secret_access_key=CONF.cloudwatch_secret_key
)
except boto.exception.SQSError, e:
LOG.error('SQS API call failed: %s', e)
sys.exit(1)
try:
q = sqs.create_queue(CONF.cloudwatch_sqs_queue)
q.set_message_class(RawMessage)
except boto.exception.SQSError, e:
LOG.error('SQS queue error: %s', e)
sys.exit(1)
示例11: LoggerDaemon
# 需要导入模块: from alerta.common.mq import Messaging [as 别名]
# 或者: from alerta.common.mq.Messaging import connect [as 别名]
class LoggerDaemon(Daemon):
"""
Index alerts in ElasticSearch using Logstash format so that logstash GUI and/or Kibana can be used as front-ends
"""
logger_opts = {
'es_host': 'localhost',
'es_port': 9200,
'es_index': 'alerta-%Y.%m.%d', # NB. Kibana config must match this index
}
def __init__(self, prog, **kwargs):
config.register_opts(LoggerDaemon.logger_opts)
Daemon.__init__(self, prog, kwargs)
def run(self):
self.running = True
# Connect to message queue
self.mq = Messaging()
self.mq.connect(callback=LoggerMessage(self.mq))
self.mq.subscribe(destination=CONF.outbound_queue)
while not self.shuttingdown:
try:
LOG.debug('Waiting for log messages...')
time.sleep(CONF.loop_every)
LOG.debug('Send heartbeat...')
heartbeat = Heartbeat(version=Version)
self.mq.send(heartbeat)
except (KeyboardInterrupt, SystemExit):
self.shuttingdown = True
LOG.info('Shutdown request received...')
self.running = False
LOG.info('Disconnecting from message broker...')
self.mq.disconnect()
示例12: PagerDutyDaemon
# 需要导入模块: from alerta.common.mq import Messaging [as 别名]
# 或者: from alerta.common.mq.Messaging import connect [as 别名]
class PagerDutyDaemon(Daemon):
pagerduty_opts = {
'pagerduty_endpoint': 'https://events.pagerduty.com/generic/2010-04-15/create_event.json',
'pagerduty_api_key': '',
}
def __init__(self, prog, **kwargs):
config.register_opts(PagerDutyDaemon.pagerduty_opts)
Daemon.__init__(self, prog, kwargs)
def run(self):
self.running = True
# Connect to message queue
self.mq = Messaging()
self.mq.connect(callback=PagerDutyMessage(self.mq))
self.mq.subscribe(destination=CONF.outbound_topic) # TODO(nsatterl): use dedicated queue?
while not self.shuttingdown:
try:
LOG.debug('Waiting for PagerDuty messages...')
time.sleep(CONF.loop_every)
LOG.debug('Send heartbeat...')
heartbeat = Heartbeat(version=Version)
self.mq.send(heartbeat)
except (KeyboardInterrupt, SystemExit):
self.shuttingdown = True
LOG.info('Shutdown request received...')
self.running = False
LOG.info('Disconnecting from message broker...')
self.mq.disconnect()
示例13: AlertaDaemon
# 需要导入模块: from alerta.common.mq import Messaging [as 别名]
# 或者: from alerta.common.mq.Messaging import connect [as 别名]
class AlertaDaemon(Daemon):
def run(self):
self.running = True
# Create internal queue
self.queue = Queue.Queue()
# Connect to message queue
self.mq = Messaging()
self.mq.connect(callback=ServerMessage(self.queue))
self.mq.subscribe()
# Start worker threads
LOG.debug('Starting %s alert handler threads...', CONF.server_threads)
for i in range(CONF.server_threads):
w = WorkerThread(self.mq, self.queue)
try:
w.start()
except Exception, e:
LOG.error('Worker thread #%s did not start: %s', i, e)
continue
LOG.info('Started alert handler thread: %s', w.getName())
while not self.shuttingdown:
try:
time.sleep(0.1)
except (KeyboardInterrupt, SystemExit):
self.shuttingdown = True
for i in range(CONF.server_threads):
self.queue.put(None)
LOG.info('Shutdown request received...')
self.running = False
LOG.info('Disconnecting from message broker...')
self.mq.disconnect()
示例14: main
# 需要导入模块: from alerta.common.mq import Messaging [as 别名]
# 或者: from alerta.common.mq.Messaging import connect [as 别名]
def main(self):
if CONF.heartbeat:
msg = Heartbeat(
origin=CONF.origin,
version=__version__,
)
else:
msg = Alert(
resource=CONF.resource,
event=CONF.event,
correlate=CONF.correlate,
group=CONF.group,
value=CONF.value,
severity=CONF.severity,
environment=CONF.environment,
service=CONF.service,
text=CONF.text,
event_type='exceptionAlert', # TODO(nsatterl): make this configurable?
tags=CONF.tags,
origin=CONF.origin,
threshold_info='n/a', #TODO(nsatterl): make this configurable?
timeout=CONF.timeout,
)
if CONF.dry_run:
print msg
else:
LOG.debug('Message => %s', repr(msg))
mq = Messaging()
mq.connect()
mq.send(msg)
mq.disconnect()
return msg.get_id()
示例15: Flask
# 需要导入模块: from alerta.common.mq import Messaging [as 别名]
# 或者: from alerta.common.mq.Messaging import connect [as 别名]
import sys
from flask import Flask
from alerta.common import config
from alerta.common import log as logging
from alerta.common.mq import Messaging
from alerta.server.database import Mongo
Version = '2.0.1'
LOG = logging.getLogger(__name__)
CONF = config.CONF
config.parse_args(sys.argv[1:], version=Version)
logging.setup('alerta')
app = Flask(__name__)
app.config.from_object(__name__)
db = Mongo()
mq = Messaging()
mq.connect()
import views
import management.views