parent
a1e346bcb7
commit
2c9121708a
|
@ -9,7 +9,7 @@ backuppc - monitor the age of backuppc's most recent backup operation
|
||||||
|
|
||||||
=head1 APPLICABLE SYSTEMS
|
=head1 APPLICABLE SYSTEMS
|
||||||
|
|
||||||
Hosts with a local backuppc respository.
|
Hosts with a local backuppc repository.
|
||||||
|
|
||||||
|
|
||||||
=head1 CONFIGURATION
|
=head1 CONFIGURATION
|
||||||
|
|
|
@ -64,7 +64,7 @@ Used by munin-node-configure.
|
||||||
#%# capabilities=autoconf suggest
|
#%# capabilities=autoconf suggest
|
||||||
|
|
||||||
|
|
||||||
=head1 KNOWN ISSSUES
|
=head1 KNOWN ISSUES
|
||||||
|
|
||||||
The plugin will only work with 'external' sources. It will not recognize the names of internal refclocks.
|
The plugin will only work with 'external' sources. It will not recognize the names of internal refclocks.
|
||||||
|
|
||||||
|
|
|
@ -35,7 +35,7 @@ Plugin configuration parameters
|
||||||
|
|
||||||
By default the graphs are drawn using automatic scaling with these
|
By default the graphs are drawn using automatic scaling with these
|
||||||
limits set the vertical scale of the graph will be bounded
|
limits set the vertical scale of the graph will be bounded
|
||||||
(rigidly). Note the vallues above are (reasonable) example vallues,
|
(rigidly). Note the values above are (reasonable) example values,
|
||||||
not the default.
|
not the default.
|
||||||
|
|
||||||
=head1 VERSION
|
=head1 VERSION
|
||||||
|
@ -56,7 +56,7 @@ Used by munin-node-configure.
|
||||||
#%# family=manual
|
#%# family=manual
|
||||||
#%# capabilities=multigraph
|
#%# capabilities=multigraph
|
||||||
|
|
||||||
=head1 KNOWN ISSSUES
|
=head1 KNOWN ISSUES
|
||||||
|
|
||||||
There may be some issues when IP addresses are used instead of
|
There may be some issues when IP addresses are used instead of
|
||||||
hostnames in the timesources environment. Also, the names should match
|
hostnames in the timesources environment. Also, the names should match
|
||||||
|
|
|
@ -13,7 +13,7 @@
|
||||||
0.1 initial release - Florian Fida
|
0.1 initial release - Florian Fida
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// make sure that paht to ps is valid for your system
|
// make sure that path to ps is valid for your system
|
||||||
$ps_cmd = '/bin/ps -eo "%C,%a"';
|
$ps_cmd = '/bin/ps -eo "%C,%a"';
|
||||||
|
|
||||||
// list of processes to monitor, can also be set by env.ps_filter in munin config
|
// list of processes to monitor, can also be set by env.ps_filter in munin config
|
||||||
|
|
|
@ -76,7 +76,7 @@ V17.0214
|
||||||
|
|
||||||
V17.0124
|
V17.0124
|
||||||
|
|
||||||
not pubish, first version
|
not published, first version
|
||||||
|
|
||||||
=head1 AUTHOR
|
=head1 AUTHOR
|
||||||
|
|
||||||
|
|
|
@ -17,7 +17,7 @@
|
||||||
static char getitem(char *input, unsigned char item, char *output)
|
static char getitem(char *input, unsigned char item, char *output)
|
||||||
{
|
{
|
||||||
unsigned char i = 0;
|
unsigned char i = 0;
|
||||||
unsigned char seperators = 0;
|
unsigned char separators = 0;
|
||||||
char know_this_seperator = 0;
|
char know_this_seperator = 0;
|
||||||
unsigned char start = 0;
|
unsigned char start = 0;
|
||||||
unsigned char stop = 0;
|
unsigned char stop = 0;
|
||||||
|
@ -28,23 +28,23 @@ static char getitem(char *input, unsigned char item, char *output)
|
||||||
}
|
}
|
||||||
|
|
||||||
/* If we're requested to return the very first item... */
|
/* If we're requested to return the very first item... */
|
||||||
if (seperators == item) {
|
if (separators == item) {
|
||||||
start = i;
|
start = i;
|
||||||
}
|
}
|
||||||
|
|
||||||
while (input[i] && seperators < item + 1) {
|
while (input[i] && separators < item + 1) {
|
||||||
if (input[i] == ' ') {
|
if (input[i] == ' ') {
|
||||||
if (know_this_seperator == 0) {
|
if (know_this_seperator == 0) {
|
||||||
know_this_seperator = 1;
|
know_this_seperator = 1;
|
||||||
seperators++;
|
separators++;
|
||||||
if (seperators == item + 1) {
|
if (separators == item + 1) {
|
||||||
stop = i;
|
stop = i;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else if (know_this_seperator) {
|
} else if (know_this_seperator) {
|
||||||
know_this_seperator = 0;
|
know_this_seperator = 0;
|
||||||
if (seperators == item) {
|
if (separators == item) {
|
||||||
start = i;
|
start = i;
|
||||||
}
|
}
|
||||||
} else if (input[i] == '\n') {
|
} else if (input[i] == '\n') {
|
||||||
|
|
|
@ -137,7 +137,7 @@ get_activity_description() {
|
||||||
A) short="Blacklisted (RBL)" long="Message received and classified as spam because the sender ip is listed on the RBL" ;;
|
A) short="Blacklisted (RBL)" long="Message received and classified as spam because the sender ip is listed on the RBL" ;;
|
||||||
M) short="Retrained as spam" long="Messages classified as innocent, but retrained by user as spam" ;;
|
M) short="Retrained as spam" long="Messages classified as innocent, but retrained by user as spam" ;;
|
||||||
F) short="Retrained as innocent" long="Messages classified as spam, but retrained by the user as innocent" ;;
|
F) short="Retrained as innocent" long="Messages classified as spam, but retrained by the user as innocent" ;;
|
||||||
N) short=Inoculation long="Messages trained as spam trough inoculation" ;;
|
N) short=Inoculation long="Messages trained as spam through inoculation" ;;
|
||||||
C) short=Corpusfed long="Messages fed from a corpus" ;;
|
C) short=Corpusfed long="Messages fed from a corpus" ;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
|
|
|
@ -125,7 +125,7 @@ if [[ "$1" == "config" ]]; then
|
||||||
echo 'multigraph http_response_code'
|
echo 'multigraph http_response_code'
|
||||||
echo 'graph_args --base 1000 -l 0 -u 511'
|
echo 'graph_args --base 1000 -l 0 -u 511'
|
||||||
echo 'graph_title HTTP Response Codes'
|
echo 'graph_title HTTP Response Codes'
|
||||||
echo 'graph_vlabel Repsonse Code'
|
echo 'graph_vlabel Response Code'
|
||||||
echo 'graph_category network'
|
echo 'graph_category network'
|
||||||
echo 'graph_info This graph shows HTTP response code statistics'
|
echo 'graph_info This graph shows HTTP response code statistics'
|
||||||
echo 'graph_printf %3.0lf'
|
echo 'graph_printf %3.0lf'
|
||||||
|
|
|
@ -50,7 +50,7 @@ pw = "yourpassword"
|
||||||
#exclude = ("123.123.123.123",)
|
#exclude = ("123.123.123.123",)
|
||||||
exclude = ()
|
exclude = ()
|
||||||
|
|
||||||
# Exclude these sources from calculation. This is useful to excluse special sources like
|
# Exclude these sources from calculation. This is useful to exclude special sources like
|
||||||
# fallback sources which doesn't expose the same information and then break this script
|
# fallback sources which doesn't expose the same information and then break this script
|
||||||
# Ever add fallback sources to this list
|
# Ever add fallback sources to this list
|
||||||
#source_exclude = ["/fallback.mp3", "/fallback.ogg"]
|
#source_exclude = ["/fallback.mp3", "/fallback.ogg"]
|
||||||
|
|
|
@ -202,7 +202,7 @@ def get_sensor_data(host):
|
||||||
|
|
||||||
|
|
||||||
def print_graph_section(graph_description, hosts, include_config, include_values):
|
def print_graph_section(graph_description, hosts, include_config, include_values):
|
||||||
# retrieve the data and omit ony output, if the relevant key is missing
|
# retrieve the data and omit output only if the relevant key is missing
|
||||||
results = []
|
results = []
|
||||||
for host_info in hosts:
|
for host_info in hosts:
|
||||||
data = get_sensor_data(host_info.host)
|
data = get_sensor_data(host_info.host)
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
#healthcheck on munin
|
#healthcheck on munin
|
||||||
#egrep system log and alert.
|
#egrep system log and alert.
|
||||||
#
|
#
|
||||||
#programed by rti (hiroyuki fujie) super.rti@gmail.com @super_rti
|
#programmed by rti (hiroyuki fujie) super.rti@gmail.com @super_rti
|
||||||
#LICENSE: NYSL (public domain)
|
#LICENSE: NYSL (public domain)
|
||||||
#
|
#
|
||||||
#
|
#
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
#healthcheck on munin
|
#healthcheck on munin
|
||||||
#check process and alert.
|
#check process and alert.
|
||||||
#
|
#
|
||||||
#programed by rti (hiroyuki fujie) super.rti@gmail.com @super_rti
|
#programmed by rti (hiroyuki fujie) super.rti@gmail.com @super_rti
|
||||||
#LICENSE: NYSL (public domain)
|
#LICENSE: NYSL (public domain)
|
||||||
#
|
#
|
||||||
#config file
|
#config file
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
#egrep contents string
|
#egrep contents string
|
||||||
# ... and alert.
|
# ... and alert.
|
||||||
#
|
#
|
||||||
#programed by rti (hiroyuki fujie) super.rti@gmail.com @super_rti
|
#programmed by rti (hiroyuki fujie) super.rti@gmail.com @super_rti
|
||||||
#LICENSE: NYSL (public domain)
|
#LICENSE: NYSL (public domain)
|
||||||
#
|
#
|
||||||
#config file
|
#config file
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
#
|
#
|
||||||
# ln -s /usr/share/node/node/plugins-auto/if_forward_ /etc/munin/node.d/if_forward_eth0
|
# ln -s /usr/share/node/node/plugins-auto/if_forward_ /etc/munin/node.d/if_forward_eth0
|
||||||
#
|
#
|
||||||
# ...will monitor forwarded traffic trough eth0.
|
# ...will monitor forwarded traffic through eth0.
|
||||||
#
|
#
|
||||||
# Additionally, you need these iptables rules as the first rules (they don't do anything, just make packet counts)
|
# Additionally, you need these iptables rules as the first rules (they don't do anything, just make packet counts)
|
||||||
#
|
#
|
||||||
|
|
|
@ -5,7 +5,7 @@ Linux network monitoring plugin with support for *bonding* and *vlans*.
|
||||||
|
|
||||||
Plugin will group all bonding slaves into one aggregated graph. It removes clutter
|
Plugin will group all bonding slaves into one aggregated graph. It removes clutter
|
||||||
of having many single-metric graphs for individual interfaces. You still can click
|
of having many single-metric graphs for individual interfaces. You still can click
|
||||||
trough to individual graphs.
|
through to individual graphs.
|
||||||
|
|
||||||
In this example, `p1p1`, `p2p1` are physical interfaces of one bond0. Only p1p1 is active,
|
In this example, `p1p1`, `p2p1` are physical interfaces of one bond0. Only p1p1 is active,
|
||||||
as we are using Active-Backup bonding mode. `Total` (black) is the throughput of parent
|
as we are using Active-Backup bonding mode. `Total` (black) is the throughput of parent
|
||||||
|
|
|
@ -119,7 +119,7 @@ fi
|
||||||
|
|
||||||
|
|
||||||
#################################################################
|
#################################################################
|
||||||
# run the sript
|
# run the script
|
||||||
if [ -x $WGET ]; then
|
if [ -x $WGET ]; then
|
||||||
# quiet output to stdout
|
# quiet output to stdout
|
||||||
wget -q $WGET_FLAGS "$URL" -O -
|
wget -q $WGET_FLAGS "$URL" -O -
|
||||||
|
|
|
@ -118,7 +118,7 @@ exit 0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
#################################################################
|
#################################################################
|
||||||
# run the sript
|
# run the script
|
||||||
|
|
||||||
[ -x $WGET ] && $WGET -q $WGET_FLAGS "$URL?act=$act" -O - && exit 0
|
[ -x $WGET ] && $WGET -q $WGET_FLAGS "$URL?act=$act" -O - && exit 0
|
||||||
|
|
||||||
|
|
|
@ -165,7 +165,7 @@ if (defined($ARGV[0]))
|
||||||
# connect to data
|
# connect to data
|
||||||
my $dbh = DBI->connect("DBI:Pg:dbname=$db_name;host=$db_host;port=$db_port", $db_user, $db_pass)
|
my $dbh = DBI->connect("DBI:Pg:dbname=$db_name;host=$db_host;port=$db_port", $db_user, $db_pass)
|
||||||
or die ("Cannot connect to database");
|
or die ("Cannot connect to database");
|
||||||
# go trough each set and get the data
|
# go through each set and get the data
|
||||||
foreach my $get ('pools', 'stats')
|
foreach my $get ('pools', 'stats')
|
||||||
{
|
{
|
||||||
# prep and execute the show query
|
# prep and execute the show query
|
||||||
|
|
|
@ -32,7 +32,7 @@
|
||||||
#
|
#
|
||||||
# Install guide:
|
# Install guide:
|
||||||
# This plugin relies on correct configured ODBC for the MOM database
|
# This plugin relies on correct configured ODBC for the MOM database
|
||||||
# Prerequisits:
|
# Prerequisites:
|
||||||
# * Install and configure FreeTDS and DBD::Sybase (packages tdsodbc and libdbd-sybase-perl on Ubuntu)
|
# * Install and configure FreeTDS and DBD::Sybase (packages tdsodbc and libdbd-sybase-perl on Ubuntu)
|
||||||
# - DBD::Sybase is preferred over ODBC because of strange TEXT field handling in DBD::ODBC
|
# - DBD::Sybase is preferred over ODBC because of strange TEXT field handling in DBD::ODBC
|
||||||
#
|
#
|
||||||
|
@ -214,11 +214,11 @@ EOF
|
||||||
chomp($field);
|
chomp($field);
|
||||||
print $field . ".label " . $profiles{$policy}{'name'} . "\n";
|
print $field . ".label " . $profiles{$policy}{'name'} . "\n";
|
||||||
print $field . ".draw LINE2\n";
|
print $field . ".draw LINE2\n";
|
||||||
print $field . ".info Numer of computers having the " .$profiles{$policy}{'name'} . " profile.\n";
|
print $field . ".info Number of computers having the " .$profiles{$policy}{'name'} . " profile.\n";
|
||||||
if($profiles{$policy}{'old'}) {
|
if($profiles{$policy}{'old'}) {
|
||||||
print $field . "old.label " . $profiles{$policy}{'name'} . " (old)\n";
|
print $field . "old.label " . $profiles{$policy}{'name'} . " (old)\n";
|
||||||
print $field . "old.draw LINE2\n";
|
print $field . "old.draw LINE2\n";
|
||||||
print $field . "old.info Numer of computers having an old version of the " .$profiles{$policy}{'name'} . " profile.\n";
|
print $field . "old.info Number of computers having an old version of the " .$profiles{$policy}{'name'} . " profile.\n";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -164,7 +164,7 @@ sub get_data {
|
||||||
|
|
||||||
if ( $cert_files{$cert_name}{"cert"} ne "" ) {
|
if ( $cert_files{$cert_name}{"cert"} ne "" ) {
|
||||||
if ( ! -f -r $cert_files{$cert_name}{"cert"}) {
|
if ( ! -f -r $cert_files{$cert_name}{"cert"}) {
|
||||||
# warn, only on debuging, that a file couldn't be opened. sane defaults will show zero days remaining for this certificate
|
# warn, only on debugging, that a file couldn't be opened. sane defaults will show zero days remaining for this certificate
|
||||||
if ( $DEBUG ) { print "# WARNING: {$cert_name} certificate not found or not readable" }
|
if ( $DEBUG ) { print "# WARNING: {$cert_name} certificate not found or not readable" }
|
||||||
} else {
|
} else {
|
||||||
# use openssl for the info
|
# use openssl for the info
|
||||||
|
|
|
@ -80,8 +80,8 @@ if(exists $ARGV[0] and $ARGV[0] eq "autoconf") {
|
||||||
exit 0;
|
exit 0;
|
||||||
}
|
}
|
||||||
my $au = LWP::UserAgent->new(timeout => $TIMEOUT);
|
my $au = LWP::UserAgent->new(timeout => $TIMEOUT);
|
||||||
my $repsonse = $au->request(HTTP::Request->new('GET',$url));
|
my $response = $au->request(HTTP::Request->new('GET',$url));
|
||||||
if($repsonse->is_success and $repsonse->content =~ /<status>.*<\/status>/im) {
|
if($response->is_success and $response->content =~ /<status>.*<\/status>/im) {
|
||||||
print "yes\n";
|
print "yes\n";
|
||||||
exit 0;
|
exit 0;
|
||||||
} else {
|
} else {
|
||||||
|
|
|
@ -33,4 +33,4 @@ Test them with:
|
||||||
Restart your munin-node and the graphs should appear shortly.
|
Restart your munin-node and the graphs should appear shortly.
|
||||||
|
|
||||||
If you make any improvements (which should be easy), please update
|
If you make any improvements (which should be easy), please update
|
||||||
the munin exhange entry, or mail me at gaute(at)pht(dot)no
|
the munin exchange entry, or mail me at gaute(at)pht(dot)no
|
||||||
|
|
Loading…
Reference in New Issue