After NGINX access logs are collected and sent to Log Service, you can execute a query statement in 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
- NGINX access logs are collected. For more information, see Collect logs in NGINX configuration mode.
- Indexes are configured. For more information, see Create indexes.
Procedure
The following figure shows the operations that you need to perform to add a filter of the Replace Variable type.

Step 1: Query and analyze data
To query the numbers of PVs per minute by using a query statement, perform the following operations:
- Log on to the Log Service console.
- In the Projects section, click the project that you want to view.
- Choose . On the Logstores tab, click the Logstore that you want to view.
- 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.
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:
- On the Graph tab, click Add to New Dashboard.
- In the Add to New Dashboard dialog box, configure the parameters based on your business requirements and click OK. 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:
- In the left-side navigation pane, click Dashboard.
- In the Dashboard list, click NGINX Access Log.
- 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 .
- 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
- The following example shows the original query statement:
Step 4: Add a filter
To add a filter by using the variable that you configure, perform the following operations:
- In the upper-right corner of the NGINX Access Log page, click the
icon.
- 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.
For more information about filter parameters, see Add a filter.
- Adjust the filter layout of the page and click Save.
- In the Save message, click OK.
The NGINX Access Log dashboard displays the interval 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. - 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.