Skip to content

Instantly share code, notes, and snippets.

@ridingintraffic
Last active October 5, 2018 01:37
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ridingintraffic/58cad97660dc2486eba8df306f2af90a to your computer and use it in GitHub Desktop.
Save ridingintraffic/58cad97660dc2486eba8df306f2af90a to your computer and use it in GitHub Desktop.
rainforest automation python script
#!/usr/bin/env python
from raven import raven
from raven import _version
import argparse
import logging as log
from splunk_hec_handler import SplunkHecHandler
#splunk hec collector info
token = "<your splunk token>"
splunkhost="<your splunk ip>"
def splunkHec(host, token, logdata):
logger = log.getLogger('SplunkHecHandlerExample')
logger.setLevel(log.DEBUG)
stream_handler = log.StreamHandler()
stream_handler.level = log.DEBUG
logger.addHandler(stream_handler)
splunk_handler = SplunkHecHandler(host, token, index="default",
port=8088, proto='http', ssl_verify=False,
source="power", sourcetype='_json ')
logger.addHandler(splunk_handler)
payload = {}
payload.update({"index":"default"})
payload.update({"sourcetype":"_json"})
payload.update({"source":"power"})
payload.update({"host":"gate"})
payload.update({"event":logdata})
#print payload
logger.debug(payload)
def main():
parser = argparse.ArgumentParser(prog="raven",
description="Interrogate the RAVEn USB IHD")
parser.add_argument('--port', '-p',
help='Serial port of the USB stick [/dev/ttyUSB0]',
default="/dev/ttyUSB0")
parser.add_argument('--limit', '-l',
help='Count of events to consume before stopping [1000]',
default=1000)
parser.add_argument('--version', '-V',
action='version',
version='%(prog)s {version}'.format(version=_version.__version__))
args = parser.parse_args()
raven_usb = raven.Raven("/dev/ttyUSB0")
print(raven_usb.get_connection_status())
print(raven_usb.get_summation_delivered())
# just wait for a while, because the scheduler inside the stick delivers
# instantaneous demand automatically
limit = int(vars(args)['limit']) or -1
while limit < 0 or limit > 0:
temp=raven_usb.long_poll_result()
#print(temp)
splunkHec(splunkhost, token, temp)
if limit > 0:
limit -= 1
if __name__ == "__main__":
main()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment