Yesterday
-
r249
(Silence log noise caused by NTP queries.) committed by marineam
- Silence log noise caused by NTP queries.
Silence log noise caused by NTP queries.
Last 7 days
-
r248
(A first stab at NTP support.
We could probably do a little ...) committed by marineam
- A first stab at NTP support.
We could probably do a little more so we can get seconds as a float
rather than an integer just for fun but this should be sufficient for
most purposes. The example system time test is now actually working!
A first stab at NTP support.
We could probably do a little more so we can get seconds as a float
rather than an integer just for fun but this should be sufficient for
most purposes. The example system time test is now actually working!
-
r247
(Rename the example config) committed by marineam
- Rename the example config
Rename the example config
-
r246
(Add support for using snmp display hints.
This adds some in...) committed by marineam
- Add support for using snmp display hints.
This adds some infrastructure for getting at data provided by MIBs.
Although it would have been simpler to just use the more generic
snprint_value so we don't have to bother with knowing anything about
MIBs but that would force all strings to be ascii. When there is no hint
provided we still want to pass along the raw string which may be
anything. The OID class as been extended to provide this info.
The result parsing functions have been updated to use the hint.
TODO: it would be also good to start using enum values as well.
Add support for using snmp display hints.
This adds some infrastructure for getting at data provided by MIBs.
Although it would have been simpler to just use the more generic
snprint_value so we don't have to bother with knowing anything about
MIBs but that would force all strings to be ascii. When there is no hint
provided we still want to pass along the raw string which may be
anything. The OID class as been extended to provide this info.
The result parsing functions have been updated to use the hint.
TODO: it would be also good to start using enum values as well.
-
r245
(Fix date2epoch unit test for non-EST timezones) committed by marineam
- Fix date2epoch unit test for non-EST timezones
Fix date2epoch unit test for non-EST timezones
Last 30 days
-
r244
(Add a new listDowntimes xmlrpc command) committed by marineam
- Add a new listDowntimes xmlrpc command
Add a new listDowntimes xmlrpc command
-
r243
(Rework the downtime schedule and cancel rpc calls.
This cha...) committed by marineam
- Rework the downtime schedule and cancel rpc calls.
This changes a number of things:
- host: and hostgroup: identifiers can schedule host dowmtimes
- the cancellation key is now included in the comment in full
- the comment now includes the expression used to schedule the outage
Rework the downtime schedule and cancel rpc calls.
This changes a number of things:
- host: and hostgroup: identifiers can schedule host dowmtimes
- the cancellation key is now included in the comment in full
- the comment now includes the expression used to schedule the outage
Earlier this year
-
r242
(Fix my fix because python's split method is weird.
Here's a...) committed by marineam
- Fix my fix because python's split method is weird.
Here's a fun one:
>>> "".split()
[]
>>> "".split(",")
['']
Seriously?
Fix my fix because python's split method is weird.
Here's a fun one:
>>> "".split()
[]
>>> "".split(",")
['']
Seriously?
-
r241
(Don't blow up on empty groups) committed by marineam
- Don't blow up on empty groups
Don't blow up on empty groups
-
r240
(Move the new Graph class into trend.py
Now that the graph g...) committed by marineam
- Move the new Graph class into trend.py
Now that the graph generator is more generic we can move it to trend.py
so it is easily accessible via the nagcat package.
This makes no changes to the moved code.
Move the new Graph class into trend.py
Now that the graph generator is more generic we can move it to trend.py
so it is easily accessible via the nagcat package.
This makes no changes to the moved code.
-
r239
(Another massive refactor of graph.cgi
This shouldn't change...) committed by marineam
- Another massive refactor of graph.cgi
This shouldn't change any behavior but the graph generator is now a
self-contained class so it is easier to use for other purposes.
Another massive refactor of graph.cgi
This shouldn't change any behavior but the graph generator is now a
self-contained class so it is easier to use for other purposes.
-
r238
(Add uptime to nagcat monitor api) committed by marineam
- Add uptime to nagcat monitor api
Add uptime to nagcat monitor api
-
r237
(Further improve downtime expression parsing.
Despite the la...) committed by marineam
- Further improve downtime expression parsing.
Despite the latest fix the custom tokenizer doesn't properly handled
quotes in the middle of strings such as: service:"SNMP Alive". Instead
of using the custom tokenizer we can just use the shlex parser.
Further improve downtime expression parsing.
Despite the latest fix the custom tokenizer doesn't properly handled
quotes in the middle of strings such as: service:"SNMP Alive". Instead
of using the custom tokenizer we can just use the shlex parser.
-
r236
(Fix a typo and some whitespace) committed by marineam
- Fix a typo and some whitespace
Fix a typo and some whitespace
-
r235
(Fixing a bug to allow for service names to contain white spa...) committed by mpresh
- Fixing a bug to allow for service names to contain white space.
Also changing nagnet service queries to be service:service_name
instead of service:host:service_name.
This means that the specified service will be applied to every host
that it runs on.
Fixing a bug to allow for service names to contain white space.
Also changing nagnet service queries to be service:service_name
instead of service:host:service_name.
This means that the specified service will be applied to every host
that it runs on.
-
r234
(Add a periodic job to clean up the command spool directory.
...) committed by marineam
- Add a periodic job to clean up the command spool directory.
If nagios has problems and has trouble handling the command files we
give it then some command files may be orphaned. Add a 1 minute job to
clean up anything that is older than 5 minutes to prevent too many such
files from building up.
Add a periodic job to clean up the command spool directory.
If nagios has problems and has trouble handling the command files we
give it then some command files may be orphaned. Add a 1 minute job to
clean up anything that is older than 5 minutes to prevent too many such
files from building up.
-
r233
(Fix a references to InitError) committed by marineam
- Fix a references to InitError
Fix a references to InitError
-
r232
(Rework nagios command submission to use temp files.
This ch...) committed by marineam
- Rework nagios command submission to use temp files.
This change dumps commands into temp files instead of writing them all
to the pipe. The pipe has a limited buffer size so writing large results
(even though they are still smaller than nagios' limit) increases the
chances of getting truncated half way though. By storing the results in
temporary files and only submitting the very small PROCESS_FILE command
via the pipe we avoid this issue.
Also jack up the NagiosWriter queue by a lot. 100 was easy to trigger
when a whole load of tests happen to run at the same time.
Rework nagios command submission to use temp files.
This change dumps commands into temp files instead of writing them all
to the pipe. The pipe has a limited buffer size so writing large results
(even though they are still smaller than nagios' limit) increases the
chances of getting truncated half way though. By storing the results in
temporary files and only submitting the very small PROCESS_FILE command
via the pipe we avoid this issue.
Also jack up the NagiosWriter queue by a lot. 100 was easy to trigger
when a whole load of tests happen to run at the same time.
-
r231
(Properly end commands that get truncated with a newline.
Al...) committed by marineam
- Properly end commands that get truncated with a newline.
Also move stripping of trailing \ characters from test.py to
nagios_api.py where it ought to be now days.
Properly end commands that get truncated with a newline.
Also move stripping of trailing \ characters from test.py to
nagios_api.py where it ought to be now days.
-
r230
(Add the threads monitor page) committed by marineam
- Add the threads monitor page
Add the threads monitor page
-
r229
(Enforce nagios' maximum command length) committed by marineam
- Enforce nagios' maximum command length
Enforce nagios' maximum command length
-
r228
(Rework nagios command submission to use temp files.
This ch...) committed by marineam
- Rework nagios command submission to use temp files.
This change dumps commands into temp files instead of writing them all
to the pipe. The idea was that writing to the pipe increased the chance
of chopping off the command in the middle. This turns out to probably
not be the case after all but I'm saving it just in case it turns out to
be useful in the future.
Rework nagios command submission to use temp files.
This change dumps commands into temp files instead of writing them all
to the pipe. The idea was that writing to the pipe increased the chance
of chopping off the command in the middle. This turns out to probably
not be the case after all but I'm saving it just in case it turns out to
be useful in the future.
-
r227
(Cut a branch to stash some crap) committed by marineam
- Cut a branch to stash some crap
Cut a branch to stash some crap
-
r226
(Fix a couple dumb mistakes) committed by marineam
- Fix a couple dumb mistakes
Fix a couple dumb mistakes
-
r225
(Support loading multi-line values from nagios configs) committed by marineam
- Support loading multi-line values from nagios configs
Support loading multi-line values from nagios configs
-
r224
(Fix a minor bug in index.cgi) committed by marineam
- Fix a minor bug in index.cgi
Fix a minor bug in index.cgi
-
r223
(Fix a unit test failure in snapy) committed by marineam
- Fix a unit test failure in snapy
Fix a unit test failure in snapy
-
r222
(Run rrdtool update from a thread.
The update generally neve...) committed by marineam
- Run rrdtool update from a thread.
The update generally never takes long but this should help reduce
latency in the main event loop thread. Note that the python bindings
don't use the thread-safe version of the rrdtool library so we must
provide our own rrdtool update method via ctypes.
Run rrdtool update from a thread.
The update generally never takes long but this should help reduce
latency in the main event loop thread. Note that the python bindings
don't use the thread-safe version of the rrdtool library so we must
provide our own rrdtool update method via ctypes.
-
r221
(Add compatibility code for net-snmp 5.5
Also fix a possible...) committed by marineam
- Add compatibility code for net-snmp 5.5
Also fix a possible seg-fault by properly enforcing argument and return
types on all functions used by ctypes. By default if you give no return
type ctypes assumes the type 'int' but some of the functions were
returning a pointer. This normally works (even on x86_64) if the pointer
happens to fit into an int but as soon as you get too big all hell
breaks loose. Lesson learned, always set types strictly.
A few other type related cleanups are included as well.
Add compatibility code for net-snmp 5.5
Also fix a possible seg-fault by properly enforcing argument and return
types on all functions used by ctypes. By default if you give no return
type ctypes assumes the type 'int' but some of the functions were
returning a pointer. This normally works (even on x86_64) if the pointer
happens to fit into an int but as soon as you get too big all hell
breaks loose. Lesson learned, always set types strictly.
A few other type related cleanups are included as well.
-
r220
(Reuse snapy session objects) committed by marineam
- Reuse snapy session objects
Reuse snapy session objects
-
r219
(Add an option to dump pofiler data) committed by marineam
- Add an option to dump pofiler data
Add an option to dump pofiler data
-
r218
(Don't reopen the pipe if reactor is shutting down) committed by marineam
- Don't reopen the pipe if reactor is shutting down
Don't reopen the pipe if reactor is shutting down
-
r217
(Fix support for graphing non-compound queries.
Also allow u...) committed by marineam
- Fix support for graphing non-compound queries.
Also allow use of trending in single-test-mode for testing and add a bit
of logging when trending configs are loaded.
Fix support for graphing non-compound queries.
Also allow use of trending in single-test-mode for testing and add a bit
of logging when trending configs are loaded.
-
r216
(Do not impose a limit on nagnet's command queue.
The new Na...) committed by marineam
- Do not impose a limit on nagnet's command queue.
The new NagiosWriter class imposed a limit on the number of commands it
would queue to ensure that nagcat wouldn't eat memory if nagios was down
for an extended period of time. This caused problems for nagnet which
may submit thousands of downtime commands all at once so this limit
should only be enforced in nagcat, not nagnet.
Do not impose a limit on nagnet's command queue.
The new NagiosWriter class imposed a limit on the number of commands it
would queue to ensure that nagcat wouldn't eat memory if nagios was down
for an extended period of time. This caused problems for nagnet which
may submit thousands of downtime commands all at once so this limit
should only be enforced in nagcat, not nagnet.
-
r215
(Add support for min/max in trend definitions.
This will all...) committed by marineam
- Add support for min/max in trend definitions.
This will allow creation of data sources that have a known range.
Also update the documentation and add a note for when this is useful.
Add support for min/max in trend definitions.
This will allow creation of data sources that have a known range.
Also update the documentation and add a note for when this is useful.
-
r214
(Drop the use of find_library.
find_library doesn't support ...) committed by marineam
- Drop the use of find_library.
find_library doesn't support the exact search scheme as dlopen does, in
particular it doesn't appear to make use of RPATH which I would like to
use. Since I don't really support snapy/nagcat on anything other than
glibc/linux this shouldn't be a problem for now.
Drop the use of find_library.
find_library doesn't support the exact search scheme as dlopen does, in
particular it doesn't appear to make use of RPATH which I would like to
use. Since I don't really support snapy/nagcat on anything other than
glibc/linux this shouldn't be a problem for now.
-
r213
(Fix cgi scripts for rrdtool 1.3 and ungrouped hosts.
Import...) committed by marineam
- Fix cgi scripts for rrdtool 1.3 and ungrouped hosts.
Import the compatibility wrapper for rrdtool.info so both rrdtool <= 1.2
and >= 1.3 work. Also keep track of any hosts that aren't in a group and
list them in the index page as well.
Fix cgi scripts for rrdtool 1.3 and ungrouped hosts.
Import the compatibility wrapper for rrdtool.info so both rrdtool <= 1.2
and >= 1.3 work. Also keep track of any hosts that aren't in a group and
list them in the index page as well.
-
r212
(Rework NagiosWriter to properly unregister itself.
Previous...) committed by marineam
- Rework NagiosWriter to properly unregister itself.
Previously the NagiosWriter simply added itself as a writer during start
up and then forever stayed in the event loop. This was problematic
because the reactor will then constantly call doWrite() as long as the
pipe is writable which is most of the time. The result pegs the cpu.
Also in the process tweak its logging to be less noisy. Since generally
the reason for failed writes is simply someone restarting Nagios it
isn't helpful to fill the logs with errors and tracebacks. It will now
only re-try the open every 10 seconds, logging a warning if it fails.
Rework NagiosWriter to properly unregister itself.
Previously the NagiosWriter simply added itself as a writer during start
up and then forever stayed in the event loop. This was problematic
because the reactor will then constantly call doWrite() as long as the
pipe is writable which is most of the time. The result pegs the cpu.
Also in the process tweak its logging to be less noisy. Since generally
the reason for failed writes is simply someone restarting Nagios it
isn't helpful to fill the logs with errors and tracebacks. It will now
only re-try the open every 10 seconds, logging a warning if it fails.
-
r211
(Add support for HTTP Basic authentication.) committed by marineam
- Add support for HTTP Basic authentication.
Add support for HTTP Basic authentication.
-
r210
(Fix up a couple limitations to the rrdtool graphs.
- Make t...) committed by marineam
- Fix up a couple limitations to the rrdtool graphs.
- Make the STACK option configurable in graphs.
- Order the data sources by their order in the coil file.
Fix up a couple limitations to the rrdtool graphs.
- Make the STACK option configurable in graphs.
- Order the data sources by their order in the coil file.
-
r209
(Invalidate all results when a packet has an error code.
Bec...) committed by marineam
- Invalidate all results when a packet has an error code.
Because it is impossible to know if any of the other results are valid
beyond the one value marked with the error just drop them entirely.
This avoids the possibility of falsely reporting an OK status.
Invalidate all results when a packet has an error code.
Because it is impossible to know if any of the other results are valid
beyond the one value marked with the error just drop them entirely.
This avoids the possibility of falsely reporting an OK status.
-
r208
(Raise a better error if net-snmp isn't found) committed by marineam
- Raise a better error if net-snmp isn't found
Raise a better error if net-snmp isn't found
-
r207
(Add cpu time to status pages) committed by marineam
- Add cpu time to status pages
Add cpu time to status pages
-
r206
(Added Query_oracle_plsql type, for making stored procedure c...) committed by george.keith
- Added Query_oracle_plsql type, for making stored procedure calls to oracle.
Also moved the common xml-conversion functions and the Oracle-error =>
nagcat-test-error code outside of the Query_oracle* class, so it can be used by
both.
Added Query_oracle_plsql type, for making stored procedure calls to oracle.
Also moved the common xml-conversion functions and the Oracle-error =>
nagcat-test-error code outside of the Query_oracle* class, so it can be used by
both.
-
r205
(Add early pid write to nagnet to make verify happy.
This is...) committed by marineam
- Add early pid write to nagnet to make verify happy.
This is the nagnet side of the earlier nagcat commit. Also update both
help sections since I forgot that earlier.
Add early pid write to nagnet to make verify happy.
This is the nagnet side of the earlier nagcat commit. Also update both
help sections since I forgot that earlier.
-
r204
(Use a dummy writer when the nagios pipe is a regular file.
...) committed by marineam
- Use a dummy writer when the nagios pipe is a regular file.
It is often useful to create the nagios fifo as a regular file for
testing purposes, typically when a real nagios isn't running.
Use a dummy writer when the nagios pipe is a regular file.
It is often useful to create the nagios fifo as a regular file for
testing purposes, typically when a real nagios isn't running.
-
r203
(Add --verify to check configs) committed by marineam
- Add --verify to check configs
Add --verify to check configs
-
r202
(Fix a couple pyflakes errors) committed by marineam
- Fix a couple pyflakes errors
Fix a couple pyflakes errors
-
r201
(Allow verify to check nagcat's pid file) committed by marineam
- Allow verify to check nagcat's pid file
Allow verify to check nagcat's pid file
-
r200
(Fixing up some minor issues to properly handle Pipe writes. ...) committed by mpresh
- Fixing up some minor issues to properly handle Pipe writes.
Removing and adding writer to reactor when a new fd is opened for
pipe because epollreactor calls fileno function just once, and
then expects that reactor to be there.
Using dque for the queing data structure, with a limited size queue.
Fixing up some minor issues to properly handle Pipe writes.
Removing and adding writer to reactor when a new fd is opened for
pipe because epollreactor calls fileno function just once, and
then expects that reactor to be there.
Using dque for the queing data structure, with a limited size queue.
|