Commit graph

2617 commits

Author SHA1 Message Date
Thomas Guyot-Sionnest
f45adede7d Fix snmpd tests 2014-01-31 12:30:11 -05:00
Thomas Guyot-Sionnest
1dd0e4c963 Enable tests in tests/ subdirs 2014-01-31 08:54:44 -05:00
Stephane Lapie
35811848da Handle negative values properly with check_snmp
check_snmp becomes capable of evaluating negative values properly,
but it might be returning CRITICALs where it used to return OK and was ignored,
if a negative value turns out to actually be a valid value.
If negative values are valid, this can be worked around,
by adding "~:" to the warning/critical threshold : 100 -> ~:100
2014-01-31 00:49:18 -05:00
Thomas Guyot-Sionnest
c4e3cd6efd Add tests for negative thresholds in check_snmp
Next commit will work on fixing these!
2014-01-31 00:48:49 -05:00
Thomas Guyot-Sionnest
bc92b93920 Add tests for negative thresholds in test_utils 2014-01-31 00:04:23 -05:00
Holger Weiss
4a2a725465 check_dig: Declare variable at the top
C89 doesn't allow variable declarations to be intermingled with code.
2014-01-30 19:51:46 +01:00
Jan Wagner
e33ecc84c7 check_dig: stick with integer devision
This change saves us from having to link check_dig against "libm"
2014-01-30 11:28:19 +01:00
Jan Wagner
2aa6ce2844 check_dig: timeout_interval is a global variable
which is already set to 10 seconds
2014-01-30 11:28:09 +01:00
Jan Wagner
df53473d03 check_dig: patch to make dig honor -t option
When a timeout value is specified with the -t option, dig will sometimes
timeout before the timer is actually reached.

The problem occurs because the check_dig plugin does not pass the specified
timeout value to dig, leaving dig to timeout with it's default value which
seems to be around 10-15seconds.

To reproduce:
time ./check_dig -H 127.0.0.2 -l www.google.com -t 30

It will not run for 30secs, which is the expected behaviour.

The following will work, because the timeout is less than the default dig
timeout, so the plugin cancels the dig command:
time ./check_dig -H 127.0.0.2 -l www.google.com -t 2

This fix passes the timeout value to dig, and sets the number of retries which tends to vary from system to system by default.

Closes #1168
2014-01-30 11:07:22 +01:00
Thomas Guyot-Sionnest
7310030ae7 Add tests for mp_translate_state() 2014-01-29 22:03:04 -05:00
Jan Wagner
2dc150da81 check_mailq: adding nullmailer support
Adding nullmailer support to check_mailq submitted by Luca Corti

Closes: #740
Closes: #1189
2014-01-29 13:45:36 +01:00
Jan Wagner
297d0535c2 Just fixing small typo in comment 2014-01-29 10:12:31 +01:00
Thomas Guyot-Sionnest
813c02364f Update check_swap usage 2014-01-29 03:59:48 -05:00
Thomas Guyot-Sionnest
44485ddee2 AUpdate .gitignore for new gnulib module 2014-01-29 03:48:24 -05:00
Thomas Guyot-Sionnest
7afbca0b8c check_swap: add supports for a configurable state when there is no swap
Check_swap used to allow no swap when thresholds were only specified in
percent. This is no longer the case and the state now must be specified
explicitly. The default is to always return CRITICAL when the swap is
absent regardless of thresholds.
2014-01-29 03:40:11 -05:00
Thomas Guyot-Sionnest
8fc9e5ac4b Move negate' translate_state() to utils_base.h mp_translate_state()
Also use strcasecmp imported from gnulib for simplicity
2014-01-29 03:20:23 -05:00
Thomas Guyot-Sionnest
55f97c2021 Add strcase gnulib module 2014-01-29 03:04:05 -05:00
Thomas Guyot-Sionnest
fc9fbe1e89 Typo 2014-01-29 02:16:47 -05:00
Thomas Guyot-Sionnest
6f2d545244 Fix check_swap returning OK on & thresholds and no swap
Return 0% free instead of 100% free when total swap is 0
2014-01-29 01:44:22 -05:00
Jan Wagner
cb99931e43 check_disk: precise the help output
Clarifying in the help output that we need either a device or mount point
listed by the mount(8) command.

(Closes: #1118)
(Closes: #1170)
2014-01-28 12:07:48 +01:00
Thomas Guyot-Sionnest
c30be5877c Clarify check_mysql test prompts
Also default to "-u test -ptest" which are default MySQL accounts only
missing the prescribed privileges.

The database is no longer specified as it is not used.
If wanted is should be its own parameter/tests.
2014-01-28 02:35:09 -05:00
Thomas Guyot-Sionnest
f34f51a005 Merge pull request #1200 from awiddersheim/add_file_options_mysql_query
Add ability to read from options file to check_mysql_query.c
2014-01-27 22:50:27 -08:00
Thomas Guyot-Sionnest
58e57b32bf check_dig: fix wrong IPv6 arguments order 2014-01-27 22:16:35 -05:00
Thomas Guyot-Sionnest
189e2aa344 Rename MP_STATE_DIRECTORY to MP_STATE_PATH 2014-01-27 08:35:23 -05:00
Thomas Guyot-Sionnest
4a10a9493a And release notes for previous change (MP_STATE_DIRECTORY)
The change has also been updated in
https://www.monitoring-plugins.org/doc/state-retention.html
2014-01-27 02:18:06 -05:00
Thomas Guyot-Sionnest
754cd092ae Fix tests with an empty NPTest.cache file
The NPTest.cache cannot be loaded when empty, and this prevents
getting the data and populating the file. This patch skips the file when
empty as if it didn't exist.
2014-01-26 04:49:32 -05:00
Thomas Guyot-Sionnest
68fe713335 Ignore MP_STATE_DIRECTORY in suid plugins
If a plugin still has suid privileges at the time np_enable_state() is
called, the MP_STATE_DIRECTORY environment will be ignored.

There is no need for a NEWS entry as no suid plugins use np_enable_state
yet.
2014-01-25 04:22:09 -05:00
Thomas Guyot-Sionnest
25a289f307 Clean up parse_ini error messages, add missing newlines 2014-01-25 04:13:32 -05:00
Thomas Guyot-Sionnest
4caf4ce4fe Rename ENV variable, keep backward compatibility
Rename NAGIOS_PLUGIN_STATE_DIRECTORY to MP_STATE_DIRECTORY
2014-01-25 03:35:46 -05:00
Jan Wagner
0b9b300f85 check_file_age: support for --ignore-missing
Patch to provide for a -i | --ignore-missing option. This allows files that
don't exist to be monitored for without causing an error. The use case is:

* one process periodically pushes files to an "input" queue for a second
  process
* the second process, when running cleanly will "consume" (process and remove)
  these files

So the conditions to meet are:
1. If the file doesn't exist, that's fine (OK)
2. If the file exists, but is less than X seconds, that's fine (OK)
3. If the file exists, but greater than X seconds, no good (CRITICAL)

Since now check_file_age doesn't permit this behavior, as a non-existent file
is considered CRITICAL.

Test case was contributed by our lovely Holger.

Closes #1181, Closes #989, Closes #862, Closes #1187, Closes #845
Closes Debian Bug #496307
2014-01-24 20:43:01 +01:00
Jan Wagner
455fe96e7d check_ping: Fixing "time of day goes back"
by Geoff Oakham <goakham at oanda.com>

Patch of check_ping that allows it to gracefully handle when ping outputs
to stderr "Warning: time of day goes back (-XXXXus), taking countermeasures."

Closes: #809 and #1195
2014-01-24 18:33:37 +01:00
Jan Wagner
ccecba33a2 Fixing bug in average calculation (Submitted by Lars)
The more important change: A fix for a bug which caused the check_ntp_time
and check_ntp_time check to always take the first response from ntp and not
the avarage since "j" is not increased anywhere. "i" should be used there
instead.

Partly Closes #956 and Closes #1166
Closes: #1089
2014-01-24 18:20:08 +01:00
Jan Wagner
c5dc81cd28 Making AVG_NUM configurable by compiler define (Submitted by Lars)
A minor change which makes the AVG_NUM configurable by compiler define.
Partly Closed #956 and Closes #1166
2014-01-24 17:55:57 +01:00
Thomas Guyot-Sionnest
c2c24bc564 Use access() instead of stat() in parse_ini.c 2014-01-24 08:30:57 -05:00
Thomas Guyot-Sionnest
f1e9ebd037 Update comments
1. libtab is now bundled, so suggest to enable it rather than install it
2. "parse-ini" feature has been called "extra-opts"
2014-01-24 02:32:45 -05:00
Thomas Guyot-Sionnest
43fbde678c Remove obsolete check_ntp.pl 2014-01-23 09:06:58 -05:00
Tilmann Bubeck
c4a99b023d fix smart attribute comparison
Each S.M.A.R.T. attribute is compared against a threshold. If it is LESSTHAN
that threshold an error is reported.  This patch fixes the problem, that
attribute values EQUAL to the threshold are reported as error, which is wrong.
Only LESSTHAN the threshold is an error.

For more information see: http://www.hdsentinel.com/smart/index.php

My SSD has some attributes which value and threshold are "0". Without the patch
this is reported as errornous.

ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE
...
172 Unknown_Attribute 0x0032 000 000 000 Old_age Always - 0
174 Unknown_Attribute 0x0030 000 000 000 Old_age Offline - 13
177 Wear_Leveling_Count 0x0000 000 000 000 Old_age Offline - 0
...

See also:

* http://sourceforge.net/p/nagiosplug/patches/365/
* https://bugzilla.redhat.com/913085
2014-01-23 08:56:53 -05:00
Thomas Guyot-Sionnest
49ae05ff1c Enable extra-opts by default 2014-01-23 03:42:26 -05:00
Thomas Guyot-Sionnest
0fbee4deb2 Fix misleading option text
As soon as a device is specified without using -d, anything else on the
command line is ignored.
2014-01-23 03:19:06 -05:00
Thomas Guyot-Sionnest
d080c3ad97 Disable SMART test commands in check_ide_smart
check_ide_smart could disable offline auto tests but could not re-enable
them. For this reason all SMART command modes have been disabled

The disabled commands are -0/--auto-off, -1/--auto-on and
-i/--immediate
2014-01-23 03:17:55 -05:00
Thomas Guyot-Sionnest
fd20a72ad6 Remove accidental tabs inserted in macro 2014-01-23 03:06:21 -05:00
Thomas Guyot-Sionnest
b5cc2928e2 Make check_ide_smart default to nagios output
check_ide_smart was originally a smard control utility later converted
to a monitoring plugin. the -n option (Nagios check) should therefore be
the default.

This patch deprecates the -n and -q switches, and make the other
switches return nagios-compatible output (they are most likely used in
eventhandlers, but returning nagios-compatible output makes it clear and
easy to handle the return status)
2014-01-23 02:41:26 -05:00
Ricardo Maraschini
82033b35b1 plugins/utils.h: avoiding warnings on empty printf statements
while compiling i keep receiving an warning statement as follow:

warning: zero-length gnu_printf format string

using an unorthodox method to remove them

Signed-off-by: Ricardo Maraschini <ricardo.maraschini@gmail.com>
2014-01-22 16:11:57 +01:00
Lars Vogdt
42e77f9f51 fix outdated Free Software Foundation address 2014-01-22 11:43:31 +01:00
Holger Weiss
67f2252604 README: Minor fixes regarding new project name
Talk about "monitoring systems", not just about "Nagios".  Also, the
default installation prefix has changed to /usr/local.

(While at it, wrap lines consistently at 76 characters.)
2014-01-21 21:56:23 +01:00
Holger Weiss
01e570f4a4 Capitalize "Monitoring Plugins"
"Monitoring Plugins" is a name.
2014-01-21 16:19:20 +01:00
Holger Weiss
7ee3525423 Merge branch 'maint'
* maint:
  check_ssh: Get rid of sshd: Read from socket failed: Connection reset by peer
  fixed tests when there is no direct internet connection
  NEWS: Mention fix for check_http's -S option
  Fix for SSL Versioning when multiple options are used.
  Fix #1217 spec file fails to build due to duplicate files and unused files
  check_http: Don't let "-N" expect an argument
  README: Change GitHub URL
  README: Clarify license notice
  Update URLs and mailing list addresses
  Just using the posix conform extended regular expression grep
  check_oracle: --db +ASM bad string matching check_oracle doesn't correctly check for pmon +ASM instance from at least Oracle 11 as the pmon proces was renamed from ora_pmon_.* to asm_pmon_.*. -- Just turning attached patch of github issue #1207 into a push request. (Closes #1207)
  Update web site URLs

Conflicts:
	FAQ
	NEWS
	README
	SUPPORT
	configure.in
	monitoring-plugins.spec.in
	pkg/solaris/pkginfo.in
	plugins-root/check_dhcp.c
	plugins-root/check_icmp.c
	plugins-scripts/check_ifoperstatus.pl
	plugins-scripts/check_mssql.pl
	plugins/check_apt.c
	plugins/check_by_ssh.c
	plugins/check_cluster.c
	plugins/check_dbi.c
	plugins/check_dig.c
	plugins/check_disk.c
	plugins/check_dns.c
	plugins/check_dummy.c
	plugins/check_fping.c
	plugins/check_game.c
	plugins/check_hpjd.c
	plugins/check_http.c
	plugins/check_ide_smart.c
	plugins/check_ldap.c
	plugins/check_load.c
	plugins/check_mrtg.c
	plugins/check_mrtgtraf.c
	plugins/check_mysql.c
	plugins/check_mysql_query.c
	plugins/check_nagios.c
	plugins/check_nt.c
	plugins/check_ntp.c
	plugins/check_ntp_peer.c
	plugins/check_ntp_time.c
	plugins/check_nwstat.c
	plugins/check_overcr.c
	plugins/check_pgsql.c
	plugins/check_ping.c
	plugins/check_procs.c
	plugins/check_radius.c
	plugins/check_real.c
	plugins/check_smtp.c
	plugins/check_snmp.c
	plugins/check_ssh.c
	plugins/check_swap.c
	plugins/check_tcp.c
	plugins/check_time.c
	plugins/check_ups.c
	plugins/check_users.c
	plugins/negate.c
	plugins/urlize.c
	plugins/utils.h
	po/Makevars
	po/de.po
	po/fr.po
	po/monitoring-plugins.pot
2014-01-21 16:07:38 +01:00
Thomas Guyot-Sionnest
11cf54ca78 Merge branch 'rename' 2014-01-21 07:59:07 -05:00
Holger Weiss
6141cfebf6 New default installation prefix: /usr/local
Install into /usr/local instead of /usr/local/nagios by default, in
order to comply with the Filesystem Hierarchy Standard (FHS) and
presumably the expectations of most users.
2014-01-21 13:17:36 +01:00
Spenser Reinhardt
66544851f7 plugins/*.c: Non-network timeout changes
Changes to non-network checks for clarity on timeout value. Adapted from pull request #1209 tracker from user awiddersheim. (Closes: #1209)
Files: check_apt.c, check_disk.c, check_procs.c, negate.c
2014-01-21 11:35:07 +01:00