PNG  IHDR;IDATxܻn0K )(pA 7LeG{ §㻢|ذaÆ 6lذaÆ 6lذaÆ 6lom$^yذag5bÆ 6lذaÆ 6lذa{ 6lذaÆ `}HFkm,mӪôô! x|'ܢ˟;E:9&ᶒ}{v]n&6 h_tڠ͵-ҫZ;Z$.Pkž)!o>}leQfJTu іچ\X=8Rن4`Vwl>nG^is"ms$ui?wbs[m6K4O.4%/bC%t Mז -lG6mrz2s%9s@-k9=)kB5\+͂Zsٲ Rn~GRC wIcIn7jJhۛNCS|j08yiHKֶۛkɈ+;SzL/F*\Ԕ#"5m2[S=gnaPeғL lذaÆ 6l^ḵaÆ 6lذaÆ 6lذa; _ذaÆ 6lذaÆ 6lذaÆ RIENDB` # Copyright (C) 2024 Marcin Wilk # # This file is part of the sos project: https://github.com/sosreport/sos # # This copyrighted material is made available to anyone wishing to use, # modify, copy, or redistribute it subject to the terms and conditions of # version 2 of the GNU General Public License. # # See the LICENSE file in the source distribution for further information. from sos.report.plugins import Plugin, IndependentPlugin class Telegraf(Plugin, IndependentPlugin): short_desc = 'Telegraf, the metric collecting tool, plugin' plugin_name = "telegraf" profiles = ('observability',) services = ('telegraf',) files = ( '/etc/telegraf/', '/etc/default/telegraf', ) def setup(self): # Collect data from 'files' var super().setup() # collect logs in addition to the above if self.get_option("all_logs"): self.add_copy_spec([ "/var/log/telegraf/", ]) else: self.add_copy_spec([ "/var/log/telegraf/*.log", ]) def postproc(self): protect_keys = [ "password", "token", "pwd", ] telegraf_path_exps = [ "/etc/telegraf/*", "/etc/default/telegraf", ] match_exp = fr"(^\s*(.*({'|'.join(protect_keys)}))\s*=\s*)(.*)" # Obfuscate passwords and keys self.do_path_regex_sub(fr"({'|'.join(telegraf_path_exps)})", match_exp, r"\1*********") # Obfuscate certs self.do_file_private_sub(telegraf_path_exps[0]) # vim: et ts=4 sw=4