Add sosreport support to Tower

This commit is contained in:
Matthew Jones 2014-08-11 15:09:17 -04:00
parent a20460db4d
commit f0b1546653
4 changed files with 83 additions and 0 deletions

View File

@ -21,6 +21,7 @@ include awx/ui/static/js/config.js
include tools/scripts/request_tower_configuration.sh
include tools/scripts/ansible-tower
include tools/munin_monitors/*
include tools/sosreport/*
include COPYING
prune awx/public
prune awx/projects

View File

@ -22,10 +22,18 @@ munin_plugin_conf_path = "/etc/munin/plugin-conf.d"
if os.path.exists("/etc/debian_version"):
sysinit = "/etc/init.d"
webconfig = "/etc/apache2/conf.d"
sosconfig = "/usr/share/sosreport/sos/plugins"
sosfile = "tower-sos3.py
shutil.copy("config/awx-munin-ubuntu.conf", "config/awx-munin.conf")
else:
sysinit = "/etc/rc.d/init.d"
webconfig = "/etc/httpd/conf.d"
if os.path.exists("/usr/lib/python2.7/site-packages"):
sosconfig = "/usr/lib/python2.7/site-packages/sos/plugins"
sosfile = "tower-sos3.py
else:
sosconfig = "/usr/lib/python2.6/site-packages/sos/plugins"
sosfile = "tower-sos2.py"
shutil.copy("config/awx-munin-el.conf", "config/awx-munin.conf")
#####################################################################
@ -214,6 +222,7 @@ setup(
"tools/munin_monitors/taskmanager_alive"]),
("%s" % munin_plugin_conf_path, ["config/awx_munin_tower_jobs"]),
("%s" % sysinit, ["tools/scripts/ansible-tower"]),
("%s" % sosconfig, ["tools/sosreport/%s" % sosfile]),
]
),
options = {

View File

@ -0,0 +1,36 @@
# Copyright (c) 2014 Ansible, Inc.
# All Rights Reserved.
import sos.plugintools
class tower(sos.plugintools.PluginBase):
'''Tower SOS plugin'''
def setup(self):
commands = [
"ansible --version", # ansible core version
"awx-manage --version", # tower version
"supervisorctl status", # tower process status
"tree -d /var/lib/awx", # show me the dirs
"ls -ll /var/lib/awx", # check permissions
"ls -ll /etc/awx"
]
dirs = [
"/etc/awx/",
"/var/log/supervisor/",
"/var/log/syslog",
"/var/log/udev",
"/var/log/kern*",
"/var/log/dist-upgrade",
"/var/log/installer",
"/var/log/unattended-upgrades",
"/var/log/apport.log"
]
for path in dirs:
self.addCopySpec(path)
for command in commands:
self.collectExtOutput(command)

View File

@ -0,0 +1,37 @@
# Copyright (c) 2014 Ansible, Inc.
# All Rights Reserved.
from sos.plugins import Plugin, RedHatPlugin, UbuntuPlugin
class tower(Plugin, RedHatPlugin, UbuntuPlugin):
'''Tower SOS plugin'''
plugin_name = "tower"
def setup(self):
commands = [
"ansible --version", # ansible core version
"awx-manage --version", # tower version
"supervisorctl status", # tower process status
"tree -d /var/lib/awx", # show me the dirs
"ls -ll /var/lib/awx", # check permissions
"ls -ll /etc/awx"
]
dirs = [
"/etc/awx/",
"/var/log/supervisor/",
"/var/log/syslog",
"/var/log/udev",
"/var/log/kern*",
"/var/log/dist-upgrade",
"/var/log/installer",
"/var/log/unattended-upgrades",
"/var/log/apport.log"
]
for path in dirs:
self.add_copy_spec(path)
for command in commands:
self.collect_ext_output(command)