https://github.com/bodgit/apache-scoreboard-tools
Tools for checking Apache out-of-band via its scoreboard
https://github.com/bodgit/apache-scoreboard-tools
apache-httpd apache2 collectd collectd-plugin nagios scoreboard
Last synced: 2 months ago
JSON representation
Tools for checking Apache out-of-band via its scoreboard
- Host: GitHub
- URL: https://github.com/bodgit/apache-scoreboard-tools
- Owner: bodgit
- Created: 2013-02-05T15:55:00.000Z (over 12 years ago)
- Default Branch: master
- Last Pushed: 2017-08-02T15:51:51.000Z (almost 8 years ago)
- Last Synced: 2025-03-29T21:51:07.380Z (3 months ago)
- Topics: apache-httpd, apache2, collectd, collectd-plugin, nagios, scoreboard
- Language: C
- Homepage:
- Size: 6.84 KB
- Stars: 5
- Watchers: 2
- Forks: 2
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
apache-scoreboard-tools
=======================Every man and his dog has written tools to monitor Apache by scraping the
`mod_status` _"/server-status/"_ URL to tell you how many workers are in use or
idle. However all of these tools suffer the same problem; because you're using
one of the available TCP connections, when Apache happens to run out of them,
(because your application is bricked waiting for database connections, etc.)
your monitoring breaks/times out, etc. rather than correctly report that all of
your workers are busy.An alternative idea is to monitor Apache "out-of-band" using the scoreboard
directly.All you need is something like the following in your httpd.conf:
ScoreboardFile /var/run/httpd/httpd.scoreboard
You need `mod_status` enabled for this to work and also `ExtendedStatus` set to
`on` (the default since 2.3.6) but you don't need to expose any of this with a
`` block and `SetHandler` directive.There is a Nagios-style check you can run like so:
# ./check_apache -w 100 -c 200 /var/run/httpd/httpd.scoreboard
WARNING: 150 workers in use`-w` and `-c` refer to the warning and critical thresholds for the number of
workers _in use_.There is also a Collectd plugin which reports the same statistics as the
official plugin and can be run in one of two ways. You can run it within
Collectd using the `exec` plugin by just passing the scoreboard:```
LoadPlugin execExec "username" "/usr/sbin/collectd_apache" "/var/run/httpd/httpd.scoreboard"
```
Or you can run it outside of Collectd using the `unixsock` plugin by also
passing the socket:# /usr/sbin/collectd_apache /var/run/httpd/httpd.scoreboard /var/run/collectd-socket
The first form can work out the polling interval and hostname as these are
passed in by Collectd as environment variables however Collectd won't run
things as UID 0 which you might need to be able to read the scoreboard so you
can end up boxing around with `sudo -E`.The second form cannot infer the polling interval so if the defaults of a 60
second polling interval and the FQDN of the host aren't desired then there are
`-i` and `-h` options to adjust these as necessary.