Monitoring ========== I have various things monitored at home about the server I run. As I was very concerned about the temperature of the server during the summer a year or so back I began monitoring temperatures as well - I've used Day Barr's plugins for monitoring now that the Dell desktop I use as my server doesn't have any internal monitoring. Anyhow, if there are any interesting plugins that I create, I'll put them here. Eventually there should be a few that I've written which get moved here in case they're useful to anyone else. cambridge-dtg: The Cambridge Digital Technology Group have some weather sensors on the top of their labs. As they're accurate for Cambridge, where I live at present, I use them as monitors for the general environment. They give a reasonable indication of the temperatures at the time. This can then be used alongside the server-specific temperature to get some useful information. The plugin can function either in text mode (where it really just re-prints the textual information from their site), as an MRTG plugin, or as a munin plugin. sqlite3stats.pl It is often useful to track the usage of databases. MySQL and PostgreSQL have plugins to monitor many parts of their usage, but I could not find any similar plugin for SQLite databases. I wrote a simple plugin that will produce some statistics about the database. At present we just report the size of the file, and the highest row id for each table, which approximates the number of rows. read_d3p_temperature.sh A friend of a colleague built a custom temperature sensing device. It's a USB interface, with 8 temperature sensors, on the end of 2 meters of cable each. It's very simple to communicate with, so I wrote a simple shell script to do so. read_d3p_temperature.pl Having written the simple script to just read the values, I wrote a more complex script that allows the reading of temperatures as human readable format, for MRTG or for Munin, and can be configured to run with different parameters in each case. Probably overkill, but it appears to work. plc_ A munin plugin which can monitor the Powerline network speed and signal to noise ratio. I use this with my TP-Link powerline network devices. Revised (v1.04) to understand both AR6400 and INT7400 devices. Thanks to Alex Macfarlane-Smith for testing. plc_102 Older Munin plugin, which did not correctly understand the way in which the network topology was described, but which is a little simpler (and should work correctly if you don't reset the devices on the network). plc_103 Older Munin plugin, which only handled more recent Atheros devices (those which used the 'amp*' tools). diskstatjf_ A modification of the standard diskstat_ data collection plugin to key the drives by their model and serial number, instead of by the device name. In a system that has multiple controllers, and swappable discs, the device names - which are dynamically assigned for the 'sd' devices - can end up in a different order to that which they were originally. This means that the historic data for each device is not related to the device name - and as discs are moved around, or the controllers appear in a different order on startup, the historic records for each device would be incorrectly assigned. Using the model and serial number should keep the historic records accurate. I also added a title to each drive which gives the labels that were assigned to the filesystems on the drive. Some drives may not have labels (and in any case they are assigned to the FS, not the drive) so the label is not used as a distnguisher. smartstats_ A munin plugin designed to report on the 'sataphy' statistics reported by the logs in modern discs. Requires 'smartctl'. Uses the same logic to select drives as the the above 'diskstatjf_' tool. I use the tool configured with 'ACTIVEONLY' set to '1', and 'CACHE' of '120', so that we only wake up discs that would be awake anyhow. Updated 2014-05-13 to add support for reading SSD usage information. Updated 2014-06-22 to use udevadm in preference to udevinfo. -- Justin Fletcher