Multifaceted Monitoring of Angie, an nginx Web Server Fork#
A beautiful live demo is better than any pictures: https://console.angie.software/
Hello, dear reader. My name is Dmitry. I am a systems engineer at Web Server, the Russian company behind the Angie web server. Drawing from my experience providing technical support—first at NGINX and now at Web Server LLC—I frequently encounter the same popular question: "How do I organise web server monitoring?" Let's explore the answer.
Monitoring. "Why? The logs are fine!"
Angie Web Server. "Why? When there's ***."** How to install. "Is there a build for **?"
API. "I'm telling you, there are logs! Just let me enable them in prod." What it provides. "What's the difference from logs?" How to configure. "Doesn't it work automatically?" Getting web server configuration. "But there's angie -T."
Console Light – Web Interface. "Another monitoring system?!1?1!!!" What it shows. "What does real-time mean?" How to install. "Really just a couple of config lines?"
Prometheus API. "I'm already using it! Well yes, we parse logs..." How to configure Angie for integration. "And without njs?" Comparison with Console Light. "Do the values really match?"
Conclusion. "So that's what multifaceted means!"
---
1. Monitoring. "Why? The logs are fine!"#
We've moved beyond reacting to incidents based on user reports. Monitoring systems have become an essential part of modern infrastructure, providing data collection, notifications, and even the occasional "fix everything" button.
When asked by managers, architects, or security specialists about how we ensure observability for key components in the request-processing infrastructure, we typically highlight three main sources of information:
System metrics about the web server process (e.g., CPU and RAM usage, uptime).
Log data offering a retrospective view of processed requests.
Metric exports using third-party extensions, though less commonly.
While system process metrics are fundamental and universally applied, they often fall short. For example, low CPU usage might still coincide with a 502 Bad Gateway error, signalling deeper issues that aren't immediately apparent.
Log data is also straightforward to access but inherently reactive. It allows us to diagnose issues only after they've occurred. For instance, during a DoS attack, logs reveal failed requests after the fact, but they don't provide insight into unprocessed incoming requests. Effective monitoring should act as a predictive tool, alerting us to issues in progress—not merely documenting the aftermath.
Third-party solutions for metric exports can bridge this gap but come with trade-offs:
Time investment in configuration and OS-specific builds.
Potential compatibility issues between the web server and third-party modules after updates.
Security concerns from InfoSec teams, who rarely sleep easy.
Angie's built-in monitoring features, as we'll discuss, provide comprehensive real-time insights into web and proxy server loads, alongside seamless integration options for existing monitoring systems.
---
2. Angie Web Server. "Why? When there's *."#
Angie is an nginx fork that offers additional functionality while preserving nginx's lightweight and efficient design.
How to install: Installing Angie is straightforward. Pre-built packages are available for common operating systems, and compiling from source is also supported. Detailed installation instructions can be found in the official documentation.
Build availability: Angie supports a wide range of platforms, with binaries for popular Linux distributions and other environments. If you're unsure about your OS compatibility, consult the downloads section.
---
3. API. "I'm telling you, there are logs! Just let me enable them in prod."#
Angie's API allows real-time monitoring of its operations, complementing traditional logs.
What it provides: The API offers granular metrics about request processing, load distribution, and resource usage that go beyond static log entries.
What's the difference from logs? Logs capture historical data—what has already happened. In contrast, the API provides live insights into what's happening now, such as queue lengths, processing delays, or upstream server status.
How to configure: Configuring the API is simple and involves enabling the relevant modules in Angie's configuration file. Step-by-step instructions are available in the official guide.
Getting web server configuration: For users familiar with angie -T
, the
API extends its functionality by providing dynamic, on-demand access to
configuration and runtime metrics.
---
4. Console Light – Web Interface. "Another monitoring system?!1?1!!!"#
What it shows: Console Light provides a graphical interface for Angie's real-time metrics, offering a clear visual representation of server performance.
What does real-time mean? Metrics are updated live, giving immediate feedback on server behaviour without the delays inherent in log-based systems.
How to install: Installing Console Light requires minimal effort—just a few lines of configuration. Instructions are provided in the installation guide, ensuring you can set it up quickly.
---
5. Prometheus API. "I'm already using it! Well yes, we parse logs..."#
How to configure Angie for integration: Prometheus-compatible endpoints can be enabled in Angie's configuration. No additional third-party modules are required, making setup efficient and secure.
And without njs? Unlike some setups that require nginx's njs module for Prometheus integration, Angie provides native support for metric export, eliminating additional dependencies.
Comparison with Console Light: Both Prometheus and Console Light offer robust monitoring capabilities, but they cater to different needs. Prometheus is ideal for aggregating metrics across large-scale systems, while Console Light provides a focused, real-time view of Angie's performance. The values reported by both systems match, ensuring consistency.
---
6. Conclusion. "So that's what multifaceted means!"#
Angie's multifaceted monitoring capabilities address the needs of modern infrastructure by combining system metrics, real-time APIs, and visual interfaces. Whether you prefer logs, APIs, or graphical dashboards, Angie has tools to provide a comprehensive and predictive monitoring experience.
By leveraging these features, you can ensure your web server operates efficiently, detect issues before they escalate, and integrate seamlessly with your existing monitoring solutions.