All Products
Search
Document Center

Simple Log Service:Collect monitoring data from NGINX servers

Last Updated:Aug 29, 2023

NGINX provides a built-in status page that provides metrics and allows you to monitor NGINX status. You can collect metrics from NGINX servers and send the collected metrics to the Full-stack Monitoring application. This way, you can monitor the metrics in a visualized manner.

Prerequisites

An instance is created. For more information, see Create an instance.

Step 1: Configure the NGINX status module

  1. Run the following command to check whether the NGINX status module is supported. For more information, see Module ngx_http_stub_status_module.

    nginx -V 2>&1 | grep -o with-http_stub_status_module
    with-http_stub_status_module 

    If with-http_stub_status_module is returned, the NGINX status module is supported.

  2. Configure the NGINX status module.

    Enable the NGINX status module in the NGINX configuration file. The default NGINX configuration file is /etc/nginx/nginx.conf. The following sample code provides an example on how to enable the NGINX status module. For more information, see Enable Nginx Status Page.

         location /private/nginx_status {
           stub_status on;
           access_log   off;
           allow 192.0.2.1;
           deny all;
         }                       
    • /private/nginx_status specifies the Uniform Resource Identifier (URI) of the NGINX status module. Replace the value with the actual URI.

    • allow 192.0.2.1 specifies that only a server whose IP address is 192.0.2.1 can access the NGINX status module. Replace the value with the actual IP address.

  3. Run the following command to check whether the server on which Logtail is installed can access the NGINX status module:

    $curl http://192.0.2.1/private/nginx_status

    If the following information is returned, the NGINX status module is enabled:

    Active connections: 1
    server accepts handled requests
    2507455 2507455 2512972
    Reading: 0 Writing: 1 Waiting: 0                       

Step 2: Create a Logtail configuration

  1. Log on to the Log Service console.

  2. On the Intelligent O&M tab of the Log Application section, click Full-stack Monitoring.

  3. On the Full-stack Monitoring page, click the instance.

  4. On the Data Import page, turn on NGINX in the Middleware Monitoring section.

    If this is your first time to create a Logtail configuration for host monitoring, turn on the switch to go to the configuration page. If you have created a Logtail configuration, click the Create icon to go to the configuration page.

  5. Create a machine group.

    • If a machine group is available, click Use Existing Machine Groups.

    • If no machine groups are available, perform the following steps to create a machine group. In this example, an Elastic Compute Service (ECS) instance is used.

      1. On the ECS Instances tab, select Manually Select Instances. Then, select the ECS instance that you want to use and click Create.

        For more information, see Install Logtail on ECS instances.

        Important

        If you want to collect logs from an ECS instance that belongs to a different Alibaba Cloud account than Simple Log Service, a server in a data center, or a server of a third-party cloud service provider, you must manually install Linux Logtail V0.16.50 or later on the server. For more information, see Install Logtail on a Linux server. After the installation is complete, you also need to manually configure a user identifier on the server. For more information, see Configure a user identifier.

      2. After Logtail is installed, click Complete Installation.

      3. In the Create Machine Group step, configure Name and click Next.

        Simple Log Service allows you to create IP address-based machine groups and custom identifier-based machine groups. For more information, see Create an IP address-based machine group and Create a custom identifier-based machine group.

    Important

    Make sure that the server on which you want to install Logtail can connect to the NGINX server whose monitoring data you want to collect.

  6. Select the new machine group from Source Server Groups and move the machine group to Applied Server Groups. Then, click Next.
    Important If you apply a machine group immediately after you create the machine group, the heartbeat status of the machine group may be FAIL. This issue occurs because the machine group is not connected to Log Service. To resolve this issue, you can click Automatic Retry. If the issue persists, see What do I do if no heartbeat connections are detected on Logtail?
  7. In the Specify Data Source step, configure the following parameters and click Complete.

    Parameter

    Description

    Configuration Name

    The name of the Logtail configuration. You can enter a custom name.

    Cluster Name

    The name of the NGINX cluster. You can enter a custom name.

    After you configure this parameter, Simple Log Service adds a cluster=Cluster name tag to the NGINX monitoring data that is collected by using the Logtail configuration.

    Important

    Make sure that the cluster name is unique. Otherwise, data conflicts may occur.

    Server List

    The information about the NGINX server. The information includes the following configuration items:

    • Address: the address of the NGINX server. You can enter the IP address, hostname, or domain name of the server.

    • Port: the port number of the NGINX server.

    • Path: the URI of the NGINX status module. Example: /private/nginx_status. For more information about how to configure the NGINX status module, see Configure the NGINX status module.

    You can add information about multiple NGINX servers based on your business requirements.

    Custom Tags

    The custom tags that are added to the collected NGINX monitoring data. The tags are key-value pairs.

    After you configure this parameter, Simple Log Service adds the custom tags to the NGINX monitoring data that is collected by using the Logtail configuration.

    Custom Telegraf Configurations

    Simple Log Service collects NGINX monitoring data by using Telegraf. Telegraf is an open source tool that is used to collect metrics. If the preceding default parameters do not meet your business requirements, you can use Custom Telegraf Configurations to configure custom parameters. For more information about Telegraf, see Telegraf. For more information about configuration examples, see Configuration.

    For more information about the metrics that can be collected, see Metrics.

    After you complete the configurations, Simple Log Service automatically creates assets such as Metricstores. For more information, see Assets.

What to do next

After NGINX monitoring data is collected and sent to the Full-stack Monitoring application, the application automatically creates dedicated dashboards for the monitoring data. You can use the dashboards to analyze the monitoring data. For more information, see View dashboards.