Ana içeriğe geç

Example Grafana Dashboards

Info

For Grafana Installation and Prometheus Integration as Data Source, you can check our relevant documentation.

Dashboard Panels​

The panel examples below are configurations you can use in Grafana to visualize Apinizer Gateway metrics.

Panel 1: Total API Request Volume by Request Type​

Timeseries Visualization

Shows total, successful, and failed API requests as a time series.

PromQL Queries:

  • A (Total Requests): sum(rate(apinizer_api_traffic_total_count_total[5m]))

    Grafana - Total Requests
  • B (Successful Requests): sum(rate(apinizer_api_traffic_success_count_total[5m]))

Grafana - Successful Requests
  • C (Failed Requests): sum(rate(apinizer_api_traffic_error_count_total[5m]))

Visualization Type: Timeseries

Grafana - Failed Requests

Panel Settings:

  • Use different colors for each query (e.g., Total=blue, Successful=green, Failed=red)
  • Enable legend
  • Use "req/s" as Y-axis unit

Panel 2: APIs with Highest Traffic Volume​

Bar Chart Visualization

Shows the top 5 APIs with the highest traffic volume in the last 100 minutes.

PromQL Query:

topk(5, sum by (api_name) (increase(apinizer_api_traffic_total_count_tagged_total[100m])))

Visualization Type: Bar gauge or Bar chart

Grafana - Top 5 APIs by Traffic

Panel Settings:

  • Direction: Horizontal
  • Sorting: High to low
  • Enable legend and show API names

Panel 3: API Processing Time Details​

Timeseries Visualization

Shows request pipeline, routing, and response pipeline times separately.

PromQL Queries:

  • A (Request Pipeline Time): sum(rate(apinizer_api_traffic_request_pipeline_time_seconds_sum[5m])) / sum(rate(apinizer_api_traffic_request_pipeline_time_seconds_count[5m])) * 1000
  • B (Routing Time): sum(rate(apinizer_api_traffic_routing_time_seconds_sum[5m])) / sum(rate(apinizer_api_traffic_routing_time_seconds_count[5m])) * 1000
  • C (Response Pipeline Time): sum(rate(apinizer_api_traffic_response_pipeline_time_seconds_sum[5m])) / sum(rate(apinizer_api_traffic_response_pipeline_time_seconds_count[5m])) * 1000

Visualization Type: Timeseries

Grafana - API Processing Times

Panel Settings:

  • Use "ms" (milliseconds) as Y-axis unit
  • Use different colors and styles for each query
  • Enable legend

Panel 4: Average Request / Response Size​

Timeseries Visualization

Shows average sizes of request and response messages.

PromQL Queries:

  • A (Average Request Size): sum(rate(apinizer_api_traffic_request_size_bytes_sum[5m])) / sum(rate(apinizer_api_traffic_request_size_bytes_count[5m]))
Grafana - Average Request Size
  • B (Average Response Size): sum(rate(apinizer_api_traffic_response_size_bytes_sum[5m])) / sum(rate(apinizer_api_traffic_response_size_bytes_count[5m]))
Grafana - Average Response Size

Visualization Type: Timeseries

Panel Settings:

  • Use "bytes" or "decbytes" as Y-axis unit
  • Use different colors for each query
  • Enable legend

Panel 5: CPU Usage of Pods​

Gauge Visualization

Shows CPU usage percentage of each Gateway pod.

PromQL Query:

sum(system_cpu_usage{pod=~".*"}) by (pod) * 100
Grafana - Pod CPU Usage

Visualization Type: Gauge

Panel Settings:

  • Set thresholds (e.g., Green: 0-70%, Yellow: 70-90%, Red: 90-100%)
  • Min: 0, Max: 100
  • Use "%" as Y-axis unit
  • Show pod names in legend

Dashboard Creation Tips​

Panel Layout

Organize panels in logical groups. API traffic metrics can be at the top, system metrics at the bottom.

Color Scheme

Use a consistent color scheme. Use green for successful operations, red for errors, yellow for warnings.

Time Range

Set the default time range for the dashboard. Usually the last 1 hour or last 24 hours is useful.

Refresh Interval

Set the automatic refresh time of the dashboard. 30 seconds is suitable for high-traffic systems, 1-5 minutes for low-traffic systems.

Note

These panel examples are sufficient to create a basic dashboard. You can add additional panels or customize existing panels according to your needs.