Book Image

Nginx Troubleshooting

By : Alexey Kapranov
Book Image

Nginx Troubleshooting

By: Alexey Kapranov

Overview of this book

Nginx is clearly winning the race to be the dominant software to power modern websites. It is fast and open source, maintained with passion by a brilliant team. This book will help you maintain your Nginx instances in a healthy and predictable state. It will lead you through all the types of problems you might encounter as a web administrator, with a special focus on performance and migration from older software. You will learn how to write good configuration files and will get good insights into Nginx logs. It will provide you solutions to problems such as missing or broken functionality and also show you how to tackle performance issues with the Nginx server. A special chapter is devoted to the art of prevention, that is, monitoring and alerting services you may use to detect problems before they manifest themselves on a big scale. The books ends with a reference to error and warning messages Nginx could emit to help you during incident investigations.
Table of Contents (15 chapters)
Nginx Troubleshooting
Credits
About the Author
About the Reviewers
www.PacktPub.com
Preface
Rare Nginx Error Messages
Index

Getting statistics from http_stub_status


Nginx base distribution contains a simple module that provides access to several rather basic but useful counters inside Nginx that are very important to monitor on a regular basis. The module is named ngx_http_stub_status, and we will describe how to use it in monitoring.

This module is not compiled by default. To check if your Nginx distribution is compiled with the stub_status module, you can use this command:

$ nginx -V 2>&1 | fgrep -c http_stub_status_module
1
$

If you see 1, then this module is compiled and linked to your Nginx binary. Otherwise, you need to compile it using --with-http_stub_status_module parameter to configure script that is invoked during Nginx compilation.

Once you have this module available, you can use its directives (actually, there is only one) in nginx.conf. This is an example of stub-status sharing:

location /stub-status {
    stub_status;
}

This module belongs to the family of the so-called content-generating modules...