jonathanio / monitoring-munin-haproxy Goto Github PK
View Code? Open in Web Editor NEWExtensive Munin plugin for monitoring HAProxy services.
License: GNU General Public License v2.0
Extensive Munin plugin for monitoring HAProxy services.
License: GNU General Public License v2.0
installed the latest version with munin version 2.0.33 but most of the graphs ending ERROR like below
2018/04/08 18:30:12 [WARNING] Could not draw graph "/var/www/html/munin/localhost/localhost/haproxyng_be_sessions/statistics-day.png": /var/www/html/munin/localhost/localhost/haproxyng_be_sessions/statistics-day.png
2018/04/08 18:30:12 [RRD ERROR] Unable to graph /var/www/html/munin/localhost/localhost/haproxyng_be_sessions/statistics-year.png : Not a valid vname: cstatistics_queued in line GPRINT:cstatistics_queued:LAST:%6.2lf%s/\g
2018/04/08 18:30:12 [RRD ERROR] rrdtool 'graph' '/var/www/html/munin/localhost/localhost/haproxyng_be_sessions/statistics-year.png' \
Thanks for this very usefull project.
I have the following problem
munin-node -v
This is munin-node v2.0.24
cat /proc/version
Linux version 3.10.0-1127.8.2.el7.x86_64 ([email protected]) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-39) (GCC) ) #1 SMP Tue May 12 16:57:42 UTC 2020
ls -alh /run/haproxy/haproxy.sock
srwxrwxrwx. 1 root root 0 May 22 15:47 /run/haproxy/haproxy.sock
cat /etc/munin/plugin-conf.d/haproxy
[haproxyng]
user root
env.socket /run/haproxy/haproxy.sock
"munin-run haproxyng" works fine but, when the plugin is called within munin-node
2020/05/26-07:55:04 [68350] Error output from haproxyng:
2020/05/26-07:55:04 [68350] do_config: Cannot connect to socket /run/haproxy/haproxy.sock at /etc/munin/plugins/haproxyng line 153.
2020/05/26-07:55:04 [68350] main::get_data() called at /etc/munin/plugins/haproxyng line 1028
2020/05/26-07:55:04 [68350] main::do_config() called at (eval 12) line 1
2020/05/26-07:55:04 [68350] eval 'do_config();' called at /etc/munin/plugins/haproxyng line 144
2020/05/26-07:55:04 [68350] at /etc/munin/plugins/haproxyng line 144.
2020/05/26-07:55:04 [68350] Service 'haproxyng' exited with status 13/0.
2020/05/26-07:55:05 [68350] Error output from haproxyng:
2020/05/26-07:55:05 [68350] do_fetch: Cannot connect to socket /run/haproxy/haproxy.sock at /etc/munin/plugins/haproxyng line 153.
2020/05/26-07:55:05 [68350] main::get_data() called at /etc/munin/plugins/haproxyng line 1014
2020/05/26-07:55:05 [68350] main::do_fetch() called at (eval 12) line 1
2020/05/26-07:55:05 [68350] eval 'do_fetch();' called at /etc/munin/plugins/haproxyng line 144
2020/05/26-07:55:05 [68350] at /etc/munin/plugins/haproxyng line 144.
2020/05/26-07:55:05 [68350] Service 'haproxyng' exited with status 13/0.
2016/03/22-19:00:02 [1983] Error output from haproxy:
2016/03/22-19:00:02 [1983] do_fetch: Illegal division by zero at /etc/munin/plugins/haproxy line 589.
2016/03/22-19:00:02 [1983] at /etc/munin/plugins/haproxy line 144.
2016/03/22-19:00:02 [1983] Service 'haproxy' exited with status 255/0.
Seems the count should start 1, or the ++$count is not working.
583 my ($count, $total) = (0,0);
584 foreach my $server (sort keys %{$data{$service}{'servers'}}) {
585 ++$count;
586 $total+=$data{$service}{'servers'}{$server}{'timing'}{'total'};
587 }
588
589 $values{$service} = ($total/$count);
Hello! First of all, a great plugin that you wrote. I have started using it in my environment and must say that it is proving to be greatly helpful in getting the required statistics instantly.
Secondly, one thing I would like to highlight is that haproxyng graphs sometimes throw a 404 error on some clients, while showing up completely fine on other browsers/clients. I have followed your guide to deploy the plugin, down to the last T, but this odd behavior is showing up sometimes.
I will also attach the munin-node logs, as there are no errors in them as well
2019/07/05-10:20:02 CONNECT TCP Peer: "[::ffff:10.0.10.130]:55474" Local: "[::ffff:10.0.10.230]:4949" 2019/07/05-10:20:07 CONNECT TCP Peer: "[::ffff:10.0.10.130]:45576" Local: "[::ffff:10.0.10.44]:4949" 2019/07/05-10:25:03 CONNECT TCP Peer: "[::ffff:10.0.10.130]:45678" Local: "[::ffff:10.0.10.44]:4949" 2019/07/05-10:25:03 CONNECT TCP Peer: "[::ffff:10.0.10.130]:55610" Local: "[::ffff:10.0.10.230]:4949" 2019/07/05-10:30:03 CONNECT TCP Peer: "[::ffff:10.0.10.130]:45834" Local: "[::ffff:10.0.10.44]:4949" 2019/07/05-10:30:07 CONNECT TCP Peer: "[::ffff:10.0.10.130]:55768" Local: "[::ffff:10.0.10.230]:4949" 2019/07/05-10:35:03 CONNECT TCP Peer: "[::ffff:10.0.10.130]:45984" Local: "[::ffff:10.0.10.44]:4949" 2019/07/05-10:35:03 CONNECT TCP Peer: "[::ffff:10.0.10.130]:55914" Local: "[::ffff:10.0.10.230]:4949" 2019/07/05-10:40:02 CONNECT TCP Peer: "[::ffff:10.0.10.130]:56080" Local: "[::ffff:10.0.10.230]:4949" 2019/07/05-10:40:06 CONNECT TCP Peer: "[::ffff:10.0.10.130]:46164" Local: "[::ffff:10.0.10.44]:4949" 2019/07/05-10:45:03 CONNECT TCP Peer: "[::ffff:10.0.10.130]:46280" Local: "[::ffff:10.0.10.44]:4949" 2019/07/05-10:45:03 CONNECT TCP Peer: "[::ffff:10.0.10.130]:56204" Local: "[::ffff:10.0.10.230]:4949" 2019/07/05-10:50:06 CONNECT TCP Peer: "[::ffff:10.0.10.130]:46428" Local: "[::ffff:10.0.10.44]:4949" 2019/07/05-10:50:06 CONNECT TCP Peer: "[::ffff:10.0.10.130]:56354" Local: "[::ffff:10.0.10.230]:4949" 2019/07/05-10:55:03 CONNECT TCP Peer: "[::ffff:10.0.10.130]:46576" Local: "[::ffff:10.0.10.44]:4949" 2019/07/05-10:55:07 CONNECT TCP Peer: "[::ffff:10.0.10.130]:56502" Local: "[::ffff:10.0.10.230]:4949" 2019/07/05-11:00:03 CONNECT TCP Peer: "[::ffff:10.0.10.130]:56692" Local: "[::ffff:10.0.10.230]:4949" 2019/07/05-11:00:03 CONNECT TCP Peer: "[::ffff:10.0.10.130]:46782" Local: "[::ffff:10.0.10.44]:4949" 2019/07/05-11:05:03 CONNECT TCP Peer: "[::ffff:10.0.10.130]:46920" Local: "[::ffff:10.0.10.44]:4949" 2019/07/05-11:05:08 CONNECT TCP Peer: "[::ffff:10.0.10.130]:56856" Local: "[::ffff:10.0.10.230]:4949" 2019/07/05-11:10:07 CONNECT TCP Peer: "[::ffff:10.0.10.130]:47114" Local: "[::ffff:10.0.10.44]:4949" 2019/07/05-11:10:08 CONNECT TCP Peer: "[::ffff:10.0.10.130]:57036" Local: "[::ffff:10.0.10.230]:4949" 2019/07/05-11:15:02 CONNECT TCP Peer: "[::ffff:10.0.10.130]:57174" Local: "[::ffff:10.0.10.230]:4949" 2019/07/05-11:15:07 CONNECT TCP Peer: "[::ffff:10.0.10.130]:47286" Local: "[::ffff:10.0.10.44]:4949" 2019/07/05-11:20:03 CONNECT TCP Peer: "[::ffff:10.0.10.130]:47420" Local: "[::ffff:10.0.10.44]:4949" 2019/07/05-11:20:04 CONNECT TCP Peer: "[::ffff:10.0.10.130]:57342" Local: "[::ffff:10.0.10.230]:4949" 2019/07/05-11:25:02 CONNECT TCP Peer: "[::ffff:10.0.10.130]:57480" Local: "[::ffff:10.0.10.230]:4949" 2019/07/05-11:25:07 CONNECT TCP Peer: "[::ffff:10.0.10.130]:47590" Local: "[::ffff:10.0.10.44]:4949" 2019/07/05-11:30:02 CONNECT TCP Peer: "[::ffff:10.0.10.130]:57678" Local: "[::ffff:10.0.10.230]:4949" 2019/07/05-11:30:02 CONNECT TCP Peer: "[::ffff:10.0.10.130]:47766" Local: "[::ffff:10.0.10.44]:4949" 2019/07/05-11:35:03 CONNECT TCP Peer: "[::ffff:10.0.10.130]:47934" Local: "[::ffff:10.0.10.44]:4949" 2019/07/05-11:35:08 CONNECT TCP Peer: "[::ffff:10.0.10.130]:57886" Local: "[::ffff:10.0.10.230]:4949"
I will be thankful to you if you'll help me debug this issue. Maybe the issue lies with me, but I will be greatly thankful if you help me in this. Thanks!
Hi
i would like to extend your readme file with some install instructions for debian. Would a pull request be approved?
Cheers
Thank for the project, but it do not work for me.
munin-node -v
This is munin-node v2.0.25-2
cat /proc/version
Linux version 4.8.3-std-1 ([email protected]) (gcc version 5.3.1 20160413 (Ubuntu 5.3.1-14ubuntu2.1) ) #1 SMP Fri Oct 21 11:15:43 UTC 2016
ls -alh /run/haproxy/admin.sock
srwxrwxrwx 1 root haproxy 0 Dec 3 14:52 /run/haproxy/admin.sock
munin-run haproxyng config
do_config: Cannot connect to socket /run/haproxy/admin.sock env.clean prefix- at /etc/munin/plugins/haproxyng line 153.
main::get_data() called at /etc/munin/plugins/haproxyng line 1028
main::do_config() called at (eval 10) line 1
eval 'do_config();' called at /etc/munin/plugins/haproxyng line 144
at /etc/munin/plugins/haproxyng line 144.
Stats for multiprocess seem to use a different listen port for each.
Does this mean that haproxyng would have to be run with multiple configs for each CPU being used to properly aggregate the data from each haproxy process?
thanks in advance!
munin-run haproxyng
and use warnings;
Argument "" isn't numeric in addition (+) at /etc/munin/plugins/haproxyng line 224, line 4.
Argument "" isn't numeric in addition (+) at /etc/munin/plugins/haproxyng line 224, line 4.
Argument "" isn't numeric in addition (+) at /etc/munin/plugins/haproxyng line 224, line 4.
Argument "" isn't numeric in addition (+) at /etc/munin/plugins/haproxyng line 224, line 4.
Argument "" isn't numeric in addition (+) at /etc/munin/plugins/haproxyng line 224, line 4.
Argument "" isn't numeric in addition (+) at /etc/munin/plugins/haproxyng line 224, line 4.
Argument "" isn't numeric in addition (+) at /etc/munin/plugins/haproxyng line 204, line 5.
Argument "" isn't numeric in addition (+) at /etc/munin/plugins/haproxyng line 204, line 5.
Argument "" isn't numeric in addition (+) at /etc/munin/plugins/haproxyng line 204, line 5.
Argument "" isn't numeric in addition (+) at /etc/munin/plugins/haproxyng line 204, line 5.
Argument "" isn't numeric in addition (+) at /etc/munin/plugins/haproxyng line 204, line 5.
Argument "" isn't numeric in addition (+) at /etc/munin/plugins/haproxyng line 204, line 5.
Argument "" isn't numeric in addition (+) at /etc/munin/plugins/haproxyng line 224, line 6.
Argument "" isn't numeric in addition (+) at /etc/munin/plugins/haproxyng line 224, line 6.
Argument "" isn't numeric in addition (+) at /etc/munin/plugins/haproxyng line 224, line 6.
Argument "" isn't numeric in addition (+) at /etc/munin/plugins/haproxyng line 224, line 6.
Argument "" isn't numeric in addition (+) at /etc/munin/plugins/haproxyng line 224, line 6.
Argument "" isn't numeric in addition (+) at /etc/munin/plugins/haproxyng line 224, line 6.
Argument "" isn't numeric in addition (+) at /etc/munin/plugins/haproxyng line 204, line 7.
Argument "" isn't numeric in addition (+) at /etc/munin/plugins/haproxyng line 204, line 7.
Argument "" isn't numeric in addition (+) at /etc/munin/plugins/haproxyng line 204, line 7.
Argument "" isn't numeric in addition (+) at /etc/munin/plugins/haproxyng line 204, line 7.
Argument "" isn't numeric in addition (+) at /etc/munin/plugins/haproxyng line 204, line 7.
Argument "" isn't numeric in addition (+) at /etc/munin/plugins/haproxyng line 204, line 7.
good day,
when i have a frontend and a backend with identical names, the frontend is omitted form the fe_*
graphs, presumably because the keys are being clobbered in %v
and other data structures that are used to compile stats and which are only keyed on $stat[STAT_PROXY_NAME]
.
i was intending to submit a PR, but part way through my edits i discovered that the changes involved more than simply updating the references to %v
/%data
, and are therefore a little more invasive than i initially expected.
i was basicaly refactoring %v
such that the top-level key was $stat[STAT_SERVICE_TYPE]
, then $stat[STAT_PROXY_NAME]
, but i am sure that there are other valid approaches.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.