All Products
Search
Document Center

Simple Log Service:Add a filter of the Replace Variable type

Last Updated:Aug 25, 2023

After NGINX access logs are collected and sent to Simple Log Service, you can execute a query statement in Simple Log Service to query the numbers of page views (PVs) per minute. If you want to query the numbers of PVs per 10 seconds, 60 seconds, or 600 seconds, you must modify the query statement multiple times. To simplify operations, you can add a filter of the Replace Variable type. This topic describes how to add a filter of the Replace Variable type to query the numbers of PVs based on NGINX access logs.

Prerequisites

Procedure

The following figure shows the operations that you need to perform to add a filter of the Replace Variable type.

Workflow

Step 1: Query and analyze data

To query the numbers of PVs per minute by using a query statement, perform the following operations:

  1. Log on to the Log Service console.

  2. In the Projects section, click the project that you want to manage.

  3. On the Log Storage > Logstores tab, click the Logstore that you want to manage.

  4. Enter a query statement in the search box, click 15 Minutes(Relative), and then specify a time range for the query.

    In this example, enter the following query statement to query the numbers of PVs per minute:

    * | SELECT date_format(__time__ - __time__ % 60, '%H:%i:%s') as time, count(1) as count GROUP BY time ORDER BY time

    The query results are displayed in a chart.

    Query and analysis

Step 2: Add the chart to a dashboard

To add the chart that displays the numbers of PVs per minute to the NGINX Access Log dashboard, perform the following operations:

  1. On the Graph tab, click Add to New Dashboard.

  2. In the Add to New Dashboard dialog box, configure the parameters based on your business requirements and click OK.

    Dashboard

    For more information about the dashboard parameters, see Add a chart (Pro) to a dashboard or Add a chart to a dashboard.

Step 3: Configure a variable

To configure the time range for the query as a variable, perform the following operations:

  1. In the left-side navigation pane, click Dashboard.

  2. In the Dashboard list, click NGINX Access Log.

  3. In the upper-right corner of the NGINX Access Log page, click Edit. Find the chart for which you want to configure a variable and choose Configure monitoring and alerting > Edit.

  4. Change 60 in the query statement to ${{interval|60}}, click Apply, and then click OK.

    interval is the name of the variable and 60 is the value of the variable. After the variable is configured, you can specify the value of the variable when you add a filter. If you use ${{interval}} to configure the variable, an error is reported for the query.

    • The following example shows the original query statement:

      * | SELECT date_format(__time__ - __time__ % 60, '%H:%i:%s') as time, count(1) as count GROUP BY time ORDER BY time
    • The following example shows the query statement after you configure the variable:

      * | SELECT date_format(__time__ - __time__ % ${{interval|60}}, '%H:%i:%s') as time, count(1) as count GROUP BY time ORDER BY time

    For more information about variables, see Variables. Configure a variable

Step 4: Add a filter

To add a filter by using the variable that you configure, perform the following operations:

  1. In the upper-right corner of the NGINX Access Log page, click the Filter icon icon.

  2. In the Filter panel, configure the parameters and click OK.

    Note
    • You must set Type to Replace Variable.

    • You must set Key to the variable that you configure in the "Step 3: Configure a variable" section. In this example, set Key to interval.

    • In the Static List Items section, you can configure different values for the interval variable.

    FilterFor more information about filter parameters, see Add a filter.

  3. Adjust the filter layout of the page and click Save.

  4. In the Save message, click OK.

    The NGINX Access Log dashboard displays the interval filter.

    Dashboard with a filter

Step 5: Verify the results

  • In the PV Filter section of the NGINX Access Log page, set interval to 10 to query the numbers of PVs per 10 seconds.

    The following query statement is executed:

    * | SELECT date_format(__time__ - __time__ % 10, '%H:%i:%s') as time, count(1) as count GROUP BY time ORDER BY time

    The NGINX Access Log dashboard displays the numbers of PVs per 10 seconds. 10 seconds

  • In the PV Filter section of the NGINX Access Log page, set interval to 60 to query the numbers of PVs per 60 seconds.

    The following query statement is executed:

    * | SELECT date_format(__time__ - __time__ % 60, '%H:%i:%s') as time, count(1) as count GROUP BY time ORDER BY time

    The NGINX Access Log dashboard displays the numbers of PVs per 60 seconds. 60 seconds