check_mk 之 Check Parameters

配置检测参数有几下方法

1. Creating manual checks instead of inventorized checks (using the variable checks).
2. Using the config variable check_parameters.
3. Setting check specific global default values.
4. using a check specific special configuration such as filesystem_levels.

manual check

在main.mk文件中配置条目.条目中的变量是list 或者tuple类型. 条目包括:Host specification,check type,check item,check parameter.
1. Host specification
checks = [
 ( "abc123", "df", "/var", (80.0, 90.0) ),
 ( "abc123", "df", "/tmp", (90.0, 95.0) ),
]

# host list 
checks = [
 ( ["abc123", "def456"], "df", "/var", (80.0, 90.0) ),
]

# list of tags
all_hosts = [
 "abc123|lnx",
 "def456|lnx",
 "xyz987|win",
]

checks = [
 ( ["lnx"], ALL_HOSTS, "df", "/var", (80.0, 90.0) ),
]

# all hosts
checks = [
 ( ALL_HOSTS, "df", "/var", (80.0, 90.0) ),
]

2. Check type
cmk -L

3. Check item
有些类型没有item,如mem,必须指定None
checks = [
 ( "abc123", "mem", None, (80.0, 120.0) ),
]

#Table of check types 
https://mathias-kettner.de/checkmk_checks.html

4. check parameter
有执行次序,后面的覆写前面的,如
checks = [
 # All hosts with Tag 'lnx' get levels 10 and 20...
 ( ["lnx"], ALL_HOSTS, "cpu.loads", None, (10, 20) ),

 # ...but sv01 and sv02 get levels 5 and 10
 ( ["sv01", "sv01"], "cpu.loads", None, ( 5, 10) ),
]

处理方式

1. 假如定义了manual check,则不管其他方式定义的参数。
2. 假如inventory建立完check,使用rules方式定义参数有效。
3. 假如使用rules方式定义参数没有生效,下次的inventory可以设置参数。
4. 假如没有参数确定,将使用main.mk里的system wide default levels
5. 最后使用代码里的global default parameters

Rule based check parameters

Each entry in check_parameters is a tuple with up to four columns:
1. The check parameters to be set for the rule (e.g. warning and critical levels)
2. Optional: list of tags the hosts must have
3. List of hosts matched by the entry, or ALL_HOSTS
4. List of service patterns (regular expressions) that must match the beginning of the service name in question.

check_parameters = [
 # (1) Filesystem C: on winsrv02 gets levels (92, 96)
 ( (92, 96), [ "winsrv02" ], [ "fs_C:" ]),

 # (2) Filesystems on hosts with tag 'sap' and 'test' are always OK
 ( (101, 101), [ 'sap', 'test' ], ALL_HOSTS, [ "fs_"]),

 # (3) Levels for filesystems below /sap (also /saptrans, /saptest)
 ( (80, 95), ALL_HOSTS, [ "fs_/sap" ]),

 # (4) Levels for filesystems /var and /tmp on all hosts
 ( (90, 95), ALL_HOSTS, [ "fs_/var$", "fs_/tmp$" ] ),

 # (5) Set levels for all remaining file systems to 80% / 90%
 ( (80, 90), ALL_HOSTS, [ "fs_" ] ),
]

# $表示未尾

你可能感兴趣的:(parameter)