Kernel system control information¶
Shared parsers for parsing file /etc/sysctl.conf
and command sysctl -a
.
Parsers included in this module are:
Sysctl - command sysctl -a
¶
SysctlConf - file /etc/sysctl.conf
¶
SysctlConfInitramfs - command lsinitrd
¶
-
class
insights.parsers.sysctl.
Sysctl
(context, extra_bad_lines=[])[source]¶ Bases:
insights.core.LegacyItemAccess
,insights.core.CommandParser
Parse the output of sysctl -a command.
Sample input:
kernel.domainname = example.com kernel.modprobe = /sbin/modprobe
Examples
>>> type(sysctl) <class 'insights.parsers.sysctl.Sysctl'> >>> sysctl['kernel.domainname'] 'example.com' >>> sysctl.get('kernel.modprobe') '/sbin/modprobe' >>> 'kernel.modules_disabled' in sysctl False
-
class
insights.parsers.sysctl.
SysctlConf
(context)[source]¶ Bases:
insights.core.Parser
Parse /etc/sysctl.conf file
Sample input:
# sysctl.conf sample # kernel.domainname = example.com ; this one has a space which will be written to the sysctl! kernel.modprobe = /sbin/mod probe
-
data
¶ Dictionary containing key/value pairs for the lines in the configuration file. Dictionary is in order keywords first appear in the lines.
- Type
OrderedDict
Examples
>>> type(sysctl_conf) <class 'insights.parsers.sysctl.SysctlConf'> >>> sysctl_conf.data['kernel.domainname'] 'example.com' >>> sysctl_conf.data['kernel.modprobe'] '/sbin/mod probe'
-
-
class
insights.parsers.sysctl.
SysctlConfInitramfs
(context, extra_bad_lines=[])[source]¶ Bases:
insights.core.CommandParser
,insights.core.LogFileOutput
Shared parser for the output of
lsinitrd
applied to kdump initramfs images to viewsysctl.conf
andsysctl.d
configurations.For now, the file is treated as raw lines (as a
LogFileOutput
parser. This is because the output of the command, applied to multiple files to examine multiple files does not seem to be unambiguously parsable.Since the only plugins requiring the file to date “grep out” certain strings, this approach will suffice.
Note
Please refer to its super-class
insights.core.LogFileOutput
Sample input:
initramfs:/etc/sysctl.conf ======================================================================== # sysctl settings are defined through files in # /usr/lib/sysctl.d/, /run/sysctl.d/, and /etc/sysctl.d/. # # Vendors settings live in /usr/lib/sysctl.d/. # To override a whole file, create a new file with the same in # /etc/sysctl.d/ and put new settings there. To override # only specific settings, add a file with a lexically later # name in /etc/sysctl.d/ and put new settings there. # # For more information, see sysctl.conf(5) and sysctl.d(5). fs.inotify.max_user_watches=524288 ======================================================================== initramfs:/etc/sysctl.d/*.conf ======================================================================== ========================================================================
Examples
>>> type(sysctl_initramfs) <class 'insights.parsers.sysctl.SysctlConfInitramfs'> >>> sysctl_initramfs.get('max_user_watches') [{'raw_message': 'fs.inotify.max_user_watches=524288'}]