Skip to content
This repository has been archived by the owner on Apr 1, 2022. It is now read-only.
/ deacon Public archive

Deacon helps you attend MaaS (Monitoring as a Service)

Notifications You must be signed in to change notification settings

vickleford/deacon

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Truthfully, I'm really just using it from ipython as a script suite right now--yes, calling the functions individually.


This example creates ping checks for all network interfaces on all entities on an account with a bunch of hard-coded defaults.

aluminum13:deacon$ python
Python 2.7.3 (default, Oct 22 2012, 06:12:28)
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> from deacon import checks
>>> checks.create_ping_checks_all_aliases_all_entities()
{'target_alias': u'access_ip0_v6', 'period': 60, 'label': 'Ping check for access_ip0_v6', 'details': {'count': 10}, 'timeout': 15, 'monitoring_zones_poll': ['mzdfw', 'mzord', 'mziad', 'mzlon', 'mzhkg', 'mzsyd'], 'type': 'remote.ping'}
{'target_alias': u'alvn0_v4', 'period': 60, 'label': 'Ping check for alvn0_v4', 'details': {'count': 10}, 'timeout': 15, 'monitoring_zones_poll': ['mzdfw', 'mzord', 'mziad', 'mzlon', 'mzhkg', 'mzsyd'], 'type': 'remote.ping'}
{'target_alias': u'access_ip1_v4', 'period': 60, 'label': 'Ping check for access_ip1_v4', 'details': {'count': 10}, 'timeout': 15, 'monitoring_zones_poll': ['mzdfw', 'mzord', 'mziad', 'mzlon', 'mzhkg', 'mzsyd'], 'type': 'remote.ping'}
{'target_alias': u'public0_v6', 'period': 60, 'label': 'Ping check for public0_v6', 'details': {'count': 10}, 'timeout': 15, 'monitoring_zones_poll': ['mzdfw', 'mzord', 'mziad', 'mzlon', 'mzhkg', 'mzsyd'], 'type': 'remote.ping'}
{'target_alias': u'private0_v4', 'period': 60, 'label': 'Ping check for private0_v4', 'details': {'count': 10}, 'timeout': 15, 'monitoring_zones_poll': ['mzdfw', 'mzord', 'mziad', 'mzlon', 'mzhkg', 'mzsyd'], 'type': 'remote.ping'}
{'target_alias': u'public1_v4', 'period': 60, 'label': 'Ping check for public1_v4', 'details': {'count': 10}, 'timeout': 15, 'monitoring_zones_poll': ['mzdfw', 'mzord', 'mziad', 'mzlon', 'mzhkg', 'mzsyd'], 'type': 'remote.ping'}
{'target_alias': u'access_ip0_v6', 'period': 60, 'label': 'Ping check for access_ip0_v6', 'details': {'count': 10}, 'timeout': 15, 'monitoring_zones_poll': ['mzdfw', 'mzord', 'mziad', 'mzlon', 'mzhkg', 'mzsyd'], 'type': 'remote.ping'}
{'target_alias': u'alvn0_v4', 'period': 60, 'label': 'Ping check for alvn0_v4', 'details': {'count': 10}, 'timeout': 15, 'monitoring_zones_poll': ['mzdfw', 'mzord', 'mziad', 'mzlon', 'mzhkg', 'mzsyd'], 'type': 'remote.ping'}
{'target_alias': u'access_ip1_v4', 'period': 60, 'label': 'Ping check for access_ip1_v4', 'details': {'count': 10}, 'timeout': 15, 'monitoring_zones_poll': ['mzdfw', 'mzord', 'mziad', 'mzlon', 'mzhkg', 'mzsyd'], 'type': 'remote.ping'}
{'target_alias': u'public0_v6', 'period': 60, 'label': 'Ping check for public0_v6', 'details': {'count': 10}, 'timeout': 15, 'monitoring_zones_poll': ['mzdfw', 'mzord', 'mziad', 'mzlon', 'mzhkg', 'mzsyd'], 'type': 'remote.ping'}
{'target_alias': u'private0_v4', 'period': 60, 'label': 'Ping check for private0_v4', 'details': {'count': 10}, 'timeout': 15, 'monitoring_zones_poll': ['mzdfw', 'mzord', 'mziad', 'mzlon', 'mzhkg', 'mzsyd'], 'type': 'remote.ping'}
{'target_alias': u'public1_v4', 'period': 60, 'label': 'Ping check for public1_v4', 'details': {'count': 10}, 'timeout': 15, 'monitoring_zones_poll': ['mzdfw', 'mzord', 'mziad', 'mzlon', 'mzhkg', 'mzsyd'], 'type': 'remote.ping'}
{'target_alias': u'access_ip0_v6', 'period': 60, 'label': 'Ping check for access_ip0_v6', 'details': {'count': 10}, 'timeout': 15, 'monitoring_zones_poll': ['mzdfw', 'mzord', 'mziad', 'mzlon', 'mzhkg', 'mzsyd'], 'type': 'remote.ping'}
{'target_alias': u'alvn0_v4', 'period': 60, 'label': 'Ping check for alvn0_v4', 'details': {'count': 10}, 'timeout': 15, 'monitoring_zones_poll': ['mzdfw', 'mzord', 'mziad', 'mzlon', 'mzhkg', 'mzsyd'], 'type': 'remote.ping'}
{'target_alias': u'access_ip1_v4', 'period': 60, 'label': 'Ping check for access_ip1_v4', 'details': {'count': 10}, 'timeout': 15, 'monitoring_zones_poll': ['mzdfw', 'mzord', 'mziad', 'mzlon', 'mzhkg', 'mzsyd'], 'type': 'remote.ping'}
{'target_alias': u'public0_v6', 'period': 60, 'label': 'Ping check for public0_v6', 'details': {'count': 10}, 'timeout': 15, 'monitoring_zones_poll': ['mzdfw', 'mzord', 'mziad', 'mzlon', 'mzhkg', 'mzsyd'], 'type': 'remote.ping'}
{'target_alias': u'private0_v4', 'period': 60, 'label': 'Ping check for private0_v4', 'details': {'count': 10}, 'timeout': 15, 'monitoring_zones_poll': ['mzdfw', 'mzord', 'mziad', 'mzlon', 'mzhkg', 'mzsyd'], 'type': 'remote.ping'}
{'target_alias': u'public1_v4', 'period': 60, 'label': 'Ping check for public1_v4', 'details': {'count': 10}, 'timeout': 15, 'monitoring_zones_poll': ['mzdfw', 'mzord', 'mziad', 'mzlon', 'mzhkg', 'mzsyd'], 'type': 'remote.ping'}
{'target_alias': u'access_ip0_v6', 'period': 60, 'label': 'Ping check for access_ip0_v6', 'details': {'count': 10}, 'timeout': 15, 'monitoring_zones_poll': ['mzdfw', 'mzord', 'mziad', 'mzlon', 'mzhkg', 'mzsyd'], 'type': 'remote.ping'}
{'target_alias': u'alvn0_v4', 'period': 60, 'label': 'Ping check for alvn0_v4', 'details': {'count': 10}, 'timeout': 15, 'monitoring_zones_poll': ['mzdfw', 'mzord', 'mziad', 'mzlon', 'mzhkg', 'mzsyd'], 'type': 'remote.ping'}
{'target_alias': u'access_ip1_v4', 'period': 60, 'label': 'Ping check for access_ip1_v4', 'details': {'count': 10}, 'timeout': 15, 'monitoring_zones_poll': ['mzdfw', 'mzord', 'mziad', 'mzlon', 'mzhkg', 'mzsyd'], 'type': 'remote.ping'}
{'target_alias': u'public0_v6', 'period': 60, 'label': 'Ping check for public0_v6', 'details': {'count': 10}, 'timeout': 15, 'monitoring_zones_poll': ['mzdfw', 'mzord', 'mziad', 'mzlon', 'mzhkg', 'mzsyd'], 'type': 'remote.ping'}
{'target_alias': u'private0_v4', 'period': 60, 'label': 'Ping check for private0_v4', 'details': {'count': 10}, 'timeout': 15, 'monitoring_zones_poll': ['mzdfw', 'mzord', 'mziad', 'mzlon', 'mzhkg', 'mzsyd'], 'type': 'remote.ping'}
{'target_alias': u'public1_v4', 'period': 60, 'label': 'Ping check for public1_v4', 'details': {'count': 10}, 'timeout': 15, 'monitoring_zones_poll': ['mzdfw', 'mzord', 'mziad', 'mzlon', 'mzhkg', 'mzsyd'], 'type': 'remote.ping'}
{'target_alias': u'access_ip0_v6', 'period': 60, 'label': 'Ping check for access_ip0_v6', 'details': {'count': 10}, 'timeout': 15, 'monitoring_zones_poll': ['mzdfw', 'mzord', 'mziad', 'mzlon', 'mzhkg', 'mzsyd'], 'type': 'remote.ping'}
{'target_alias': u'access_ip1_v4', 'period': 60, 'label': 'Ping check for access_ip1_v4', 'details': {'count': 10}, 'timeout': 15, 'monitoring_zones_poll': ['mzdfw', 'mzord', 'mziad', 'mzlon', 'mzhkg', 'mzsyd'], 'type': 'remote.ping'}
{'target_alias': u'public0_v6', 'period': 60, 'label': 'Ping check for public0_v6', 'details': {'count': 10}, 'timeout': 15, 'monitoring_zones_poll': ['mzdfw', 'mzord', 'mziad', 'mzlon', 'mzhkg', 'mzsyd'], 'type': 'remote.ping'}
{'target_alias': u'private0_v4', 'period': 60, 'label': 'Ping check for private0_v4', 'details': {'count': 10}, 'timeout': 15, 'monitoring_zones_poll': ['mzdfw', 'mzord', 'mziad', 'mzlon', 'mzhkg', 'mzsyd'], 'type': 'remote.ping'}
{'target_alias': u'public1_v4', 'period': 60, 'label': 'Ping check for public1_v4', 'details': {'count': 10}, 'timeout': 15, 'monitoring_zones_poll': ['mzdfw', 'mzord', 'mziad', 'mzlon', 'mzhkg', 'mzsyd'], 'type': 'remote.ping'}
{'target_alias': u'access_ip0_v6', 'period': 60, 'label': 'Ping check for access_ip0_v6', 'details': {'count': 10}, 'timeout': 15, 'monitoring_zones_poll': ['mzdfw', 'mzord', 'mziad', 'mzlon', 'mzhkg', 'mzsyd'], 'type': 'remote.ping'}
{'target_alias': u'alvn0_v4', 'period': 60, 'label': 'Ping check for alvn0_v4', 'details': {'count': 10}, 'timeout': 15, 'monitoring_zones_poll': ['mzdfw', 'mzord', 'mziad', 'mzlon', 'mzhkg', 'mzsyd'], 'type': 'remote.ping'}
{'target_alias': u'public0_v4', 'period': 60, 'label': 'Ping check for public0_v4', 'details': {'count': 10}, 'timeout': 15, 'monitoring_zones_poll': ['mzdfw', 'mzord', 'mziad', 'mzlon', 'mzhkg', 'mzsyd'], 'type': 'remote.ping'}
{'target_alias': u'access_ip1_v4', 'period': 60, 'label': 'Ping check for access_ip1_v4', 'details': {'count': 10}, 'timeout': 15, 'monitoring_zones_poll': ['mzdfw', 'mzord', 'mziad', 'mzlon', 'mzhkg', 'mzsyd'], 'type': 'remote.ping'}
{'target_alias': u'private0_v4', 'period': 60, 'label': 'Ping check for private0_v4', 'details': {'count': 10}, 'timeout': 15, 'monitoring_zones_poll': ['mzdfw', 'mzord', 'mziad', 'mzlon', 'mzhkg', 'mzsyd'], 'type': 'remote.ping'}
{'target_alias': u'public1_v6', 'period': 60, 'label': 'Ping check for public1_v6', 'details': {'count': 10}, 'timeout': 15, 'monitoring_zones_poll': ['mzdfw', 'mzord', 'mziad', 'mzlon', 'mzhkg', 'mzsyd'], 'type': 'remote.ping'}
{'target_alias': u'access_ip0_v6', 'period': 60, 'label': 'Ping check for access_ip0_v6', 'details': {'count': 10}, 'timeout': 15, 'monitoring_zones_poll': ['mzdfw', 'mzord', 'mziad', 'mzlon', 'mzhkg', 'mzsyd'], 'type': 'remote.ping'}
{'target_alias': u'alvn0_v4', 'period': 60, 'label': 'Ping check for alvn0_v4', 'details': {'count': 10}, 'timeout': 15, 'monitoring_zones_poll': ['mzdfw', 'mzord', 'mziad', 'mzlon', 'mzhkg', 'mzsyd'], 'type': 'remote.ping'}
{'target_alias': u'access_ip1_v4', 'period': 60, 'label': 'Ping check for access_ip1_v4', 'details': {'count': 10}, 'timeout': 15, 'monitoring_zones_poll': ['mzdfw', 'mzord', 'mziad', 'mzlon', 'mzhkg', 'mzsyd'], 'type': 'remote.ping'}
{'target_alias': u'public0_v6', 'period': 60, 'label': 'Ping check for public0_v6', 'details': {'count': 10}, 'timeout': 15, 'monitoring_zones_poll': ['mzdfw', 'mzord', 'mziad', 'mzlon', 'mzhkg', 'mzsyd'], 'type': 'remote.ping'}
{'target_alias': u'private0_v4', 'period': 60, 'label': 'Ping check for private0_v4', 'details': {'count': 10}, 'timeout': 15, 'monitoring_zones_poll': ['mzdfw', 'mzord', 'mziad', 'mzlon', 'mzhkg', 'mzsyd'], 'type': 'remote.ping'}
{'target_alias': u'public1_v4', 'period': 60, 'label': 'Ping check for public1_v4', 'details': {'count': 10}, 'timeout': 15, 'monitoring_zones_poll': ['mzdfw', 'mzord', 'mziad', 'mzlon', 'mzhkg', 'mzsyd'], 'type': 'remote.ping'}
>>> ^D

This example creates load average checks then creates alarms for those checks

aluminum13:deacon$ python
Python 2.7.3 (default, Oct 22 2012, 06:12:28)
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> from deacon.console import *
>>> for e in get_entities()['values']:
...     create_load_average_check(e['id'])
...
'https://monitoring.api.rackspacecloud.com/v1.0/xxxxxx/entities/en39PNSYuy/checks/chdtzrsn5n'
'https://monitoring.api.rackspacecloud.com/v1.0/xxxxxx/entities/en9SlBPL18/checks/chlWrvKQtY'
'https://monitoring.api.rackspacecloud.com/v1.0/xxxxxx/entities/enACj4ASei/checks/ch2zc90RrQ'
'https://monitoring.api.rackspacecloud.com/v1.0/xxxxxx/entities/enB7HpTnyX/checks/chUcbp4W4r'
'https://monitoring.api.rackspacecloud.com/v1.0/xxxxxx/entities/eneoftdl90/checks/chDD54W4cu'
'https://monitoring.api.rackspacecloud.com/v1.0/xxxxxx/entities/envQh1t1BX/checks/chh1WCkEeF'
'https://monitoring.api.rackspacecloud.com/v1.0/xxxxxx/entities/enz9bF86Rf/checks/chSArBny5X'
>>> for e in get_entities()['values']:
...     for c in list_checks(e['id'])['values']:
...         if c['type'] == 'agent.load_average':
...             create_load_average_alarm(e['id'], c['id'], 'npXXXXXXXX')
...
'https://monitoring.api.rackspacecloud.com/v1.0/xxxxxx/entities/en39PNSYuy/alarms/aluWnWLDcq'
'https://monitoring.api.rackspacecloud.com/v1.0/xxxxxx/entities/en9SlBPL18/alarms/alUZQFLqw1'
'https://monitoring.api.rackspacecloud.com/v1.0/xxxxxx/entities/enACj4ASei/alarms/alsehZKA6f'
'https://monitoring.api.rackspacecloud.com/v1.0/xxxxxx/entities/enB7HpTnyX/alarms/alfYqkPFia'
'https://monitoring.api.rackspacecloud.com/v1.0/xxxxxx/entities/eneoftdl90/alarms/aluRqhhmnC'
'https://monitoring.api.rackspacecloud.com/v1.0/xxxxxx/entities/envQh1t1BX/alarms/alludq89ww'
'https://monitoring.api.rackspacecloud.com/v1.0/xxxxxx/entities/enz9bF86Rf/alarms/alJNkHOYA1'
>>>

This example updates the count on all your ping checks

aluminum13:deacon$ python
Python 2.7.3 (default, Oct 22 2012, 06:12:28)
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> from deacon.console import *
>>> for e in get_entities()['values']:
...     for c in list_checks(e['id'])['values']:
...             if c['type'] == 'remote.ping':
...                     update_check(e['id'], c['id'], {"details": { "count": 5 }})
...
True
True
True
True
True
True
True

About

Deacon helps you attend MaaS (Monitoring as a Service)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages