Suspicious sections: plugins/mail/postfix_mail_stats recieved.label plugins/nginx/nginx_vhost_traffic
This commit is contained in:
parent
8e18199f16
commit
fba800ae52
|
@ -157,7 +157,7 @@ if ($#ARGV > -1 && $ARGV[0] eq "config") {
|
||||||
else {
|
else {
|
||||||
# this may not scale so well with large graphs, and is useful only
|
# this may not scale so well with large graphs, and is useful only
|
||||||
# for debugging, when you want to run this repeatedly without
|
# for debugging, when you want to run this repeatedly without
|
||||||
# loosing data
|
# losing data
|
||||||
# this will also mean that stations that disappear will remain forever
|
# this will also mean that stations that disappear will remain forever
|
||||||
save_state $pos, %stations;
|
save_state $pos, %stations;
|
||||||
}
|
}
|
||||||
|
|
|
@ -53,7 +53,7 @@ This will provide for HTTP basic authentication.
|
||||||
|
|
||||||
=head1 INTERPRETATION
|
=head1 INTERPRETATION
|
||||||
|
|
||||||
=head2 APACHE ACCESES
|
=head2 APACHE ACCESSES
|
||||||
|
|
||||||
The graph shows the number of accesses (pages and other items served)
|
The graph shows the number of accesses (pages and other items served)
|
||||||
globally on the Apache server.
|
globally on the Apache server.
|
||||||
|
|
|
@ -60,7 +60,7 @@ USR=$apuser
|
||||||
PROCS=$binname
|
PROCS=$binname
|
||||||
|
|
||||||
|
|
||||||
# Catch proccess pid
|
# Catch process pid
|
||||||
VAL1=`ps auxf | grep ${PROCS} | grep ^${USR} | grep -v grep | awk '{print $2}' `
|
VAL1=`ps auxf | grep ${PROCS} | grep ^${USR} | grep -v grep | awk '{print $2}' `
|
||||||
|
|
||||||
# Count pids
|
# Count pids
|
||||||
|
|
|
@ -28,7 +28,7 @@
|
||||||
# foreach($keys as $key => $val) echo strtolower($key).".value ".$info[$key]."\n";
|
# foreach($keys as $key => $val) echo strtolower($key).".value ".$info[$key]."\n";
|
||||||
# ?>
|
# ?>
|
||||||
#
|
#
|
||||||
# - name that file eaccelerator_status.php, will be easier, file should be at least accesible from the address that runs this script (usally localhost)
|
# - name that file eaccelerator_status.php, will be easier, file should be at least accesible from the address that runs this script (usually localhost)
|
||||||
# you can make this file accessible globally, it just displays the memor usage by eaccelerator, thats all.
|
# you can make this file accessible globally, it just displays the memor usage by eaccelerator, thats all.
|
||||||
# usually you can put it to the /var/www/ (but it depends on the server configuration etc)
|
# usually you can put it to the /var/www/ (but it depends on the server configuration etc)
|
||||||
# - check if you can see the output of the file, for example if you placed file in the DocumentRoot then it should be available from
|
# - check if you can see the output of the file, for example if you placed file in the DocumentRoot then it should be available from
|
||||||
|
|
|
@ -23,7 +23,7 @@
|
||||||
# apache2.conf
|
# apache2.conf
|
||||||
# LogFormat "%h %l %u %t \"%r\" %>s %O %b %D \"%{Referer}i\" \"%{User-Agent}i\"" custom
|
# LogFormat "%h %l %u %t \"%r\" %>s %O %b %D \"%{Referer}i\" \"%{User-Agent}i\"" custom
|
||||||
#
|
#
|
||||||
# Acording to : http://httpd.apache.org/docs/2.2/mod/mod_log_config.html
|
# According to : http://httpd.apache.org/docs/2.2/mod/mod_log_config.html
|
||||||
# %D The time taken to serve the request, in microseconds.
|
# %D The time taken to serve the request, in microseconds.
|
||||||
# In our case %D -> 9
|
# In our case %D -> 9
|
||||||
######################################################################################################
|
######################################################################################################
|
||||||
|
|
|
@ -30,7 +30,7 @@ Jort Bloem
|
||||||
=head1 EXCUSES
|
=head1 EXCUSES
|
||||||
|
|
||||||
This is one of the first programs I wrote in Python. I got carried away
|
This is one of the first programs I wrote in Python. I got carried away
|
||||||
by Python's powerfull one-line commands. Just because you can, doesn't
|
by Python's powerful one-line commands. Just because you can, doesn't
|
||||||
mean you should.
|
mean you should.
|
||||||
|
|
||||||
This program needs a rewrite, and if there were any problems with it,
|
This program needs a rewrite, and if there were any problems with it,
|
||||||
|
|
|
@ -36,7 +36,7 @@
|
||||||
# Use "sed 1d" instead of "tail +2" in df plugins (patch by Olivier Delhomme).
|
# Use "sed 1d" instead of "tail +2" in df plugins (patch by Olivier Delhomme).
|
||||||
#
|
#
|
||||||
# Revision 1.1 2004/01/02 18:50:01 jimmyo
|
# Revision 1.1 2004/01/02 18:50:01 jimmyo
|
||||||
# Renamed occurrances of lrrd -> munin
|
# Renamed occurrences of lrrd -> munin
|
||||||
#
|
#
|
||||||
# Revision 1.1.1.1 2004/01/02 15:18:07 jimmyo
|
# Revision 1.1.1.1 2004/01/02 15:18:07 jimmyo
|
||||||
# Import of LRRD CVS tree after renaming to Munin
|
# Import of LRRD CVS tree after renaming to Munin
|
||||||
|
|
|
@ -25,12 +25,12 @@
|
||||||
# directory to check
|
# directory to check
|
||||||
DIR="/var/cache/apache2/"
|
DIR="/var/cache/apache2/"
|
||||||
|
|
||||||
# unique id, just in case you got multiple such scripts, change id as needed (i guess it shoudl be obsolete, not tested)
|
# unique id, just in case you got multiple such scripts, change id as needed (i guess it should be obsolete, not tested)
|
||||||
ID=1;
|
ID=1;
|
||||||
|
|
||||||
# - make sure that user/group that executes this script has acess to the directory you ahve configured
|
# - make sure that user/group that executes this script has access to the directory you have configured
|
||||||
# otherwise run it as another user, edit plugins-conf.d/munin-node and stuff it with example below code (not suggested)
|
# otherwise run it as another user, edit plugins-conf.d/munin-node and stuff it with example below code (not suggested)
|
||||||
# remeber to remove hashes from the beginning of the lines
|
# remember to remove hashes from the beginning of the lines
|
||||||
#
|
#
|
||||||
# [du]
|
# [du]
|
||||||
# user root
|
# user root
|
||||||
|
|
|
@ -44,7 +44,7 @@ and divides it by the number of I/Os that happened in the given time frame,
|
||||||
resulting in an average time per I/O on the block-device level.
|
resulting in an average time per I/O on the block-device level.
|
||||||
|
|
||||||
This value can give you a good comparison base amongst different controllers,
|
This value can give you a good comparison base amongst different controllers,
|
||||||
storage subsystems and disks for similiar workloads.
|
storage subsystems and disks for similar workloads.
|
||||||
|
|
||||||
|
|
||||||
=head2 Syscall Wait Time
|
=head2 Syscall Wait Time
|
||||||
|
@ -656,7 +656,7 @@ sub translate_lvm_name {
|
||||||
|
|
||||||
my $device_name = basename($entry);
|
my $device_name = basename($entry);
|
||||||
|
|
||||||
# Check for single-dash-occurence to see if this could be a lvm devicemapper device.
|
# Check for single-dash-occurrence to see if this could be a lvm devicemapper device.
|
||||||
if ($device_name =~ m/(?<!-)-(?!-)/) {
|
if ($device_name =~ m/(?<!-)-(?!-)/) {
|
||||||
|
|
||||||
# split device name into vg and lv parts
|
# split device name into vg and lv parts
|
||||||
|
|
|
@ -50,7 +50,7 @@
|
||||||
# Rewrite of linux/iostat by Mike Fedyk (Deb##223373,224113).
|
# Rewrite of linux/iostat by Mike Fedyk (Deb##223373,224113).
|
||||||
#
|
#
|
||||||
# Revision 1.1 2004/01/02 18:50:01 jimmyo
|
# Revision 1.1 2004/01/02 18:50:01 jimmyo
|
||||||
# Renamed occurrances of lrrd -> munin
|
# Renamed occurrences of lrrd -> munin
|
||||||
#
|
#
|
||||||
# Revision 1.1.1.1 2004/01/02 15:18:07 jimmyo
|
# Revision 1.1.1.1 2004/01/02 15:18:07 jimmyo
|
||||||
# Import of LRRD CVS tree after renaming to Munin
|
# Import of LRRD CVS tree after renaming to Munin
|
||||||
|
|
|
@ -156,7 +156,7 @@ def map_procentries_to_devices(list_of_dicts,devfilter_regex):
|
||||||
# - vendor
|
# - vendor
|
||||||
sys_pathname = sysfs_base + '/' + ':'.join(elem[:4]) # isolate stuff like 2:0:0:0
|
sys_pathname = sysfs_base + '/' + ':'.join(elem[:4]) # isolate stuff like 2:0:0:0
|
||||||
|
|
||||||
# Should actually not happen, but nontheless:
|
# Should actually not happen, but nonetheless:
|
||||||
if not os.path.islink(sys_pathname):
|
if not os.path.islink(sys_pathname):
|
||||||
continue
|
continue
|
||||||
|
|
||||||
|
|
|
@ -19,7 +19,7 @@
|
||||||
* env.url_login_post_fields target=http://www.example.com
|
* env.url_login_post_fields target=http://www.example.com
|
||||||
*
|
*
|
||||||
* // Each page to test should be specified in the format of <label>=<url> where label is alphanumeric with no spaces and url is the page URL to test
|
* // Each page to test should be specified in the format of <label>=<url> where label is alphanumeric with no spaces and url is the page URL to test
|
||||||
* // You may specify multiple pages to time their page load by seperating them with commas ,
|
* // You may specify multiple pages to time their page load by separating them with commas ,
|
||||||
* env.urls label_page1=http://www.example.com/page1.php,label_page2=http://www.example.com/page2.php
|
* env.urls label_page1=http://www.example.com/page1.php,label_page2=http://www.example.com/page2.php
|
||||||
* env.cookie_file /tmp/cookie.txt
|
* env.cookie_file /tmp/cookie.txt
|
||||||
*
|
*
|
||||||
|
|
|
@ -248,7 +248,7 @@ B<autoconf>
|
||||||
|
|
||||||
Tries to find femon and outputs value 'yes' for success, 'no' if not.
|
Tries to find femon and outputs value 'yes' for success, 'no' if not.
|
||||||
|
|
||||||
It's used by B<munin-node-configure> to see wether autoconfiguration is possible.
|
It's used by B<munin-node-configure> to see whether autoconfiguration is possible.
|
||||||
|
|
||||||
=back
|
=back
|
||||||
|
|
||||||
|
|
|
@ -19,7 +19,7 @@
|
||||||
# queuecrit - When to crit
|
# queuecrit - When to crit
|
||||||
#
|
#
|
||||||
# Configuration:
|
# Configuration:
|
||||||
# Maybe need to add folowing lines to plugins config file
|
# Maybe need to add following lines to plugins config file
|
||||||
# (e.g. /etc/munin/plugin-conf.d/pure-ftpd) to run pure-ftpwho
|
# (e.g. /etc/munin/plugin-conf.d/pure-ftpd) to run pure-ftpwho
|
||||||
# as user with apropirate privilegs then restart munin-node.
|
# as user with apropirate privilegs then restart munin-node.
|
||||||
#
|
#
|
||||||
|
|
|
@ -10,7 +10,7 @@
|
||||||
#
|
#
|
||||||
#
|
#
|
||||||
# Configuration:
|
# Configuration:
|
||||||
# Maybe need to add folowing lines to plugins config file
|
# Maybe need to add following lines to plugins config file
|
||||||
# (e.g. /etc/munin/plugin-conf.d/pure-ftpd) to run pure-ftpwho
|
# (e.g. /etc/munin/plugin-conf.d/pure-ftpd) to run pure-ftpwho
|
||||||
# as user with apropirate privilegs then restart munin-node.
|
# as user with apropirate privilegs then restart munin-node.
|
||||||
#
|
#
|
||||||
|
|
|
@ -33,9 +33,9 @@ try:
|
||||||
from keystone import identity
|
from keystone import identity
|
||||||
|
|
||||||
except ImportError:
|
except ImportError:
|
||||||
succesful_import = False
|
successful_import = False
|
||||||
else:
|
else:
|
||||||
succesful_import = True
|
successful_import = True
|
||||||
|
|
||||||
|
|
||||||
def get_name_from_tenant(tenant):
|
def get_name_from_tenant(tenant):
|
||||||
|
@ -121,11 +121,11 @@ if __name__ == '__main__':
|
||||||
if len(argv) > 1:
|
if len(argv) > 1:
|
||||||
if argv[1] == 'config':
|
if argv[1] == 'config':
|
||||||
print_config(tenant)
|
print_config(tenant)
|
||||||
elif argv[1] == 'suggest' and succesful_import:
|
elif argv[1] == 'suggest' and successful_import:
|
||||||
load_conf()
|
load_conf()
|
||||||
print_suggest()
|
print_suggest()
|
||||||
elif argv[1] == 'autoconf':
|
elif argv[1] == 'autoconf':
|
||||||
if not succesful_import:
|
if not successful_import:
|
||||||
print 'no (failed import glance and/or sqlachemy module)'
|
print 'no (failed import glance and/or sqlachemy module)'
|
||||||
sys.exit(0)
|
sys.exit(0)
|
||||||
try:
|
try:
|
||||||
|
@ -136,7 +136,7 @@ if __name__ == '__main__':
|
||||||
sys.exit(0)
|
sys.exit(0)
|
||||||
print 'yes'
|
print 'yes'
|
||||||
|
|
||||||
elif succesful_import:
|
elif successful_import:
|
||||||
load_conf()
|
load_conf()
|
||||||
print_values(tenant)
|
print_values(tenant)
|
||||||
|
|
||||||
|
|
|
@ -25,9 +25,9 @@ try:
|
||||||
from glance.registry.db import models
|
from glance.registry.db import models
|
||||||
from glance.registry.db.api import get_session, configure_db
|
from glance.registry.db.api import get_session, configure_db
|
||||||
except ImportError:
|
except ImportError:
|
||||||
succesful_import = False
|
successful_import = False
|
||||||
else:
|
else:
|
||||||
succesful_import = True
|
successful_import = True
|
||||||
|
|
||||||
def load_conf():
|
def load_conf():
|
||||||
CONF = CommonConfigOpts(project="glance", prog="glance-registry")
|
CONF = CommonConfigOpts(project="glance", prog="glance-registry")
|
||||||
|
@ -86,7 +86,7 @@ if __name__ == '__main__':
|
||||||
if argv[1] == 'config':
|
if argv[1] == 'config':
|
||||||
print_config()
|
print_config()
|
||||||
elif argv[1] == 'autoconf':
|
elif argv[1] == 'autoconf':
|
||||||
if not succesful_import:
|
if not successful_import:
|
||||||
print 'no (failed import glance and/or sqlachemy module)'
|
print 'no (failed import glance and/or sqlachemy module)'
|
||||||
sys.exit(0)
|
sys.exit(0)
|
||||||
try:
|
try:
|
||||||
|
@ -97,7 +97,7 @@ if __name__ == '__main__':
|
||||||
sys.exit(0)
|
sys.exit(0)
|
||||||
print 'yes'
|
print 'yes'
|
||||||
|
|
||||||
elif succesful_import:
|
elif successful_import:
|
||||||
load_conf()
|
load_conf()
|
||||||
print_values()
|
print_values()
|
||||||
|
|
||||||
|
|
|
@ -17,11 +17,11 @@
|
||||||
#env.WORD2 bascom
|
#env.WORD2 bascom
|
||||||
#
|
#
|
||||||
# Version 0.5 24.1.2009
|
# Version 0.5 24.1.2009
|
||||||
# Added loop to check the first 500 pages. Note the script sleeps 5 seconds beween each page grab so
|
# Added loop to check the first 500 pages. Note the script sleeps 5 seconds between each page grab so
|
||||||
# If the word/url your looking for is in the higher positions then you need to increase the timeout
|
# If the word/url your looking for is in the higher positions then you need to increase the timeout
|
||||||
#
|
#
|
||||||
# Version 0.5 21.1.2009
|
# Version 0.5 21.1.2009
|
||||||
# Dump each page grabbed from google into seperate files (helps with debugging)
|
# Dump each page grabbed from google into separate files (helps with debugging)
|
||||||
#
|
#
|
||||||
# Version 0.4 19.1.2009
|
# Version 0.4 19.1.2009
|
||||||
# Fixed corrupt then empty cache file bug
|
# Fixed corrupt then empty cache file bug
|
||||||
|
|
|
@ -44,8 +44,8 @@ if ($#ARGV + 1 == 1)
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
print "Invalid arguement: $ARGV[0].\n";
|
print "Invalid argument: $ARGV[0].\n";
|
||||||
print "Valid arguements: @runTypes.\n";
|
print "Valid arguments: @runTypes.\n";
|
||||||
exit(1);
|
exit(1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -27,7 +27,7 @@ if ($mode eq 'autoconf')
|
||||||
if ($mode eq 'config')
|
if ($mode eq 'config')
|
||||||
{
|
{
|
||||||
# headers for the temperatur
|
# headers for the temperatur
|
||||||
print "graph_title HP Temperature sensors in Celcius\n";
|
print "graph_title HP Temperature sensors in Celsius\n";
|
||||||
print "graph_args --base 1000 -l 0\n";
|
print "graph_args --base 1000 -l 0\n";
|
||||||
print "graph_vlabel degrees Celsius\n";
|
print "graph_vlabel degrees Celsius\n";
|
||||||
print "graph_category sensors\n";
|
print "graph_category sensors\n";
|
||||||
|
|
|
@ -34,7 +34,7 @@ if ( exists $ARGV[0] and $ARGV[0] eq "config" ) {
|
||||||
print "graph_vlabel Memory Summary\n";
|
print "graph_vlabel Memory Summary\n";
|
||||||
print "graph_info The Graph shows the Jenkins Memory Summary\n";
|
print "graph_info The Graph shows the Jenkins Memory Summary\n";
|
||||||
print "mem_sum_total.draw AREA\n";
|
print "mem_sum_total.draw AREA\n";
|
||||||
print "mem_sum_total.label availible\n";
|
print "mem_sum_total.label available\n";
|
||||||
print "mem_sum_total.type GAUGE\n";
|
print "mem_sum_total.type GAUGE\n";
|
||||||
print "mem_sum_used.label used\n";
|
print "mem_sum_used.label used\n";
|
||||||
print "mem_sum_used.type GAUGE\n";
|
print "mem_sum_used.type GAUGE\n";
|
||||||
|
|
|
@ -19,9 +19,9 @@ try:
|
||||||
from keystone import exception
|
from keystone import exception
|
||||||
from keystone import identity
|
from keystone import identity
|
||||||
except ImportError:
|
except ImportError:
|
||||||
succesful_import = False
|
successful_import = False
|
||||||
else:
|
else:
|
||||||
succesful_import = True
|
successful_import = True
|
||||||
|
|
||||||
stats = ['users', 'tenants']
|
stats = ['users', 'tenants']
|
||||||
|
|
||||||
|
@ -89,7 +89,7 @@ if __name__ == '__main__':
|
||||||
if sys.argv[1] == "config":
|
if sys.argv[1] == "config":
|
||||||
print_config()
|
print_config()
|
||||||
elif sys.argv[1] == "autoconf":
|
elif sys.argv[1] == "autoconf":
|
||||||
if not succesful_import:
|
if not successful_import:
|
||||||
print 'no (failed import keystone module)'
|
print 'no (failed import keystone module)'
|
||||||
sys.exit(0)
|
sys.exit(0)
|
||||||
try:
|
try:
|
||||||
|
@ -100,7 +100,7 @@ if __name__ == '__main__':
|
||||||
sys.exit(0)
|
sys.exit(0)
|
||||||
print 'yes'
|
print 'yes'
|
||||||
|
|
||||||
elif succesful_import:
|
elif successful_import:
|
||||||
load_conf()
|
load_conf()
|
||||||
print_values()
|
print_values()
|
||||||
|
|
||||||
|
|
|
@ -25,7 +25,7 @@ This plugin reads a "lxc.network.veth.pair" setting from "config" file of each c
|
||||||
because lxc-start command creates a random named veth device without the setting.
|
because lxc-start command creates a random named veth device without the setting.
|
||||||
|
|
||||||
If your xen config (/var/lib/lxc/GUEST_NAME/config does not contain this parameter,
|
If your xen config (/var/lib/lxc/GUEST_NAME/config does not contain this parameter,
|
||||||
then you have to fill it, becouse if every guest restart generate new device name, then the graph will be useless
|
then you have to fill it, because if every guest restart generate new device name, then the graph will be useless
|
||||||
( example config : lxc.network.veth.pair = vethsamba )
|
( example config : lxc.network.veth.pair = vethsamba )
|
||||||
|
|
||||||
=head1 AUTHOR
|
=head1 AUTHOR
|
||||||
|
|
|
@ -38,7 +38,7 @@ if [ "$1" = "config" ]; then
|
||||||
echo 'graph_title Postfix Mail Counter'
|
echo 'graph_title Postfix Mail Counter'
|
||||||
echo 'graph_args --base 1000 -l 0'
|
echo 'graph_args --base 1000 -l 0'
|
||||||
echo 'graph_vlabel Hourly Messages'
|
echo 'graph_vlabel Hourly Messages'
|
||||||
echo 'recieved.label Delivered'
|
echo 'received.label Delivered'
|
||||||
echo 'sent.label Outgoing'
|
echo 'sent.label Outgoing'
|
||||||
echo 'rejecthelo.label Invalid HELO'
|
echo 'rejecthelo.label Invalid HELO'
|
||||||
echo 'rejectsenderdomain.label need FQDN'
|
echo 'rejectsenderdomain.label need FQDN'
|
||||||
|
@ -48,7 +48,7 @@ if [ "$1" = "config" ]; then
|
||||||
exit 0
|
exit 0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo -en "recieved.value "
|
echo -en "received.value "
|
||||||
echo $(grep "status=sent (delivered" $LOGFILE | grep "$DATE" | wc -l)
|
echo $(grep "status=sent (delivered" $LOGFILE | grep "$DATE" | wc -l)
|
||||||
echo -n
|
echo -n
|
||||||
echo -en "sent.value "
|
echo -en "sent.value "
|
||||||
|
|
|
@ -156,7 +156,7 @@ if (!defined($ENV{path}) || !(-x $ENV{path})) {
|
||||||
}
|
}
|
||||||
munin_exit_fail() unless (defined($ENV{path}) && -x $ENV{path});
|
munin_exit_fail() unless (defined($ENV{path}) && -x $ENV{path});
|
||||||
|
|
||||||
##### I have to parse the output BEFORE config, since policy matchs are dependant of the postfwd --dumpstats output
|
##### I have to parse the output BEFORE config, since policy matchs are dependent of the postfwd --dumpstats output
|
||||||
open(DATA, $ENV{path}.' --dumpstats |') or munin_exit_fail();
|
open(DATA, $ENV{path}.' --dumpstats |') or munin_exit_fail();
|
||||||
my $total_requests;
|
my $total_requests;
|
||||||
while(defined (my $data = <DATA>)) {
|
while(defined (my $data = <DATA>)) {
|
||||||
|
|
|
@ -118,7 +118,7 @@ if [ "$1" = "config" ]; then
|
||||||
echo 'failedauth.info The remote server attempted to authenticate but the given username and/or password were incorrect ("smtp-auth-command" or "smtp-auth-command-encryption"). '
|
echo 'failedauth.info The remote server attempted to authenticate but the given username and/or password were incorrect ("smtp-auth-command" or "smtp-auth-command-encryption"). '
|
||||||
echo 'failedauth.min 1'
|
echo 'failedauth.min 1'
|
||||||
echo 'unknownauth.label UNKNOWN_AUTH'
|
echo 'unknownauth.label UNKNOWN_AUTH'
|
||||||
echo 'unknownauth.info The remote server requested an authentication method spamdyke doesnt support. This shouldnt happen. '
|
echo 'unknownauth.info The remote server requested an authentication method spamdyke doesnt support. This should not happen. '
|
||||||
echo 'unknownauth.min 1'
|
echo 'unknownauth.min 1'
|
||||||
echo 'failedtls.label FAILED_TLS'
|
echo 'failedtls.label FAILED_TLS'
|
||||||
echo 'failedtls.info The remote client attempted to start a TLS session but SSL negotiation failed.'
|
echo 'failedtls.info The remote client attempted to start a TLS session but SSL negotiation failed.'
|
||||||
|
|
|
@ -310,7 +310,7 @@ $graphs{unfetched} = {
|
||||||
vlabel => 'Unfetched Items per ${graph_period}',
|
vlabel => 'Unfetched Items per ${graph_period}',
|
||||||
category => 'memcached global unfetched',
|
category => 'memcached global unfetched',
|
||||||
title => 'Unfetched Items',
|
title => 'Unfetched Items',
|
||||||
info => 'Number of items that were never touched get/incr/append/etc before X occured',
|
info => 'Number of items that were never touched get/incr/append/etc before X occurred',
|
||||||
},
|
},
|
||||||
datasrc => [
|
datasrc => [
|
||||||
{ name => 'expired_unfetched', type => 'DERIVE', label => 'Expired Unfetched', min => '0',
|
{ name => 'expired_unfetched', type => 'DERIVE', label => 'Expired Unfetched', min => '0',
|
||||||
|
@ -349,8 +349,8 @@ $graphs{slabhits} = {
|
||||||
{ name => 'delete_hits', label => 'Delete Requests', type => 'DERIVE', min => '0' },
|
{ name => 'delete_hits', label => 'Delete Requests', type => 'DERIVE', min => '0' },
|
||||||
{ name => 'incr_hits', label => 'Increment Requests', type => 'DERIVE', min => '0' },
|
{ name => 'incr_hits', label => 'Increment Requests', type => 'DERIVE', min => '0' },
|
||||||
{ name => 'decr_hits', label => 'Decrement Requests', type => 'DERIVE', min => '0' },
|
{ name => 'decr_hits', label => 'Decrement Requests', type => 'DERIVE', min => '0' },
|
||||||
{ name => 'cas_hits', label => 'Sucessful CAS Requests', type => 'DERIVE', min => '0' },
|
{ name => 'cas_hits', label => 'Successful CAS Requests', type => 'DERIVE', min => '0' },
|
||||||
{ name => 'cas_badval', label => 'UnSucessful CAS Requests', type => 'DERIVE', min => '0' },
|
{ name => 'cas_badval', label => 'UnSuccessful CAS Requests', type => 'DERIVE', min => '0' },
|
||||||
{ name => 'touch_hits', label => 'Touch Requests', type => 'DERIVE', min => '0' },
|
{ name => 'touch_hits', label => 'Touch Requests', type => 'DERIVE', min => '0' },
|
||||||
],
|
],
|
||||||
};
|
};
|
||||||
|
@ -420,7 +420,7 @@ $graphs{slabunfetched} = {
|
||||||
vlabel => 'Unfetched Items per ${graph_period}',
|
vlabel => 'Unfetched Items per ${graph_period}',
|
||||||
category => 'memcached slab unfetched',
|
category => 'memcached slab unfetched',
|
||||||
title => 'Unfetched Items in Slab: ',
|
title => 'Unfetched Items in Slab: ',
|
||||||
info => 'Number of items that were never touched get/incr/append/etc before X occured',
|
info => 'Number of items that were never touched get/incr/append/etc before X occurred',
|
||||||
},
|
},
|
||||||
datasrc => [
|
datasrc => [
|
||||||
{ name => 'expired_unfetched', type => 'DERIVE', label => 'Expired Unfetched', min => '0',
|
{ name => 'expired_unfetched', type => 'DERIVE', label => 'Expired Unfetched', min => '0',
|
||||||
|
|
|
@ -66,7 +66,7 @@ wither.label killed withers
|
||||||
exit();
|
exit();
|
||||||
}
|
}
|
||||||
|
|
||||||
## Construct 'minumum' timstamp
|
## Construct 'minimum' timstamp
|
||||||
$current = mktime();
|
$current = mktime();
|
||||||
$today = mktime(0, 0, 0, date("n", $current), date("j", $current), date("Y", $current));
|
$today = mktime(0, 0, 0, date("n", $current), date("j", $current), date("Y", $current));
|
||||||
|
|
||||||
|
|
|
@ -48,7 +48,7 @@ snowman.label killed snowmen
|
||||||
exit();
|
exit();
|
||||||
}
|
}
|
||||||
|
|
||||||
// Construct 'minumum' timstamp
|
// Construct 'minimum' timstamp
|
||||||
$current = mktime();
|
$current = mktime();
|
||||||
$today = mktime(0, 0, 0, date("n", $current), date("j", $current), date("Y", $current));
|
$today = mktime(0, 0, 0, date("n", $current), date("j", $current), date("Y", $current));
|
||||||
|
|
||||||
|
|
|
@ -58,7 +58,7 @@ villager.label killed villager
|
||||||
exit();
|
exit();
|
||||||
}
|
}
|
||||||
|
|
||||||
// Construct 'minumum' timstamp
|
// Construct 'minimum' timstamp
|
||||||
$current = mktime();
|
$current = mktime();
|
||||||
$today = mktime(0, 0, 0, date("n", $current), date("j", $current), date("Y", $current));
|
$today = mktime(0, 0, 0, date("n", $current), date("j", $current), date("Y", $current));
|
||||||
|
|
||||||
|
|
|
@ -42,7 +42,7 @@ players.label new players
|
||||||
exit();
|
exit();
|
||||||
}
|
}
|
||||||
|
|
||||||
// Construct 'minumum' timstamp
|
// Construct 'minimum' timstamp
|
||||||
$current = mktime();
|
$current = mktime();
|
||||||
$today = mktime(0, 0, 0, date("n", $current), date("j", $current), date("Y", $current));
|
$today = mktime(0, 0, 0, date("n", $current), date("j", $current), date("Y", $current));
|
||||||
|
|
||||||
|
|
|
@ -59,7 +59,7 @@ mute.label mutes
|
||||||
exit();
|
exit();
|
||||||
}
|
}
|
||||||
|
|
||||||
// Construct 'minumum' timstamp
|
// Construct 'minimum' timstamp
|
||||||
$current = mktime();
|
$current = mktime();
|
||||||
$today = mktime(0, 0, 0, date("n", $current), date("j", $current), date("Y", $current));
|
$today = mktime(0, 0, 0, date("n", $current), date("j", $current), date("Y", $current));
|
||||||
|
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
#
|
#
|
||||||
# Requirements:
|
# Requirements:
|
||||||
#
|
#
|
||||||
# Moblock up and runing with generated log files going to /var/log/moblock
|
# Moblock up and running with generated log files going to /var/log/moblock
|
||||||
#
|
#
|
||||||
# Parameters supported:
|
# Parameters supported:
|
||||||
#
|
#
|
||||||
|
|
|
@ -36,7 +36,7 @@
|
||||||
# config (required)
|
# config (required)
|
||||||
#
|
#
|
||||||
# Config variables:
|
# Config variables:
|
||||||
# sqluser : mssql user who has view server state priviledge
|
# sqluser : mssql user who has view server state privilege
|
||||||
# sqlpass : password for the mssql user
|
# sqlpass : password for the mssql user
|
||||||
# dsn : datasource name as defined in /etc/odbc.ini
|
# dsn : datasource name as defined in /etc/odbc.ini
|
||||||
# instance: instance to monitor
|
# instance: instance to monitor
|
||||||
|
|
|
@ -36,7 +36,7 @@
|
||||||
# config (required)
|
# config (required)
|
||||||
#
|
#
|
||||||
# Config variables:
|
# Config variables:
|
||||||
# sqluser : mssql user who has view server state priviledge
|
# sqluser : mssql user who has view server state privilege
|
||||||
# sqlpass : password for the mssql user
|
# sqlpass : password for the mssql user
|
||||||
# dsn : datasource name as defined in /etc/odbc.ini
|
# dsn : datasource name as defined in /etc/odbc.ini
|
||||||
#
|
#
|
||||||
|
|
|
@ -36,7 +36,7 @@
|
||||||
# config (required)
|
# config (required)
|
||||||
#
|
#
|
||||||
# Config variables:
|
# Config variables:
|
||||||
# sqluser : mssql user who has view server state priviledge
|
# sqluser : mssql user who has view server state privilege
|
||||||
# sqlpass : password for the mssql user
|
# sqlpass : password for the mssql user
|
||||||
# dsn : datasource name as defined in /etc/odbc.ini
|
# dsn : datasource name as defined in /etc/odbc.ini
|
||||||
# instance: instance to monitor
|
# instance: instance to monitor
|
||||||
|
|
|
@ -36,7 +36,7 @@
|
||||||
# config (required)
|
# config (required)
|
||||||
#
|
#
|
||||||
# Config variables:
|
# Config variables:
|
||||||
# sqluser : mssql user who has view server state priviledge
|
# sqluser : mssql user who has view server state privilege
|
||||||
# sqlpass : password for the mssql user
|
# sqlpass : password for the mssql user
|
||||||
# dsn : datasource name as defined in /etc/odbc.ini
|
# dsn : datasource name as defined in /etc/odbc.ini
|
||||||
# instance: instance to monitor
|
# instance: instance to monitor
|
||||||
|
|
|
@ -26,7 +26,7 @@
|
||||||
# Fixed the SQL query for the recorded programs/added the number of hours recorded
|
# Fixed the SQL query for the recorded programs/added the number of hours recorded
|
||||||
#
|
#
|
||||||
# Revision 0.5 2008/03/29 idobson
|
# Revision 0.5 2008/03/29 idobson
|
||||||
# Added upcomming recordings SQL query to the schedule code
|
# Added upcoming recordings SQL query to the schedule code
|
||||||
#
|
#
|
||||||
# Revision 0.6 2008/04/1 idobson
|
# Revision 0.6 2008/04/1 idobson
|
||||||
# Added a "watched recordings" to the recorded list. This is only available in MythTV ver.21
|
# Added a "watched recordings" to the recorded list. This is only available in MythTV ver.21
|
||||||
|
@ -61,7 +61,7 @@
|
||||||
#
|
#
|
||||||
# Revision 1.4 2010/10/10 idobson
|
# Revision 1.4 2010/10/10 idobson
|
||||||
# MythTV database information always loaded (used by autoconf,config and data dump for most options)
|
# MythTV database information always loaded (used by autoconf,config and data dump for most options)
|
||||||
# Active tuner now split up by video source, hung encoders are listed seperatly
|
# Active tuner now split up by video source, hung encoders are listed separatly
|
||||||
# Schedule now uses myth module/QUERY_GETALLPENDING to get Scheduled Recordings/Repeats/Conflicts
|
# Schedule now uses myth module/QUERY_GETALLPENDING to get Scheduled Recordings/Repeats/Conflicts
|
||||||
# Recorded now splits recorded into groups (Expireable, Delete pending, Save)
|
# Recorded now splits recorded into groups (Expireable, Delete pending, Save)
|
||||||
# Code now strict safe
|
# Code now strict safe
|
||||||
|
@ -183,15 +183,15 @@ PrepSQLRead();
|
||||||
print "graph_category MythTV\n";
|
print "graph_category MythTV\n";
|
||||||
print "graph_vlabel Programs\n";
|
print "graph_vlabel Programs\n";
|
||||||
print "RecordingRecordings.label Programs that will be recorded\n";
|
print "RecordingRecordings.label Programs that will be recorded\n";
|
||||||
print "RecordingRecordings.info Upcomming programs that will be recorded\n";
|
print "RecordingRecordings.info Upcoming programs that will be recorded\n";
|
||||||
print "RecordingRecordings.draw AREA\n";
|
print "RecordingRecordings.draw AREA\n";
|
||||||
print "RecordingConflict.label Recording Conflicts\n";
|
print "RecordingConflict.label Recording Conflicts\n";
|
||||||
print "RecordingConflict.info Upcomming programs that won't be recorded due to tuner conflicts\n";
|
print "RecordingConflict.info Upcoming programs that won't be recorded due to tuner conflicts\n";
|
||||||
print "RecordingConflict.draw STACK\n";
|
print "RecordingConflict.draw STACK\n";
|
||||||
print "RecordingConflict.colour FF0000\n";
|
print "RecordingConflict.colour FF0000\n";
|
||||||
print "RecordingConflict.warning 0:0\n";
|
print "RecordingConflict.warning 0:0\n";
|
||||||
print "RecordingRepeats.label Recording repeats (Already recorded)\n";
|
print "RecordingRepeats.label Recording repeats (Already recorded)\n";
|
||||||
print "RecordingRepeats.info Upcomming programs that are already recorded (Repeats)\n";
|
print "RecordingRepeats.info Upcoming programs that are already recorded (Repeats)\n";
|
||||||
print "RecordingRepeats.draw STACK\n";
|
print "RecordingRepeats.draw STACK\n";
|
||||||
print "RecordingRepeats.colour 0000FF\n";
|
print "RecordingRepeats.colour 0000FF\n";
|
||||||
print "RecordingDisabled.label Disabled recordings\n";
|
print "RecordingDisabled.label Disabled recordings\n";
|
||||||
|
@ -242,7 +242,7 @@ PrepSQLRead();
|
||||||
|
|
||||||
print "Watched.label Programs already watched\n";
|
print "Watched.label Programs already watched\n";
|
||||||
print "Watched.colour 000000\n";
|
print "Watched.colour 000000\n";
|
||||||
print "Watched.info Programes that have been watched atleast once\n";
|
print "Watched.info Programes that have been watched at least once\n";
|
||||||
print "Watched.draw LINE1\n";
|
print "Watched.draw LINE1\n";
|
||||||
}
|
}
|
||||||
exit 0;
|
exit 0;
|
||||||
|
|
|
@ -146,7 +146,7 @@ fi
|
||||||
if [ "$1" = "config" ]; then
|
if [ "$1" = "config" ]; then
|
||||||
|
|
||||||
echo 'multigraph '${0##*/}'_in'
|
echo 'multigraph '${0##*/}'_in'
|
||||||
echo 'graph_title '$SUBCHAIN' traffic incomming ('$PROTO')'
|
echo 'graph_title '$SUBCHAIN' traffic incoming ('$PROTO')'
|
||||||
echo 'graph_args --base 1024 -l 0'
|
echo 'graph_args --base 1024 -l 0'
|
||||||
echo 'graph_vlabel bytes per ${graph_period}'
|
echo 'graph_vlabel bytes per ${graph_period}'
|
||||||
echo 'graph_order tcpIN udpIN icmpIN'
|
echo 'graph_order tcpIN udpIN icmpIN'
|
||||||
|
|
|
@ -102,7 +102,7 @@ if response.code != '200'
|
||||||
puts 'Probably because the username and password are incorrect'
|
puts 'Probably because the username and password are incorrect'
|
||||||
#Looks like the modem respons with 200 when you try to access a page that doesnt exist >_>
|
#Looks like the modem respons with 200 when you try to access a page that doesnt exist >_>
|
||||||
#when '404'
|
#when '404'
|
||||||
# puts 'Looks like the page this plugin needs isn\'t availible...'
|
# puts 'Looks like the page this plugin needs isn\'t available...'
|
||||||
# puts 'Check your modem make/model/version'
|
# puts 'Check your modem make/model/version'
|
||||||
end
|
end
|
||||||
puts s
|
puts s
|
||||||
|
|
|
@ -94,7 +94,7 @@ function DoCurl($url,$soap,$xml) {
|
||||||
$ch = curl_init("http://" . $GLOBALS["host"] . ":49000" . $url);
|
$ch = curl_init("http://" . $GLOBALS["host"] . ":49000" . $url);
|
||||||
|
|
||||||
$headers = array();
|
$headers = array();
|
||||||
//$headers[] = 'POST ' . $url . ' HTTP/1.1'; // Will be automaticly set.
|
//$headers[] = 'POST ' . $url . ' HTTP/1.1'; // Will be automatically set.
|
||||||
$headers[] = 'Content-Type: text/xml; charset="utf-8"';
|
$headers[] = 'Content-Type: text/xml; charset="utf-8"';
|
||||||
$headers[] = 'HOST: ' . $GLOBALS["host"] . ':49000';
|
$headers[] = 'HOST: ' . $GLOBALS["host"] . ':49000';
|
||||||
$headers[] = 'Content-Length: ' . strlen($xml);
|
$headers[] = 'Content-Length: ' . strlen($xml);
|
||||||
|
|
|
@ -20,7 +20,7 @@ IP=${IP:-"192.168.1.254"}
|
||||||
if [ "$1" = "config" ]
|
if [ "$1" = "config" ]
|
||||||
then
|
then
|
||||||
echo multigraph dbox_adsl_bw
|
echo multigraph dbox_adsl_bw
|
||||||
echo graph_title DartyBox Adsl Bandwith
|
echo graph_title DartyBox Adsl Bandwidth
|
||||||
echo graph_category DartyBox
|
echo graph_category DartyBox
|
||||||
echo up.label UpStream
|
echo up.label UpStream
|
||||||
echo down.label DownStream
|
echo down.label DownStream
|
||||||
|
|
|
@ -55,7 +55,7 @@ sub parseFile {
|
||||||
$zone = defined($zone) ? $zone : "";
|
$zone = defined($zone) ? $zone : "";
|
||||||
if ($zone eq $dom) {
|
if ($zone eq $dom) {
|
||||||
if (defined $lst->{$type}) {
|
if (defined $lst->{$type}) {
|
||||||
# only keep the latest occurence for each value
|
# only keep the latest occurrence for each value
|
||||||
$lst->{$type} = $count;
|
$lst->{$type} = $count;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
# Author : Thomas VIAL
|
# Author : Thomas VIAL
|
||||||
# Author URL : http://tvi.al
|
# Author URL : http://tvi.al
|
||||||
# Usage : ln -s /path/to/fping_ /etc/munin/plugins/fping_www.google.com
|
# Usage : ln -s /path/to/fping_ /etc/munin/plugins/fping_www.google.com
|
||||||
# Explaination : Will graph connection to www.google.com
|
# Explanation : Will graph connection to www.google.com
|
||||||
# Requirements :
|
# Requirements :
|
||||||
# * fping
|
# * fping
|
||||||
#
|
#
|
||||||
|
|
|
@ -449,7 +449,7 @@ sub check_req()
|
||||||
|
|
||||||
|
|
||||||
########################################################################
|
########################################################################
|
||||||
# beyond that line, it should be generic stuffs, not dependant on what
|
# beyond that line, it should be generic stuffs, not dependent on what
|
||||||
# you are trying to graph
|
# you are trying to graph
|
||||||
#
|
#
|
||||||
|
|
||||||
|
@ -577,7 +577,7 @@ sub run_fetch() {
|
||||||
}
|
}
|
||||||
push @{$data->{$field->[0]}}, $field;
|
push @{$data->{$field->[0]}}, $field;
|
||||||
}
|
}
|
||||||
# finished reading ? trucate it right away
|
# finished reading ? truncate it right away
|
||||||
truncate CACHE, 0;
|
truncate CACHE, 0;
|
||||||
close CACHE;
|
close CACHE;
|
||||||
foreach my $graph (keys %$data) {
|
foreach my $graph (keys %$data) {
|
||||||
|
|
|
@ -286,7 +286,7 @@ def graphs_for(protocol)
|
||||||
[ /(\d+) packets with ECN CE bit set$/, [ [ :packets, 'CE bit' ] ] ],
|
[ /(\d+) packets with ECN CE bit set$/, [ [ :packets, 'CE bit' ] ] ],
|
||||||
[ /(\d+) packets with ECN ECT\(0\) bit set$/, [ [ :packets, 'ECT(0) bit' ] ] ],
|
[ /(\d+) packets with ECN ECT\(0\) bit set$/, [ [ :packets, 'ECT(0) bit' ] ] ],
|
||||||
[ /(\d+) packets with ECN ECT\(1\) bit set$/, [ [ :packets, 'ECT(1) bit' ] ] ],
|
[ /(\d+) packets with ECN ECT\(1\) bit set$/, [ [ :packets, 'ECT(1) bit' ] ] ],
|
||||||
[ /(\d+) successful ECN handshakes$/, [ [ :packets, 'successfull handshakes' ] ] ],
|
[ /(\d+) successful ECN handshakes$/, [ [ :packets, 'successful handshakes' ] ] ],
|
||||||
[ /(\d+) times ECN reduced the congestion window$/, [ [ :packets, 'congestion window reduced' ] ] ]
|
[ /(\d+) times ECN reduced the congestion window$/, [ [ :packets, 'congestion window reduced' ] ] ]
|
||||||
])
|
])
|
||||||
]
|
]
|
||||||
|
|
|
@ -20,12 +20,12 @@
|
||||||
force the running nsd process to write the current statistics.
|
force the running nsd process to write the current statistics.
|
||||||
|
|
||||||
Tip: To see if it's already set up correctly, just run this plugin
|
Tip: To see if it's already set up correctly, just run this plugin
|
||||||
with the paramater "autoconf". If you get a "yes", everything should
|
with the parameter "autoconf". If you get a "yes", everything should
|
||||||
work like a charm already.
|
work like a charm already.
|
||||||
|
|
||||||
This configuration section shows the defaults of the plugin:
|
This configuration section shows the defaults of the plugin:
|
||||||
|
|
||||||
The stats line is a set of space-seperated values that you wish to
|
The stats line is a set of space-separated values that you wish to
|
||||||
retrieve from NSD. The format is VALUE=Caption. For spaces in a
|
retrieve from NSD. The format is VALUE=Caption. For spaces in a
|
||||||
caption value, replace them with an underscore (_).
|
caption value, replace them with an underscore (_).
|
||||||
|
|
||||||
|
@ -35,7 +35,7 @@
|
||||||
env.stats "A=A AAAA=AAAA MX=MX PTR=PTR TYPE252=AXFR SNXD=NXDOMAIN RQ=Total_Successful"
|
env.stats "A=A AAAA=AAAA MX=MX PTR=PTR TYPE252=AXFR SNXD=NXDOMAIN RQ=Total_Successful"
|
||||||
|
|
||||||
If you need to set a user for the logfile to be readable, and most
|
If you need to set a user for the logfile to be readable, and most
|
||||||
importantly, the process to recieve the signal, you may specify it.
|
importantly, the process to receive the signal, you may specify it.
|
||||||
For example:
|
For example:
|
||||||
|
|
||||||
[nsd]
|
[nsd]
|
||||||
|
@ -43,7 +43,7 @@
|
||||||
|
|
||||||
=head1 INTERPRETATION
|
=head1 INTERPRETATION
|
||||||
|
|
||||||
The plugin shows the number of queries that nsd has recieved,
|
The plugin shows the number of queries that nsd has received,
|
||||||
averaged over a period to gain the number of queries per second.
|
averaged over a period to gain the number of queries per second.
|
||||||
For most servers, these values will be very low. In the event
|
For most servers, these values will be very low. In the event
|
||||||
of a misconfiguration, the plugin will return undefined values.
|
of a misconfiguration, the plugin will return undefined values.
|
||||||
|
@ -77,7 +77,7 @@ import signal
|
||||||
|
|
||||||
STATS_FILE = os.environ.get('statsfile', '/var/log/nsd.log')
|
STATS_FILE = os.environ.get('statsfile', '/var/log/nsd.log')
|
||||||
PID_FILE = os.environ.get('pidfile', '/var/run/nsd3/nsd.pid')
|
PID_FILE = os.environ.get('pidfile', '/var/run/nsd3/nsd.pid')
|
||||||
STATS_STRING = os.environ.get('stats', "A=A AAAA=AAAA MX=MX PTR=PTR TYPE252=AXFR SNXD=NXDOMAIN RQ=Total_Succesful")
|
STATS_STRING = os.environ.get('stats', "A=A AAAA=AAAA MX=MX PTR=PTR TYPE252=AXFR SNXD=NXDOMAIN RQ=Total_Successful")
|
||||||
|
|
||||||
BOTH_LISTS = STATS_STRING.split()
|
BOTH_LISTS = STATS_STRING.split()
|
||||||
|
|
||||||
|
|
|
@ -815,7 +815,7 @@ drops.type DERIVE
|
||||||
drops.min 0
|
drops.min 0
|
||||||
established.label TCP connections established
|
established.label TCP connections established
|
||||||
established.type GAUGE
|
established.type GAUGE
|
||||||
received.label TCP packets recieved
|
received.label TCP packets received
|
||||||
received.type DERIVE
|
received.type DERIVE
|
||||||
received.min 0
|
received.min 0
|
||||||
transmitted.label TCP packets transmitted
|
transmitted.label TCP packets transmitted
|
||||||
|
|
|
@ -33,7 +33,7 @@
|
||||||
#
|
#
|
||||||
# If you're using CookieAuthentication, you should run this plugin as
|
# If you're using CookieAuthentication, you should run this plugin as
|
||||||
# a user which has read access to the tor datafiles. Also note that
|
# a user which has read access to the tor datafiles. Also note that
|
||||||
# bugs in versions upto and including 0.1.1.20 prevent
|
# bugs in versions up to and including 0.1.1.20 prevent
|
||||||
# CookieAuthentication from working.
|
# CookieAuthentication from working.
|
||||||
#
|
#
|
||||||
# Usage: place in /etc/munin/plugins (or link it there using ln -s)
|
# Usage: place in /etc/munin/plugins (or link it there using ln -s)
|
||||||
|
|
|
@ -18,7 +18,7 @@
|
||||||
# effect, that file shouldn't be world-readable.
|
# effect, that file shouldn't be world-readable.
|
||||||
# If you're using CookieAuthentication, you should run this plugin as a user
|
# If you're using CookieAuthentication, you should run this plugin as a user
|
||||||
# which has read access to the tor datafiles. Also note that bugs in versions
|
# which has read access to the tor datafiles. Also note that bugs in versions
|
||||||
# upto and including 0.1.1.20 prevent CookieAuthentication from working.
|
# up to and including 0.1.1.20 prevent CookieAuthentication from working.
|
||||||
#
|
#
|
||||||
# Usage: place in /etc/munin/node.d/ (or link it there using ln -s)
|
# Usage: place in /etc/munin/node.d/ (or link it there using ln -s)
|
||||||
#
|
#
|
||||||
|
|
|
@ -26,7 +26,7 @@
|
||||||
********************
|
********************
|
||||||
* Please Note: This version was only tested on one single router so far.
|
* Please Note: This version was only tested on one single router so far.
|
||||||
* I tried to make the router detection pretty general, but you never know.
|
* I tried to make the router detection pretty general, but you never know.
|
||||||
* If you have a router with enabled upnp not beeing detected by this script
|
* If you have a router with enabled upnp not being detected by this script
|
||||||
* feel free to send me an email with your output of:
|
* feel free to send me an email with your output of:
|
||||||
*
|
*
|
||||||
* $ upnpc -s
|
* $ upnpc -s
|
||||||
|
|
|
@ -134,7 +134,7 @@ else:
|
||||||
|
|
||||||
log_handle.close()
|
log_handle.close()
|
||||||
|
|
||||||
# Handle graph type (_num for absolute numbers and anything alse for percents)
|
# Handle graph type (_num for absolute numbers and anything else for percents)
|
||||||
if graph_type != "number":
|
if graph_type != "number":
|
||||||
for key in cache_status_list.keys():
|
for key in cache_status_list.keys():
|
||||||
if key != "TOTAL":
|
if key != "TOTAL":
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
# one unique access log file with $bytes_sent value for more accuracy
|
# one unique access log file with $bytes_sent value for more accuracy
|
||||||
# check http://wiki.nginx.org/NginxHttpLogModule
|
# check http://wiki.nginx.org/NginxHttpLogModule
|
||||||
#
|
#
|
||||||
# Configuration Options (all options have defauts)
|
# Configuration Options (all options have defaults)
|
||||||
# [nginx_vhost_traffic]
|
# [nginx_vhost_traffic]
|
||||||
#
|
#
|
||||||
# Virtual host list
|
# Virtual host list
|
||||||
|
@ -97,7 +97,7 @@ END {
|
||||||
} else rest+=cn[host]
|
} else rest+=cn[host]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
print "agregate: " ENVIRON["AGGREGATE"]
|
print "aggregate: " ENVIRON["AGGREGATE"]
|
||||||
for (vhost in track) print "vhost" track[vhost] ".value " res[vhost]+0
|
for (vhost in track) print "vhost" track[vhost] ".value " res[vhost]+0
|
||||||
print "rest.value " rest + 0
|
print "rest.value " rest + 0
|
||||||
}'
|
}'
|
||||||
|
|
|
@ -22,9 +22,9 @@ try:
|
||||||
from nova import flags
|
from nova import flags
|
||||||
from nova import utils
|
from nova import utils
|
||||||
except ImportError:
|
except ImportError:
|
||||||
succesful_import = False
|
successful_import = False
|
||||||
else:
|
else:
|
||||||
succesful_import = True
|
successful_import = True
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -72,12 +72,12 @@ if __name__ == '__main__':
|
||||||
if sys.argv[1] == "config":
|
if sys.argv[1] == "config":
|
||||||
print_config()
|
print_config()
|
||||||
elif sys.argv[1] == "autoconf":
|
elif sys.argv[1] == "autoconf":
|
||||||
if not succesful_import:
|
if not successful_import:
|
||||||
print 'no (failed import nova module)'
|
print 'no (failed import nova module)'
|
||||||
sys.exit(0)
|
sys.exit(0)
|
||||||
else:
|
else:
|
||||||
print 'yes'
|
print 'yes'
|
||||||
elif succesful_import:
|
elif successful_import:
|
||||||
utils.default_flagfile()
|
utils.default_flagfile()
|
||||||
flags.FLAGS(sys.argv)
|
flags.FLAGS(sys.argv)
|
||||||
print_values()
|
print_values()
|
||||||
|
|
|
@ -23,9 +23,9 @@ try:
|
||||||
from nova import utils
|
from nova import utils
|
||||||
from nova.compute import power_state
|
from nova.compute import power_state
|
||||||
except ImportError:
|
except ImportError:
|
||||||
succesful_import = False
|
successful_import = False
|
||||||
else:
|
else:
|
||||||
succesful_import = True
|
successful_import = True
|
||||||
|
|
||||||
|
|
||||||
class InstanceState(object):
|
class InstanceState(object):
|
||||||
|
@ -114,10 +114,10 @@ if __name__ == '__main__':
|
||||||
elif argv[1] == 'suggest':
|
elif argv[1] == 'suggest':
|
||||||
print_suggest()
|
print_suggest()
|
||||||
elif argv[1] == 'autoconf':
|
elif argv[1] == 'autoconf':
|
||||||
if not succesful_import:
|
if not successful_import:
|
||||||
print 'no (failed import nova module)'
|
print 'no (failed import nova module)'
|
||||||
sys.exit(0)
|
sys.exit(0)
|
||||||
else:
|
else:
|
||||||
print 'yes'
|
print 'yes'
|
||||||
elif succesful_import:
|
elif successful_import:
|
||||||
print_values(metric)
|
print_values(metric)
|
||||||
|
|
|
@ -23,9 +23,9 @@ try:
|
||||||
from nova import utils
|
from nova import utils
|
||||||
from nova.db.sqlalchemy.session import get_session
|
from nova.db.sqlalchemy.session import get_session
|
||||||
except ImportError:
|
except ImportError:
|
||||||
succesful_import = False
|
successful_import = False
|
||||||
else:
|
else:
|
||||||
succesful_import = True
|
successful_import = True
|
||||||
|
|
||||||
def print_config():
|
def print_config():
|
||||||
global states
|
global states
|
||||||
|
@ -52,12 +52,12 @@ if __name__ == '__main__':
|
||||||
if sys.argv[1] == "config":
|
if sys.argv[1] == "config":
|
||||||
print_config()
|
print_config()
|
||||||
elif sys.argv[1]=="autoconf" :
|
elif sys.argv[1]=="autoconf" :
|
||||||
if not succesful_import:
|
if not successful_import:
|
||||||
print 'no (failed import nova module)'
|
print 'no (failed import nova module)'
|
||||||
sys.exit(0)
|
sys.exit(0)
|
||||||
else:
|
else:
|
||||||
print 'yes'
|
print 'yes'
|
||||||
elif succesful_import:
|
elif successful_import:
|
||||||
utils.default_flagfile()
|
utils.default_flagfile()
|
||||||
flags.FLAGS(sys.argv)
|
flags.FLAGS(sys.argv)
|
||||||
print_values()
|
print_values()
|
||||||
|
|
|
@ -23,9 +23,9 @@ try:
|
||||||
from nova import utils
|
from nova import utils
|
||||||
from nova.db.sqlalchemy.session import get_session
|
from nova.db.sqlalchemy.session import get_session
|
||||||
except ImportError:
|
except ImportError:
|
||||||
succesful_import = False
|
successful_import = False
|
||||||
else:
|
else:
|
||||||
succesful_import = True
|
successful_import = True
|
||||||
|
|
||||||
|
|
||||||
def print_config():
|
def print_config():
|
||||||
|
@ -64,12 +64,12 @@ if __name__ == '__main__':
|
||||||
if sys.argv[1] == "config":
|
if sys.argv[1] == "config":
|
||||||
print_config()
|
print_config()
|
||||||
elif sys.argv[1] == "autoconf":
|
elif sys.argv[1] == "autoconf":
|
||||||
if not succesful_import:
|
if not successful_import:
|
||||||
print 'no (failed import nova module)'
|
print 'no (failed import nova module)'
|
||||||
sys.exit(0)
|
sys.exit(0)
|
||||||
else:
|
else:
|
||||||
print 'yes'
|
print 'yes'
|
||||||
elif succesful_import:
|
elif successful_import:
|
||||||
utils.default_flagfile()
|
utils.default_flagfile()
|
||||||
flags.FLAGS(sys.argv)
|
flags.FLAGS(sys.argv)
|
||||||
print_values()
|
print_values()
|
||||||
|
|
|
@ -18,9 +18,9 @@ try:
|
||||||
from nova import flags
|
from nova import flags
|
||||||
from nova import utils
|
from nova import utils
|
||||||
except ImportError:
|
except ImportError:
|
||||||
succesful_import = False
|
successful_import = False
|
||||||
else:
|
else:
|
||||||
succesful_import = True
|
successful_import = True
|
||||||
|
|
||||||
services = ['nova-compute', 'nova-volume', 'nova-scheduler', 'nova-vncproxy', 'nova-network', 'nova-cert', 'nova-console', 'nova-consoleauth']
|
services = ['nova-compute', 'nova-volume', 'nova-scheduler', 'nova-vncproxy', 'nova-network', 'nova-cert', 'nova-console', 'nova-consoleauth']
|
||||||
|
|
||||||
|
@ -76,11 +76,11 @@ if __name__ == '__main__':
|
||||||
if sys.argv[1] == "config":
|
if sys.argv[1] == "config":
|
||||||
print_config()
|
print_config()
|
||||||
elif sys.argv[1] == "autoconf":
|
elif sys.argv[1] == "autoconf":
|
||||||
if not succesful_import:
|
if not successful_import:
|
||||||
print 'no (failed import nova module]'
|
print 'no (failed import nova module]'
|
||||||
else:
|
else:
|
||||||
print 'yes'
|
print 'yes'
|
||||||
elif succesful_import:
|
elif successful_import:
|
||||||
utils.default_flagfile()
|
utils.default_flagfile()
|
||||||
flags.FLAGS(sys.argv)
|
flags.FLAGS(sys.argv)
|
||||||
print_values()
|
print_values()
|
||||||
|
|
|
@ -39,7 +39,7 @@
|
||||||
# config (required)
|
# config (required)
|
||||||
#
|
#
|
||||||
# Configurable variables:
|
# Configurable variables:
|
||||||
# orauser : oracle user who has select priviledge to query v$pgastat view
|
# orauser : oracle user who has select privilege to query v$pgastat view
|
||||||
# orapass : password for the oracle user
|
# orapass : password for the oracle user
|
||||||
# dbport : port used by the monitored instance (notice: numeric value)
|
# dbport : port used by the monitored instance (notice: numeric value)
|
||||||
# dbname : database to be monitored
|
# dbname : database to be monitored
|
||||||
|
|
|
@ -38,7 +38,7 @@
|
||||||
# config (required)
|
# config (required)
|
||||||
#
|
#
|
||||||
# Configurable variables:
|
# Configurable variables:
|
||||||
# orauser : oracle user who has select priviledge to query v$sgastat view
|
# orauser : oracle user who has select privilege to query v$sgastat view
|
||||||
# orapass : password for the oracle user
|
# orapass : password for the oracle user
|
||||||
# dbport : port used by the monitored instance (notice: numeric value)
|
# dbport : port used by the monitored instance (notice: numeric value)
|
||||||
# dbname : database to be monitored
|
# dbname : database to be monitored
|
||||||
|
|
|
@ -92,7 +92,7 @@ if( $ARGV[0] eq "" ){
|
||||||
next if $line =~ /^\r$/; # or else
|
next if $line =~ /^\r$/; # or else
|
||||||
next if $line =~ /^\r\n$/; # http specific
|
next if $line =~ /^\r\n$/; # http specific
|
||||||
( $key, $value, $last) = split( /\|/, $line ); # split up to three values
|
( $key, $value, $last) = split( /\|/, $line ); # split up to three values
|
||||||
$key =~ s/^\s//g; $key =~ s/\s$//g; # no spaces at the end and the begining
|
$key =~ s/^\s//g; $key =~ s/\s$//g; # no spaces at the end and the beginning
|
||||||
$value =~ s/^\s//g; $value =~ s/\s$//g;
|
$value =~ s/^\s//g; $value =~ s/\s$//g;
|
||||||
$value =~ s/(\d*)\s*.*/$1/g; # remove more than one values from splited data
|
$value =~ s/(\d*)\s*.*/$1/g; # remove more than one values from splited data
|
||||||
$value =~ s/[a-zA-Z\(\)\%]//g; # and not alphanummeric glyphs
|
$value =~ s/[a-zA-Z\(\)\%]//g; # and not alphanummeric glyphs
|
||||||
|
|
|
@ -72,7 +72,7 @@ if( $ARGV[0] eq "" ){
|
||||||
next if $line =~ /^\r$/; # or else
|
next if $line =~ /^\r$/; # or else
|
||||||
next if $line =~ /^\r\n$/; # http specific
|
next if $line =~ /^\r\n$/; # http specific
|
||||||
( $key, $value, $last) = split( /\|/, $line ); # split up to three values
|
( $key, $value, $last) = split( /\|/, $line ); # split up to three values
|
||||||
$key =~ s/^\s//g; $key =~ s/\s$//g; # no spaces at the end and the begining
|
$key =~ s/^\s//g; $key =~ s/\s$//g; # no spaces at the end and the beginning
|
||||||
$value =~ s/^\s//g; $value =~ s/\s$//g;
|
$value =~ s/^\s//g; $value =~ s/\s$//g;
|
||||||
$value =~ s/(\d*)\s*.*/$1/g; # remove more than one values from splited data
|
$value =~ s/(\d*)\s*.*/$1/g; # remove more than one values from splited data
|
||||||
$value =~ s/[a-zA-Z\(\)\%]//g; # and not alphanummeric glyphs
|
$value =~ s/[a-zA-Z\(\)\%]//g; # and not alphanummeric glyphs
|
||||||
|
|
|
@ -104,7 +104,7 @@ if( $ARGV[0] eq "" ){
|
||||||
next if $line =~ /^\r$/; # or else
|
next if $line =~ /^\r$/; # or else
|
||||||
next if $line =~ /^\r\n$/; # http specific
|
next if $line =~ /^\r\n$/; # http specific
|
||||||
( $key, $value, $last) = split( /\|/, $line ); # split up to three values
|
( $key, $value, $last) = split( /\|/, $line ); # split up to three values
|
||||||
$key =~ s/^\s//g; $key =~ s/\s$//g; # no spaces at the end and the begining
|
$key =~ s/^\s//g; $key =~ s/\s$//g; # no spaces at the end and the beginning
|
||||||
$value =~ s/^\s//g; $value =~ s/\s$//g;
|
$value =~ s/^\s//g; $value =~ s/\s$//g;
|
||||||
$value =~ s/(\d*)\s*.*/$1/g; # remove more than one values from splited data
|
$value =~ s/(\d*)\s*.*/$1/g; # remove more than one values from splited data
|
||||||
$value =~ s/[a-zA-Z\(\)\%]//g; # and not alphanummeric glyphs
|
$value =~ s/[a-zA-Z\(\)\%]//g; # and not alphanummeric glyphs
|
||||||
|
|
|
@ -82,7 +82,7 @@ if( $ARGV[0] eq "" ){
|
||||||
next if $line =~ /^\r$/; # or else
|
next if $line =~ /^\r$/; # or else
|
||||||
next if $line =~ /^\r\n$/; # http specific
|
next if $line =~ /^\r\n$/; # http specific
|
||||||
( $key, $value, $last) = split( /\|/, $line ); # split up to three values
|
( $key, $value, $last) = split( /\|/, $line ); # split up to three values
|
||||||
$key =~ s/^\s//g; $key =~ s/\s$//g; # no spaces at the end and the begining
|
$key =~ s/^\s//g; $key =~ s/\s$//g; # no spaces at the end and the beginning
|
||||||
$value =~ s/^\s//g; $value =~ s/\s$//g;
|
$value =~ s/^\s//g; $value =~ s/\s$//g;
|
||||||
$value =~ s/(\d*)\s*.*/$1/g; # remove more than one values from splited data
|
$value =~ s/(\d*)\s*.*/$1/g; # remove more than one values from splited data
|
||||||
$value =~ s/[a-zA-Z\(\)\%]//g; # and not alphanummeric glyphs
|
$value =~ s/[a-zA-Z\(\)\%]//g; # and not alphanummeric glyphs
|
||||||
|
|
|
@ -72,7 +72,7 @@ if( $ARGV[0] eq "" ){
|
||||||
next if $line =~ /^\r$/; # or else
|
next if $line =~ /^\r$/; # or else
|
||||||
next if $line =~ /^\r\n$/; # http specific
|
next if $line =~ /^\r\n$/; # http specific
|
||||||
( $key, $value, $last) = split( /\|/, $line ); # split up to three values
|
( $key, $value, $last) = split( /\|/, $line ); # split up to three values
|
||||||
$key =~ s/^\s//g; $key =~ s/\s$//g; # no spaces at the end and the begining
|
$key =~ s/^\s//g; $key =~ s/\s$//g; # no spaces at the end and the beginning
|
||||||
$value =~ s/^\s//g; $value =~ s/\s$//g;
|
$value =~ s/^\s//g; $value =~ s/\s$//g;
|
||||||
$value =~ s/(\d*)\s*.*/$1/g; # remove more than one values from splited data
|
$value =~ s/(\d*)\s*.*/$1/g; # remove more than one values from splited data
|
||||||
$value =~ s/[a-zA-Z\(\)\%]//g; # and not alphanummeric glyphs
|
$value =~ s/[a-zA-Z\(\)\%]//g; # and not alphanummeric glyphs
|
||||||
|
|
|
@ -25,7 +25,7 @@
|
||||||
use strict;
|
use strict;
|
||||||
use warnings;
|
use warnings;
|
||||||
|
|
||||||
# place locations here seperated by commas
|
# place locations here separated by commas
|
||||||
# names must match Region from the link below
|
# names must match Region from the link below
|
||||||
my @regions = ("Southern California",
|
my @regions = ("Southern California",
|
||||||
"Central California",
|
"Central California",
|
||||||
|
|
|
@ -20,7 +20,7 @@ multiping_async - Like the multiping plugin but runs asynchronously
|
||||||
|
|
||||||
The following environment variables are used:
|
The following environment variables are used:
|
||||||
|
|
||||||
host - Whitespace-seperated list of hosts to ping
|
host - Whitespace-separated list of hosts to ping
|
||||||
times - How many times to ping the hosts, 3 by default
|
times - How many times to ping the hosts, 3 by default
|
||||||
timeout - The ping timeout (ping -W), 1 by default (ignored on Solaris)
|
timeout - The ping timeout (ping -W), 1 by default (ignored on Solaris)
|
||||||
title - The graph_title to use for the munin RRD graph
|
title - The graph_title to use for the munin RRD graph
|
||||||
|
|
|
@ -39,7 +39,7 @@ The configuration section shows the defaults
|
||||||
env.procname init
|
env.procname init
|
||||||
env.category Process Info
|
env.category Process Info
|
||||||
|
|
||||||
env.procname defines the processname as seen inside the paranthesis of the
|
env.procname defines the processname as seen inside the parenthesis of the
|
||||||
second column in /proc/pid/stat. If you don't get the data you expect, you
|
second column in /proc/pid/stat. If you don't get the data you expect, you
|
||||||
can check if the value is what you expect here.
|
can check if the value is what you expect here.
|
||||||
|
|
||||||
|
@ -271,7 +271,7 @@ sub suggest
|
||||||
}
|
}
|
||||||
|
|
||||||
# Print the value of a two-dimensional hash if it exist.
|
# Print the value of a two-dimensional hash if it exist.
|
||||||
# Returns false if non-existant.
|
# Returns false if non-existent.
|
||||||
#
|
#
|
||||||
# Output is formatted for plugins if arg4 is blank, otherwise arg4 is used
|
# Output is formatted for plugins if arg4 is blank, otherwise arg4 is used
|
||||||
# as the title/name of the field (ie: arg4=graph_title).
|
# as the title/name of the field (ie: arg4=graph_title).
|
||||||
|
|
|
@ -15,7 +15,7 @@
|
||||||
# Generic plugins now use printf instead of echo -n, as this is more portable (SF#885564)
|
# Generic plugins now use printf instead of echo -n, as this is more portable (SF#885564)
|
||||||
#
|
#
|
||||||
# Revision 1.1 2004/01/02 18:50:00 jimmyo
|
# Revision 1.1 2004/01/02 18:50:00 jimmyo
|
||||||
# Renamed occurrances of lrrd -> munin
|
# Renamed occurrences of lrrd -> munin
|
||||||
#
|
#
|
||||||
# Revision 1.1.1.1 2004/01/02 15:18:07 jimmyo
|
# Revision 1.1.1.1 2004/01/02 15:18:07 jimmyo
|
||||||
# Import of LRRD CVS tree after renaming to Munin
|
# Import of LRRD CVS tree after renaming to Munin
|
||||||
|
|
|
@ -10,7 +10,7 @@ postfix_mailqueuelog_ - detailed stats for postfix queue data
|
||||||
Use the last part in the symlink to define which postfix you want to get stats from.
|
Use the last part in the symlink to define which postfix you want to get stats from.
|
||||||
|
|
||||||
The user has to be set as root, else there might be some errors if
|
The user has to be set as root, else there might be some errors if
|
||||||
the postfix config is not correctly set witht he alternate directories
|
the postfix config is not correctly set with the alternate directories
|
||||||
|
|
||||||
[postfix_mailqueuelog_*]
|
[postfix_mailqueuelog_*]
|
||||||
env.etcdir /etc/
|
env.etcdir /etc/
|
||||||
|
|
|
@ -30,7 +30,7 @@ if you need to override the defaults below:
|
||||||
Records show that the plugin was contributed by Nicolai Langfeldt in
|
Records show that the plugin was contributed by Nicolai Langfeldt in
|
||||||
2003. Nicolai can't find anything in his email about this and expects
|
2003. Nicolai can't find anything in his email about this and expects
|
||||||
the plugin is based on the corresponding exim plugin - to which it now
|
the plugin is based on the corresponding exim plugin - to which it now
|
||||||
bears no resemblence.
|
bears no resemblance.
|
||||||
|
|
||||||
Extended for multiple queue use by Clemens Schwaighofer (gullevek@gullevek.org) in 2010.
|
Extended for multiple queue use by Clemens Schwaighofer (gullevek@gullevek.org) in 2010.
|
||||||
|
|
||||||
|
|
|
@ -16,7 +16,7 @@
|
||||||
#
|
#
|
||||||
# General info:
|
# General info:
|
||||||
# Require permission for database access and read (no writes are processed).
|
# Require permission for database access and read (no writes are processed).
|
||||||
# Recomended user is PostgreSQL database owner (default: postgres).
|
# Recommended user is PostgreSQL database owner (default: postgres).
|
||||||
#
|
#
|
||||||
# Log info:
|
# Log info:
|
||||||
# 2007/11/30 - Review on comments
|
# 2007/11/30 - Review on comments
|
||||||
|
|
|
@ -17,7 +17,7 @@
|
||||||
#
|
#
|
||||||
# General info:
|
# General info:
|
||||||
# Requires permission for database access and read (no writes are processed).
|
# Requires permission for database access and read (no writes are processed).
|
||||||
# Recomended user is PostgreSQL database owner (default: postgres).
|
# Recommended user is PostgreSQL database owner (default: postgres).
|
||||||
#
|
#
|
||||||
|
|
||||||
dbserver='' # '-h localhost'
|
dbserver='' # '-h localhost'
|
||||||
|
|
|
@ -19,7 +19,7 @@
|
||||||
#
|
#
|
||||||
# General info:
|
# General info:
|
||||||
# Require permission for database access and read (no writes are processed).
|
# Require permission for database access and read (no writes are processed).
|
||||||
# Recomended user is PostgreSQL database owner (default: postgres).
|
# Recommended user is PostgreSQL database owner (default: postgres).
|
||||||
#
|
#
|
||||||
# Log info:
|
# Log info:
|
||||||
#
|
#
|
||||||
|
|
|
@ -16,7 +16,7 @@
|
||||||
#
|
#
|
||||||
# General info:
|
# General info:
|
||||||
# Require permission for database access and read (no writes are processed).
|
# Require permission for database access and read (no writes are processed).
|
||||||
# Recomended user is PostgreSQL database owner (default: postgres).
|
# Recommended user is PostgreSQL database owner (default: postgres).
|
||||||
#
|
#
|
||||||
# Log info:
|
# Log info:
|
||||||
# 2007/11/30 - Review on comments
|
# 2007/11/30 - Review on comments
|
||||||
|
|
|
@ -16,7 +16,7 @@
|
||||||
#
|
#
|
||||||
# General info:
|
# General info:
|
||||||
# Require permission for database access and read (no writes are processed).
|
# Require permission for database access and read (no writes are processed).
|
||||||
# Recomended user is PostgreSQL database owner (default: postgres).
|
# Recommended user is PostgreSQL database owner (default: postgres).
|
||||||
#
|
#
|
||||||
# Log info:
|
# Log info:
|
||||||
# 2007/11/30 - Review on comments
|
# 2007/11/30 - Review on comments
|
||||||
|
|
|
@ -16,7 +16,7 @@
|
||||||
#
|
#
|
||||||
# General info:
|
# General info:
|
||||||
# Require permission for database access and read (no writes are processed).
|
# Require permission for database access and read (no writes are processed).
|
||||||
# Recomended user is PostgreSQL database owner (default: postgres).
|
# Recommended user is PostgreSQL database owner (default: postgres).
|
||||||
#
|
#
|
||||||
# Log info:
|
# Log info:
|
||||||
#
|
#
|
||||||
|
|
|
@ -16,7 +16,7 @@
|
||||||
#
|
#
|
||||||
# General info:
|
# General info:
|
||||||
# Require permission for database access and read (no writes are processed).
|
# Require permission for database access and read (no writes are processed).
|
||||||
# Recomended user is PostgreSQL database owner (default: postgres).
|
# Recommended user is PostgreSQL database owner (default: postgres).
|
||||||
#
|
#
|
||||||
# Log info:
|
# Log info:
|
||||||
#
|
#
|
||||||
|
|
|
@ -84,7 +84,7 @@ NAME_SELF=`basename ${0}`
|
||||||
trap 'echo "\n$NAME_SELF - >> interrupt. \n$NAME_SELF - >> exiting."' 1 2 9 11 15
|
trap 'echo "\n$NAME_SELF - >> interrupt. \n$NAME_SELF - >> exiting."' 1 2 9 11 15
|
||||||
|
|
||||||
if [ -z "${REMOTEHOST}" ] || [ -z "${PORT}" ]; then
|
if [ -z "${REMOTEHOST}" ] || [ -z "${PORT}" ]; then
|
||||||
echo "\n$NAME_SELF - >> no enviroment variable set for host and/or port. \n$NAME_SELF - >> exiting."
|
echo "\n$NAME_SELF - >> no environment variable set for host and/or port. \n$NAME_SELF - >> exiting."
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
|
@ -7,7 +7,7 @@
|
||||||
[multicpu]
|
[multicpu]
|
||||||
env.ps_filter apache2 mysqld
|
env.ps_filter apache2 mysqld
|
||||||
|
|
||||||
I have very little knowlege about munin plugins, it just 'works fine for me'.
|
I have very little knowledge about munin plugins, it just 'works fine for me'.
|
||||||
Please feel free to improve :)
|
Please feel free to improve :)
|
||||||
|
|
||||||
0.1 initial release - Florian Fida
|
0.1 initial release - Florian Fida
|
||||||
|
|
|
@ -15,7 +15,7 @@
|
||||||
#%# family=auto
|
#%# family=auto
|
||||||
#%# capabilities=autoconf
|
#%# capabilities=autoconf
|
||||||
|
|
||||||
# If run with the "autoconf"-parameter, give our opinion on wether we
|
# If run with the "autoconf"-parameter, give our opinion on whether we
|
||||||
# should be run on this system or not. This is optinal, and only used by
|
# should be run on this system or not. This is optinal, and only used by
|
||||||
# munin-config. In the case of this plugin, we should most probably
|
# munin-config. In the case of this plugin, we should most probably
|
||||||
# always be included.
|
# always be included.
|
||||||
|
|
|
@ -15,7 +15,7 @@
|
||||||
#%# family=auto
|
#%# family=auto
|
||||||
#%# capabilities=autoconf
|
#%# capabilities=autoconf
|
||||||
|
|
||||||
# If run with the "autoconf"-parameter, give our opinion on wether we
|
# If run with the "autoconf"-parameter, give our opinion on whether we
|
||||||
# should be run on this system or not. This is optinal, and only used by
|
# should be run on this system or not. This is optinal, and only used by
|
||||||
# munin-config. In the case of this plugin, we should most probably
|
# munin-config. In the case of this plugin, we should most probably
|
||||||
# always be included.
|
# always be included.
|
||||||
|
|
|
@ -15,7 +15,7 @@
|
||||||
#%# family=auto
|
#%# family=auto
|
||||||
#%# capabilities=autoconf
|
#%# capabilities=autoconf
|
||||||
|
|
||||||
# If run with the "autoconf"-parameter, give our opinion on wether we
|
# If run with the "autoconf"-parameter, give our opinion on whether we
|
||||||
# should be run on this system or not. This is optinal, and only used by
|
# should be run on this system or not. This is optinal, and only used by
|
||||||
# munin-config. In the case of this plugin, we should most probably
|
# munin-config. In the case of this plugin, we should most probably
|
||||||
# always be included.
|
# always be included.
|
||||||
|
|
|
@ -15,7 +15,7 @@
|
||||||
#%# family=auto
|
#%# family=auto
|
||||||
#%# capabilities=autoconf
|
#%# capabilities=autoconf
|
||||||
|
|
||||||
# If run with the "autoconf"-parameter, give our opinion on wether we
|
# If run with the "autoconf"-parameter, give our opinion on whether we
|
||||||
# should be run on this system or not. This is optinal, and only used by
|
# should be run on this system or not. This is optinal, and only used by
|
||||||
# munin-config. In the case of this plugin, we should most probably
|
# munin-config. In the case of this plugin, we should most probably
|
||||||
# always be included.
|
# always be included.
|
||||||
|
|
|
@ -15,7 +15,7 @@
|
||||||
#%# family=auto
|
#%# family=auto
|
||||||
#%# capabilities=autoconf
|
#%# capabilities=autoconf
|
||||||
|
|
||||||
# If run with the "autoconf"-parameter, give our opinion on wether we
|
# If run with the "autoconf"-parameter, give our opinion on whether we
|
||||||
# should be run on this system or not. This is optinal, and only used by
|
# should be run on this system or not. This is optinal, and only used by
|
||||||
# munin-config. In the case of this plugin, we should most probably
|
# munin-config. In the case of this plugin, we should most probably
|
||||||
# always be included.
|
# always be included.
|
||||||
|
|
|
@ -34,7 +34,7 @@
|
||||||
# This plugin relies on correct configured ODBC for the MOM database
|
# This plugin relies on correct configured ODBC for the MOM database
|
||||||
# Prerequisits:
|
# Prerequisits:
|
||||||
# * 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 prefered 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
|
||||||
#
|
#
|
||||||
# Example
|
# Example
|
||||||
# /etc/freetds/freetds.conf:
|
# /etc/freetds/freetds.conf:
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
#
|
#
|
||||||
# ln -s /usr/share/munin/plugins/sge_queue_xml_ /etc/munin/plugins/sge_queue_xml_all.q
|
# ln -s /usr/share/munin/plugins/sge_queue_xml_ /etc/munin/plugins/sge_queue_xml_all.q
|
||||||
#
|
#
|
||||||
# inspired by the sge_queue_ plugin comitted by steveschnepp
|
# inspired by the sge_queue_ plugin committed by steveschnepp
|
||||||
#
|
#
|
||||||
# Runs 'qstat -g c -xml' for the specified queue and gets the number of
|
# Runs 'qstat -g c -xml' for the specified queue and gets the number of
|
||||||
# used, reserved, unavailable, available and total queue slots.
|
# used, reserved, unavailable, available and total queue slots.
|
||||||
|
|
|
@ -98,7 +98,7 @@ if [ "$1" = "config" ]; then
|
||||||
echo 'rejected.label Rejected'
|
echo 'rejected.label Rejected'
|
||||||
echo 'rejected.info Number of rejected SMS'
|
echo 'rejected.info Number of rejected SMS'
|
||||||
echo 'succeeded.label Succeeded'
|
echo 'succeeded.label Succeeded'
|
||||||
echo 'succeeded.info Number of sucessfully sent SMS'
|
echo 'succeeded.info Number of successfully sent SMS'
|
||||||
echo 'failed.label Failed'
|
echo 'failed.label Failed'
|
||||||
echo 'failed.info Number of failed SMS'
|
echo 'failed.info Number of failed SMS'
|
||||||
echo 'received.label Received'
|
echo 'received.label Received'
|
||||||
|
|
|
@ -152,7 +152,7 @@ def getNumDHCPClients():
|
||||||
"""Returns the number of DHCP clients with currently active leases. This
|
"""Returns the number of DHCP clients with currently active leases. This
|
||||||
will only ever be polled via SNMP once per invocation. If called a second
|
will only ever be polled via SNMP once per invocation. If called a second
|
||||||
time, it will just return the first value it found. This is intended to be
|
time, it will just return the first value it found. This is intended to be
|
||||||
an optimisation to reduce SNMP roundtrips becaues this script should not be
|
an optimisation to reduce SNMP roundtrips because this script should not be
|
||||||
long-running"""
|
long-running"""
|
||||||
global NUMDHCPCLIENTS
|
global NUMDHCPCLIENTS
|
||||||
dhcpNumberOID = '.1.3.6.1.4.1.63.501.3.3.1.0'
|
dhcpNumberOID = '.1.3.6.1.4.1.63.501.3.3.1.0'
|
||||||
|
|
|
@ -261,7 +261,7 @@ my %vlabel =
|
||||||
batteryvolt => 'Volt',
|
batteryvolt => 'Volt',
|
||||||
frequency => 'Hz',
|
frequency => 'Hz',
|
||||||
status => 'code value',
|
status => 'code value',
|
||||||
temperature => 'Celcius',
|
temperature => 'Celsius',
|
||||||
load => 'Percent',
|
load => 'Percent',
|
||||||
current => 'Ampere',
|
current => 'Ampere',
|
||||||
);
|
);
|
||||||
|
@ -346,7 +346,7 @@ sub collect_snmp {
|
||||||
# make a (one) query to get them all. Returns a hash of the
|
# make a (one) query to get them all. Returns a hash of the
|
||||||
# values keyed by OID.
|
# values keyed by OID.
|
||||||
#
|
#
|
||||||
# Occurances of "noSuchInstance" is replaced by "U".
|
# Occurrences of "noSuchInstance" is replaced by "U".
|
||||||
|
|
||||||
my ( $snmp ) = @_;
|
my ( $snmp ) = @_;
|
||||||
|
|
||||||
|
|
|
@ -9,9 +9,9 @@ The counters shown:
|
||||||
enc_out: Encoding errors outside FC frame.
|
enc_out: Encoding errors outside FC frame.
|
||||||
Not as interesting as enc_out_per_mframe,
|
Not as interesting as enc_out_per_mframe,
|
||||||
but it reflects the absolute values, instead
|
but it reflects the absolute values, instead
|
||||||
of being put in relation to the port's trafic.
|
of being put in relation to the port's traffic.
|
||||||
|
|
||||||
enc_out_per_mframe: As above, but per million frames of trafic.
|
enc_out_per_mframe: As above, but per million frames of traffic.
|
||||||
If there is a high number for this counter,
|
If there is a high number for this counter,
|
||||||
it could reflect:
|
it could reflect:
|
||||||
- If there is also a high value for
|
- If there is also a high value for
|
||||||
|
@ -118,7 +118,7 @@ oidstrs = {
|
||||||
descriptions = {
|
descriptions = {
|
||||||
'rx_crcs' : 'the number of CRC errors detected for frames received',
|
'rx_crcs' : 'the number of CRC errors detected for frames received',
|
||||||
'enc_out' : 'encoding errors outside FC frame',
|
'enc_out' : 'encoding errors outside FC frame',
|
||||||
'enc_out_per_mframe': 'enc errors outside FC frame, per million frames of rx+tx trafic',
|
'enc_out_per_mframe': 'enc errors outside FC frame, per million frames of rx+tx traffic',
|
||||||
'bits' : 'received(rx)/transmitted(tx) bits'
|
'bits' : 'received(rx)/transmitted(tx) bits'
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -68,7 +68,7 @@
|
||||||
# Did a bit of work on the snmp-thingie.
|
# Did a bit of work on the snmp-thingie.
|
||||||
#
|
#
|
||||||
# Revision 1.1 2004/01/02 18:50:00 jimmyo
|
# Revision 1.1 2004/01/02 18:50:00 jimmyo
|
||||||
# Renamed occurrances of lrrd -> munin
|
# Renamed occurrences of lrrd -> munin
|
||||||
#
|
#
|
||||||
# Revision 1.1.1.1 2004/01/02 15:18:07 jimmyo
|
# Revision 1.1.1.1 2004/01/02 15:18:07 jimmyo
|
||||||
# Import of LRRD CVS tree after renaming to Munin
|
# Import of LRRD CVS tree after renaming to Munin
|
||||||
|
|
|
@ -31,7 +31,7 @@
|
||||||
# Fortigate Activate snmp on your Fortigate firewall.
|
# Fortigate Activate snmp on your Fortigate firewall.
|
||||||
# Fortigate documentation at https://support.fortinet.com
|
# Fortigate documentation at https://support.fortinet.com
|
||||||
#
|
#
|
||||||
# MIB Download and copy the original Fortigate MIB defintion files to:
|
# MIB Download and copy the original Fortigate MIB definition files to:
|
||||||
# /usr/share/snmp/mibs/FORTINET-CORE-MIB.mib.txt
|
# /usr/share/snmp/mibs/FORTINET-CORE-MIB.mib.txt
|
||||||
# /usr/share/snmp/mibs/FORTINET-FORTIGATE-MIB.mib
|
# /usr/share/snmp/mibs/FORTINET-FORTIGATE-MIB.mib
|
||||||
#
|
#
|
||||||
|
|
|
@ -46,7 +46,7 @@ It may show something like this:
|
||||||
IF-MIB::ifType.13 = INTEGER: propVirtual(53)
|
IF-MIB::ifType.13 = INTEGER: propVirtual(53)
|
||||||
IF-MIB::ifType.123 = INTEGER: l2vlan(135)
|
IF-MIB::ifType.123 = INTEGER: l2vlan(135)
|
||||||
|
|
||||||
propVirtual or l2vlan is usualy used for VLAN interfaces. Tunnel
|
propVirtual or l2vlan is usually used for VLAN interfaces. Tunnel
|
||||||
would normaly be for VPNs. A minor horde of different interface types
|
would normaly be for VPNs. A minor horde of different interface types
|
||||||
are supposted, please see IANAifType-MIB (on your system or find with
|
are supposted, please see IANAifType-MIB (on your system or find with
|
||||||
Google) for a full list.
|
Google) for a full list.
|
||||||
|
@ -96,7 +96,7 @@ Pulling in a user definable set of ifName/ifDescr/ifAlias for textual
|
||||||
description and even graph_title would also be nice.
|
description and even graph_title would also be nice.
|
||||||
|
|
||||||
IFF we get a patch to support the .oldname attribute then we may use
|
IFF we get a patch to support the .oldname attribute then we may use
|
||||||
that to let the operator change the indexing dynamicaly without data
|
that to let the operator change the indexing dynamically without data
|
||||||
loss.
|
loss.
|
||||||
|
|
||||||
=head1 FEATURES
|
=head1 FEATURES
|
||||||
|
|
|
@ -37,7 +37,7 @@ if len(sys.argv) == 2 and sys.argv[1] == "config":
|
||||||
print 'graph_info This graph shows CIFS usage on '+servername
|
print 'graph_info This graph shows CIFS usage on '+servername
|
||||||
|
|
||||||
print 'cifsConnectedUsers.label ConnectedUsers'
|
print 'cifsConnectedUsers.label ConnectedUsers'
|
||||||
print 'cifsConnectedUsers.info The curent number of CIFS users on the filer'
|
print 'cifsConnectedUsers.info The current number of CIFS users on the filer'
|
||||||
|
|
||||||
print 'cifsNSessions.label NumberOfSessions'
|
print 'cifsNSessions.label NumberOfSessions'
|
||||||
print 'cifsNSessions.info The current number of active CIFS session on the filer'
|
print 'cifsNSessions.info The current number of active CIFS session on the filer'
|
||||||
|
|
|
@ -71,7 +71,7 @@ sub do_collect
|
||||||
@tmp = split(/:/, $line);
|
@tmp = split(/:/, $line);
|
||||||
if ( $tmp[1] =~ "Idle")
|
if ( $tmp[1] =~ "Idle")
|
||||||
{
|
{
|
||||||
$value = 0; #reallocate idle intialising
|
$value = 0; #reallocate idle initialising
|
||||||
}
|
}
|
||||||
elsif ( $tmp[1] =~ "Reallocating" )
|
elsif ( $tmp[1] =~ "Reallocating" )
|
||||||
{
|
{
|
||||||
|
|
|
@ -144,11 +144,11 @@ sub do_fetch_root
|
||||||
}
|
}
|
||||||
elsif ($status == 2 )
|
elsif ($status == 2 )
|
||||||
{
|
{
|
||||||
$sisSumIni++; #sis intialising
|
$sisSumIni++; #sis initialising
|
||||||
}
|
}
|
||||||
elsif ( $status == 3)
|
elsif ( $status == 3)
|
||||||
{
|
{
|
||||||
$sisSumRun++; #sis runnung
|
$sisSumRun++; #sis running
|
||||||
}
|
}
|
||||||
elsif ( $status == 5)
|
elsif ( $status == 5)
|
||||||
{
|
{
|
||||||
|
|
|
@ -277,7 +277,7 @@ err () {
|
||||||
_errorMsg="$1"
|
_errorMsg="$1"
|
||||||
_exitCode="$2"
|
_exitCode="$2"
|
||||||
else
|
else
|
||||||
_errorMsg="Fatal: An unknown error occured! Exiting..."
|
_errorMsg="Fatal: An unknown error occurred! Exiting..."
|
||||||
_exitCode="$E_UNKNOWN"
|
_exitCode="$E_UNKNOWN"
|
||||||
|
|
||||||
fi
|
fi
|
||||||
|
|
|
@ -82,7 +82,7 @@ if (defined $ARGV[0] and $ARGV[0] eq "config") {
|
||||||
print "host_name $host\n" unless $host eq 'localhost';
|
print "host_name $host\n" unless $host eq 'localhost';
|
||||||
print "graph_title $host temperatures\n";
|
print "graph_title $host temperatures\n";
|
||||||
print "graph_args --base 1000 --lower-limit 30\n";
|
print "graph_args --base 1000 --lower-limit 30\n";
|
||||||
print "graph_vlabel degrees Celcius\n";
|
print "graph_vlabel degrees Celsius\n";
|
||||||
print "graph_category sensors\n";
|
print "graph_category sensors\n";
|
||||||
print "graph_info This graph shows the temperatures on host $host\n";
|
print "graph_info This graph shows the temperatures on host $host\n";
|
||||||
foreach $idx ( 0..$numTemps-1 ) {
|
foreach $idx ( 0..$numTemps-1 ) {
|
||||||
|
|
|
@ -326,7 +326,7 @@ max.colour ff0000
|
||||||
"""
|
"""
|
||||||
|
|
||||||
#############################################################################
|
#############################################################################
|
||||||
# Graph managment
|
# Graph management
|
||||||
|
|
||||||
class SolrMuninGraph:
|
class SolrMuninGraph:
|
||||||
def __init__(self, hostport, solrurl, params):
|
def __init__(self, hostport, solrurl, params):
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue