summaryrefslogtreecommitdiffstats
path: root/itl/plugins-contrib.d/operating-system.conf
blob: 41a46e8f94514aaf9f2449e07d8dbb9c01a8236f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
/* Icinga 2 | (c) 2012 Icinga GmbH | GPLv2+ */

object CheckCommand "mem" {
	command = [ PluginContribDir + "/check_mem.pl" ]

	arguments = {
		"-u" = {
			set_if = "$mem_used$"
			description = "Check USED memory"
		}
		"-a" = {
			set_if = "$mem_available$"
			description = "Check AVAILABLE memory"
		}
		"-f" = {
			set_if = "$mem_free$"
			description = "Check FREE memory"
		}
		"-C" = {
			set_if = "$mem_cache$"
			description = "Count OS caches as FREE memory"
		}
		"-w" = {
			value = "$mem_warning$"
			description = "Percent free/used when to warn"
		}
		"-c" = {
			value = "$mem_critical$"
			description = "Percent free/used when critical"
		}
	}

	vars.mem_used = false
	vars.mem_free = false
	vars.mem_available = false
	vars.mem_cache = false
}

object CheckCommand "sar-perf" {
	command = [ PluginContribDir + "/check_sar_perf.py" ]

	arguments = {
		"sar_perf_profile" = {
			value = "$sar_perf_profile$"
			description = "Define the run profile: pagestat, cpu, memory_util, memory_stat, io_transfer, queueln_load, swap_util, swap_stat, task, kernel, disk <disk>. Can be a string or an array of multiple profiles."
			skip_key = true
			repeat_key = false
			required = true
		}
		"sar_perf_disk" = {
			value = "$sar_perf_disk$"
			set_if = {{ macro("$sar_perf_profile$") == "disk" }}
			description = "Disk name for the 'disk' profile"
			skip_key = true
		}
	}
}

object CheckCommand "running_kernel" {
	command = {{
		var use_sudo = macro("$running_kernel_use_sudo$")

		if (use_sudo == null && PlatformName == "Ubuntu") {
			use_sudo = true
		}

		var args

		if (use_sudo) {
			args = [ "sudo" ]
		} else {
			args = []
		}

		args += [ PluginContribDir + "/check_running_kernel" ]

		return args
	}}
}

object CheckCommand "yum" {
	command = [ PluginContribDir + "/check_yum" ]

	arguments = {
		"--all-updates" = {
			set_if = "$yum_all_updates$"
			description = "Do not distinguish between security and non-security updates. This may be used if the YUM security plugin is absent."
		}
		"--warn-on-any-update" = {
			set_if = "$yum_warn_on_any_update$"
			description = "Warns if there are any (non-security) package updates available."
		}
		"--cache-only" = {
			set_if = "$yum_cache_only$"
			description = "Run entirely from cache and do not update the cache."
		}
		"--no-warn-on-lock" = {
			set_if = "$yum_no_warn_on_lock$"
			description = "Return OK instead of WARNING when YUM is locked."
		}
		"--no-warn-on-updates" = {
			set_if = "$yum_no_warn_on_updates$"
			description = "Return OK instead of WARNING even when updates are available."
		}
		"--enablerepo" = {
			value = "$yum_enablerepo$"
			description = "Explicitly enables a reposity when calling YUM. Can take a comma separated list of repositories."
		}
		"--disablerepo" = {
			value = "$yum_disablerepo$"
			description = "Explicitly disables a reposity when calling YUM. Can take a comma separated list of repositories."
		}
		"--installroot" = {
			value = "$yum_installroot$"
			description = "Specifies another installation root directory"
		}
		"--timeout" = {
			value = "$yum_timeout$"
			description = "Sets a timeout in seconds after which the plugin will exit (defaults to 55 seconds)."
		}
	}

	vars.yum_all_updates = false
	vars.yum_warn_on_any_update = false
	vars.yum_cache_only = false
	vars.yum_no_warn_on_lock = false
	vars.yum_no_warn_on_updates = false

	timeout = 5m
}

object CheckCommand "iostat" {
	command = [ PluginContribDir + "/check_iostat" ]

	arguments = {
		"-d" = {
			value = "$iostat_disk$"
			description = "Device to check without path. e.g. sda"
		}
		"-w" = {
			value ="$iostat_wtps$,$iostat_wread$,$iostat_wwrite$"
			description = "warning threshold for tps, KB_read/s and KB_written/s"
		}
		"-c" = {
			value ="$iostat_ctps$,$iostat_cread$,$iostat_cwrite$"
			description = "warning threshold for tps, KB_read/s and KB_written/s"
		}
	}

	vars.iostat_disk = "sda"
	vars.iostat_wtps = 100
	vars.iostat_wread = 100
	vars.iostat_wwrite = 100
	vars.iostat_ctps = 200
	vars.iostat_cread = 200
	vars.iostat_cwrite = 200
}

object CheckCommand "iostats" {
        command = [ PluginContribDir + "/check_iostats" ]

        arguments = {
                "-d" = {
                        value = "$iostats_disk$"
                        description = "Device to check without path. e.g. sda"
                }
                "-w" = {
                        value ="$iostats_warning_tps$,$iostats_warning_read$,$iostats_warning_write$"
                        description = "Sets the WARNING level for tps, KB_read/s and KB_written/s, respectively"
                }
                "-c" = {
                        value ="$iostats_critical_tps$,$iostats_critical_read$,$iostats_critical_write$"
                        description = "Sets the CRITICAL level for tps, KB_read/s and KB_written/s, respectively"
                }
                "-W" = {
                        value ="$iostats_warning_wait$"
                        description = "Sets the WARNING level for iowait"
                }

                "-C" = {
                        value ="$iostats_critical_wait$"
                        description = "Sets the CRITICAL level for iowait"
                }
        }

        vars.iostats_disk = "sda"
        vars.iostats_warning_tps = 3000
        vars.iostats_warning_read = 50000
        vars.iostats_warning_write = 10000
        vars.iostats_warning_wait = 50
        vars.iostats_critical_tps = 5000
        vars.iostats_critical_read = 80000
        vars.iostats_critical_write = 25000
        vars.iostats_critical_wait = 80
}