alcina
June 16, 2013, 10:30pm
1
I’m having some trouble getting the nginx plugin working for munin.
I’ve added the following to nginx config and restarted:
location /nginx_status {
stub_status on;
access_log off;
allow 127.0.0.1;
deny all;
}
I’ve added the following munin config:
[nginx*]
env.url http://localhost/nginx_status
Unfortunately I still get:
munin-run nginx_request
request.value U
munin-run nginx_status
total.value U
reading.value U
writing.value U
waiting.value U
If I remove the allow/deny, I can browse to /nginx_status and I get:
Active connections: 13
server accepts handled requests
15 15 16
Reading: 0 Writing: 1 Waiting: 12
What could be the problem?
----- Original Message -----
I’ve added the following munin config:
reading.value U
What could be the problem?
the munin plugin is broken or not getting the status information.
Try stracing the munin-run, network capature or turning on the access
logs on /nginx_status just to be sure.
–
Daniel Black, Engineer @ Open Query (http://openquery.com )
Remote expertise & maintenance for MySQL/MariaDB server environments.
Perhaps munin connects over ipv6? Can you allow ::1?
I’ve added the following munin config:
reading.value U
What could be the problem?
listen 127.0.0.1:80 default;
deny all;
Active connections: 1
then
munin-run nginx_status
should run just fine.
You fixed it! Reducing it to the simplest config that still works, I
found that the location /nginx_status block doesn’t work with munin
inside of any other server block. It only works inside its own server
block like so:
server {
location ~ ^/nginx_status$ {
stub_status on;
access_log off;
allow 127.0.0.1;
deny all;
}
}
Is this a munin bug?
Thank you!
On Mon, 2013-06-17 at 16:34 +1000, Daniel Black wrote:
}
munin-run nginx_status
Reading: 0 Writing: 1 Waiting: 12
What could be the problem?
the munin plugin is broken or not getting the status information.
Try stracing the munin-run, network capature or turning on the access logs on
/nginx_status just to be sure.
Well, I run it all over the place with no problem. I usually set it up
only on localhost
server {
listen 127.0.0.1:80 default;
server_name localhost;
root /var/www;
access_log /var/log/nginx/localhost.access.log;
error_log /var/log/nginx/localhost.error.log;
location ~ /nginx_status {
stub_status on;
access_log off;
allow 127.0.0.1;
deny all;
}
}
( in /etc/nginx/conf.d/stub, or /etc/nginx/sites-available/stub,
symlinked to …/sites-enabled/stub depending on preference ) and restart
nginx.
Then test this bit works…
$ wget -O - http://localhost/nginx_status 2> /dev/null
Active connections: 1
server accepts handled requests
67892 67892 70215
Reading: 0 Writing: 1 Waiting: 0
Some os’s seem to like
[nginx*]
env.url http://localhost/nginx_status
added to /etc/munin/plugin-conf.d/munin_node
then
munin-run nginx_status
should run just fine.
Steve
–
Steve H. BSc(Hons) MNZCS
Linkedin: http://www.linkedin.com/in/steveholdoway
Skype: sholdowa
My config looks like:
/etc/munin/plugin-conf.d/munin-node
…
[nginx_*]
user root
/etc/nginx/sites-enabled/default
…
munin nginx status (request/ connections handeled)
location /nginx_status {
stub_status on;
access_log off;
allow 127.0.0.1;
deny all;
}
…
This runs for me very well, so try to edit your
/etc/munin/plugin-conf.d/munin-node.
You can also Debug by
munin-configure --suggest
Am 18.06.2013 15:42, schrieb Grant:
Replace
[nginx*]
env.url http://localhost/nginx_status
with
[nginx_*]
user root
my nginx default file
egrep -v “(^$|^#)” /etc/nginx/sites-enabled/default
server {
listen 80; ## listen for ipv4
listen [::]:80 default ipv6only=on; ## listen for ipv6
server_name localhost;
access_log /var/log/nginx/localhost.access.log;
location / {
root /var/www;
index index.html index.htm;
}
location /doc {
root /usr/share;
autoindex on;
allow 127.0.0.1;
deny all;
}
location /images {
root /usr/share;
autoindex on;
}
location /nginx_status {
stub_status on;
access_log off;
allow 127.0.0.1;
deny all;
}
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
#
#error_page 500 502 503 504 /50x.html;
#location = /50x.html {
# root /var/www/nginx-default;
#}
# proxy the PHP scripts to Apache listening on 127.0.0.1:80
#
#location ~ \.php$ {
#proxy_pass http://127.0.0.1;
#}
# pass the PHP scripts to FastCGI server listening on
127.0.0.1:9000
#
#location ~ .php$ {
#fastcgi_pass 127.0.0.1:9000;
#fastcgi_index index.php;
#fastcgi_param SCRIPT_FILENAME
/scripts$fastcgi_script_name;
#includefastcgi_params ;
#}
# deny access to .htaccess files, if Apache’s document root
# concurs with nginx’s one
#
#location ~ /.ht {
#deny all;
#}
}
Am 18.06.2013 16:10, schrieb Grant:
My config looks like:
/etc/munin/plugin-conf.d/munin-node
…
[nginx_*]
user root
/etc/nginx/sites-enabled/default
I don’t have /etc/nginx/sites-enabled/ at all. What kind of stuff is
in the default file? I’m on Gentoo.