配置检测参数有几下方法
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_" ] ),
]
# $表示未尾