Live data from Hacker News

Show HN: Top, but for Nginx

github.com

61–70 of 72 posts

Re: Show HN: Top, but for Nginx

#61

Monitoring capabilities are missing from Nginx on purpose. They are not and will never be available for free because there is "NGINX Plus". This is why I recommend switching to HAProxy.

I always wonder - why no one from open source community has created better stats module? Is there something in the license that prohibits creation of modules that overlap with Nginx Plus?

I would assume it's the lack of dynamic module support for nginx and you need to compile your own build even if someone creates a module.

Re: Show HN: Top, but for Nginx

#62

Maybe not as lightweight, but GoAccess ( https://github.com/allinurl/goaccess ) does an awesome job at parsing the logs and displaying statistics, works for nginx and other webservers too

Last time I tried it was a pain to set it up to keep up with log rotations and retain all the records.

Re: Show HN: Top, but for Nginx

#63

My last company had something like that and included response time percentiles (50th, 90th, 95th, 99th) and we had these values graphed and displayed on a big screen in our office. Along with a ton of other performance stats: queries per second, various measures of system load, etc. Averages can lie, especially when something like an empty query can take close to zero time compared to a non-trivial transaction. If so…

How "recent" are your percentiles? I have found that calculating percentiles is a pretty CPU heavy task. And you if you have a giant Grafana querying every 30s it can stress out your prometheus/graphite whatever. But if you take small data size, like 95th percentile of latencies in the last 2minutes, it's not really a very accurate representation either.

And ofcourse there is another problem of correctly storing all your latencies accurately which becomes pretty hard if you are using something like prometheus.

Re: Show HN: Top, but for Nginx

#64

Monitoring capabilities are missing from Nginx on purpose. They are not and will never be available for free because there is "NGINX Plus". This is why I recommend switching to HAProxy.

Wish all distros shipped https://github.com/vozlt/nginx-module-vts by default. It's a minor pain to self-build

Over a long period, under a heavy usage, it crashed my nginx. Unfortunately I had to take it out...

Re: Show HN: Top, but for Nginx

#65
post #61

Earlier quoted context omitted.

I always wonder - why no one from open source community has created better stats module? Is there something in the license that prohibits creation of modules that overlap with Nginx Plus?

I would assume it's the lack of dynamic module support for nginx and you need to compile your own build even if someone creates a module.

That's true for any functionality provided by modules and there's plethora of them. Also, Nginx has support for dynamic modules. Recompiling Nginx always worked out of the box for me too, so it's not like a big issue.

One thing that comes to my mind is that maybe this can't be solved by a module due to missing API in open source Nginx.

Re: Show HN: Top, but for Nginx

#66
post #44

Earlier quoted context omitted.

I was thinking the exact same thing ironically. Static file serving? Sure! Load balanced proxying? mod_proxy_balancer is great! Fine grained caching? mod_disk_cache is also great Updating loadbalancer bits via the api? mod_proxy_balancer supports a balancer-manager endpoint for that to do live updates monitoring? mod_status + prometheus exporter or mod_prometheus_status native LE support? https://github.com/icing/mod…

Have you actually seen an apache in the wild in the last few years? No one picks it anymore, I'm not sure why.. Well, besides the fact that nginx is now nginx-ingress-controller and we all use k8.. :/

Why does no one pick it anymore? The reason is twofold: (1) the amount of FUD that surrounds it, based on old comparisons of nginx and Apache httpd 1.3 or 2.x using Prefork and (2) cool-kid syndrome. This thread itself is a perfect example.

Re: Show HN: Top, but for Nginx

#67
post #56

Maybe not as lightweight, but GoAccess ( https://github.com/allinurl/goaccess ) does an awesome job at parsing the logs and displaying statistics, works for nginx and other webservers too

Goaccess used to work perfectly, but recently when ever I try to run the real time HTML command, it exits without any error messages after ~2 million records. Maybe out of memory.. any ideas?

Doubt very much that ~2M will be a memory issue (unless you got less than ~130MB). https://goaccess.io/faq#performance

We're running v1.4 in production and it has been working pretty nice for us.

Re: Show HN: Top, but for Nginx

#68
post #62

Maybe not as lightweight, but GoAccess ( https://github.com/allinurl/goaccess ) does an awesome job at parsing the logs and displaying statistics, works for nginx and other webservers too

Last time I tried it was a pain to set it up to keep up with log rotations and retain all the records.

For us it was literately an `apt install goaccess`, picked the COMBINED log format and it's been running for over a month in prod without issues (rotating weekly).

You should post the issue on their https://github.com/allinurl/goaccess, they may be able to help you.

Re: Show HN: Top, but for Nginx

#69

Earlier quoted context omitted.

Have you actually seen an apache in the wild in the last few years? No one picks it anymore, I'm not sure why.. Well, besides the fact that nginx is now nginx-ingress-controller and we all use k8.. :/

Yes, but I know some of the apache.org SRE so maybe my view is biased.

The most amazing guy who wrote the book on mod_rewrite (Rich Bowen) is from the same tiny town where I grew up in. The apache software foundation upstream folks are super good people.

Re: Show HN: Top, but for Nginx

#70
post #44

Earlier quoted context omitted.

I was thinking the exact same thing ironically. Static file serving? Sure! Load balanced proxying? mod_proxy_balancer is great! Fine grained caching? mod_disk_cache is also great Updating loadbalancer bits via the api? mod_proxy_balancer supports a balancer-manager endpoint for that to do live updates monitoring? mod_status + prometheus exporter or mod_prometheus_status native LE support? https://github.com/icing/mod…

Have you actually seen an apache in the wild in the last few years? No one picks it anymore, I'm not sure why.. Well, besides the fact that nginx is now nginx-ingress-controller and we all use k8.. :/

Apache still runs some really big websites that likely have more requests than many of these startups. Ticketmaster has used Apache for almost 15 years as their primary webserver (but they're fronted by layers of varnish / Akamai). They also maxed out dual 10G links with web traffic in 2007 or so when I worked for them.

That said, netcraft says Apache still runs almost 25% of the internet, which is no small stake: https://news.netcraft.com/archives/category/web-server-surve...

Post reply on HN