RosConfig - file /var/lib/pcp/config/pmlogger/config.ros

This class provides parsing for the files:

/var/lib/pcp/config/pmlogger/config.ros

class insights.parsers.ros_config.RosConfig(context)[source]

Bases: insights.core.Parser

Sample input data is in the format:

log mandatory on default {
    mem.util.used
    mem.physmem
    kernel.all.cpu.user
    kernel.all.cpu.sys
    kernel.all.cpu.nice
    kernel.all.cpu.steal
    kernel.all.cpu.idle
    kernel.all.cpu.wait.total
    disk.all.total
    mem.util.cached
    mem.util.bufmem
    mem.util.free
}
[access]
disallow .* : all;
disallow :* : all;
allow local:* : enquire;

Examples

>>> type(ros_input)
<class 'insights.parsers.ros_config.RosConfig'>
>>> ros_input.rules[0]['allow_disallow']
'disallow'
>>> ros_input.rules[0]['hostlist']
['.*']
>>> ros_input.rules[0]['operationlist']
['all']
>>> ros_input.specs[0].get('state')
'mandatory on'
>>> ros_input.specs[0].get('metrics')['mem.util.used']
[]
>>> ros_input.specs[0].get('metrics')['kernel.all.cpu.user']
[]
>>> ros_input.specs[0].get('logging_interval')
'default'
data

All parsed options and log files are stored in this list.

Type

list

specs

List of the ROS specifications present in config.ros file.

Type

list of dicts

rules

List of access control rules applied for config.ros file.

Type

list of dicts

parse_content(content)[source]

This method must be implemented by classes based on this class.