Skip to content

Commit

Permalink
[grafana] generic logic applied to collect
Browse files Browse the repository at this point in the history
Closes: sosreport#3278

Signed-off-by: Pravesh Gaire <[email protected]>
  • Loading branch information
GairePravesh committed Aug 16, 2023
1 parent 7c567ea commit a424966
Showing 1 changed file with 30 additions and 42 deletions.
72 changes: 30 additions & 42 deletions sos/report/plugins/grafana.py
Original file line number Diff line number Diff line change
Expand Up @@ -28,37 +28,31 @@ def _is_snap_installed(self):
def setup(self):
self._is_snap = self._is_snap_installed()
if self._is_snap:
self.add_cmd_output([
'snap info grafana',
'grafana.grafana-cli plugins ls',
'grafana.grafana-cli plugins list-remote'
])
if self.get_option("all_logs"):
self.add_copy_spec([
"/var/snap/grafana/common/data/log/grafana.log*",
])
else:
self.add_copy_spec([
"/var/snap/grafana/common/data/log/grafana.log"
])
self.add_copy_spec("/var/snap/grafana/current/conf/grafana.ini")
grafana_cli = "grafana.grafana-cli"
log_path = "/var/snap/grafana/common/data/log/"
config_path = "/var/snap/grafana/current/conf/grafana.ini"

else:
if self.get_option("all_logs"):
self.add_copy_spec("/var/log/grafana/*.log*")
else:
self.add_copy_spec("/var/log/grafana/*.log")
grafana_cli = "grafana-cli"
log_path = "/var/log/grafana/"
config_path = "/etc/grafana/"

add_cmds = [
f'{grafana_cli} plugins ls',
f'{grafana_cli} plugins list-remote',
'snap info grafana' if self._is_snap else None,
f'{grafana_cli} -v' if not self._is_snap else None,
'grafana-server -v' if not self._is_snap else None
]
self.add_cmd_output(list(filter(None, add_cmds)))

self.add_cmd_output([
"grafana-cli plugins ls",
"grafana-cli plugins list-remote",
"grafana-cli -v",
"grafana-server -v",
])
log_file_pattern = "*.log*" if self.get_option("all_logs") else "*.log"

self.add_copy_spec([
"/etc/grafana/",
"/etc/sysconfig/grafana-server",
])
self.add_copy_spec([
log_path + log_file_pattern,
config_path,
"/etc/sysconfig/grafana-server" if not self._is_snap else None
])

def postproc(self):
protect_keys = [
Expand All @@ -67,17 +61,11 @@ def postproc(self):
"password",
"client_secret"
]
if self._is_snap:
regexp = r"((?m)^\s*(%s)\s*=\s*)(.*)" % "|".join(protect_keys)
self.do_path_regex_sub(
"/var/snap/grafana/current/conf/grafana.ini",
regexp,
r"\1*********"
)
else:
regexp = r"((?m)^\s*(%s)\s*=\s*)(.*)" % "|".join(protect_keys)
self.do_path_regex_sub(
"/etc/grafana/grafana.ini",
regexp,
r"\1*********"
)
inifile = (
"/var/snap/grafana/current/conf/grafana.ini"
if self._is_snap
else "/etc/grafana/grafana.ini"
)

regexp = r"((?m)^\s*(%s)\s*=\s*)(.*)" % "|".join(protect_keys)
self.do_path_regex_sub(inifile, regexp, r"\1*********")

0 comments on commit a424966

Please sign in to comment.