mirror of
https://github.com/Security-Onion-Solutions/securityonion.git
synced 2025-12-06 17:22:49 +01:00
add modules to be used in monitoring - https://github.com/Security-Onion-Solutions/securityonion-saltstack/issues/90
This commit is contained in:
22
salt/_modules/healthcheck.py
Normal file
22
salt/_modules/healthcheck.py
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
#!py
|
||||||
|
|
||||||
|
import logging
|
||||||
|
|
||||||
|
def docker_restart(container, state):
|
||||||
|
stopdocker = __salt__['docker.rm'](container, 'force=True')
|
||||||
|
__salt__['state.apply'](state)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
def zeek():
|
||||||
|
|
||||||
|
retcode = __salt__['zeekctl.status'](verbose=False)
|
||||||
|
logging.info('zeekctl.status retcode: %i' % retcode)
|
||||||
|
if retcode:
|
||||||
|
docker_restart('so-zeek', 'zeek')
|
||||||
|
zeek_restarted = True
|
||||||
|
else:
|
||||||
|
zeek_restarted = False
|
||||||
|
|
||||||
|
__salt__['telegraf.send']('healthcheck zeek_restarted: %s' % str(zeek_restarted))
|
||||||
|
return 'zeek_restarted: %s' % str(zeek_restarted)
|
||||||
16
salt/_modules/telegraf.py
Normal file
16
salt/_modules/telegraf.py
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
#!py
|
||||||
|
|
||||||
|
import logging
|
||||||
|
import socket
|
||||||
|
|
||||||
|
|
||||||
|
def send(data):
|
||||||
|
|
||||||
|
mainint = __salt__['pillar.get']('node:mainint')
|
||||||
|
mainip = __salt__['grains.get']('ip_interfaces').get(mainint)[0]
|
||||||
|
dstport = 8094
|
||||||
|
|
||||||
|
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
|
||||||
|
sent = sock.sendto(data.encode('utf-8'), (mainip, dstport))
|
||||||
|
|
||||||
|
return sent
|
||||||
@@ -134,10 +134,13 @@ def start():
|
|||||||
return retval
|
return retval
|
||||||
|
|
||||||
|
|
||||||
def status():
|
def status(verbose=True):
|
||||||
|
|
||||||
cmd = "runuser -l zeek -c '/opt/zeek/bin/zeekctl status'"
|
cmd = "runuser -l zeek -c '/opt/zeek/bin/zeekctl status'"
|
||||||
retval = __salt__['docker.run']('so-zeek', cmd)
|
retval = __salt__['docker.run']('so-zeek', cmd)
|
||||||
|
if not verbose:
|
||||||
|
retval = __context__['retcode']
|
||||||
|
|
||||||
return retval
|
return retval
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -187,6 +187,8 @@ so-telegraf:
|
|||||||
- HOST_SYS=/host/sys
|
- HOST_SYS=/host/sys
|
||||||
- HOST_MOUNT_PREFIX=/host
|
- HOST_MOUNT_PREFIX=/host
|
||||||
- network_mode: host
|
- network_mode: host
|
||||||
|
- port_bindings:
|
||||||
|
- 127.0.0.1:8094:8094
|
||||||
- binds:
|
- binds:
|
||||||
- /opt/so/log/telegraf:/var/log/telegraf:rw
|
- /opt/so/log/telegraf:/var/log/telegraf:rw
|
||||||
- /opt/so/conf/telegraf/etc/telegraf.conf:/etc/telegraf/telegraf.conf:ro
|
- /opt/so/conf/telegraf/etc/telegraf.conf:/etc/telegraf/telegraf.conf:ro
|
||||||
|
|||||||
@@ -2053,6 +2053,9 @@
|
|||||||
# ## more about them here:
|
# ## more about them here:
|
||||||
# ## https://github.com/influxdata/telegraf/blob/master/docs/DATA_FORMATS_INPUT.md
|
# ## https://github.com/influxdata/telegraf/blob/master/docs/DATA_FORMATS_INPUT.md
|
||||||
# # data_format = "influx"
|
# # data_format = "influx"
|
||||||
|
[[inputs.socket_listener]]
|
||||||
|
service_address = "udp://:8094"
|
||||||
|
data_format = "influx"
|
||||||
|
|
||||||
|
|
||||||
# # Statsd UDP/TCP Server
|
# # Statsd UDP/TCP Server
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
INFLUXSIZE=$(du -s -B1 /host/nsm/influxdb | awk {'print $1'}
|
INFLUXSIZE=$(du -s -B1 /host/nsm/influxdb | awk {'print $1'})
|
||||||
|
|
||||||
echo "influxsize bytes=$INFLUXSIZE"
|
echo "influxsize bytes=$INFLUXSIZE"
|
||||||
|
|||||||
Reference in New Issue
Block a user