IRule Events

Overview

Statistics of iRule events success and failure

Module Name in API

bigip-irule-events

Product Name in API

local-traffic

Dimensions

Dimension Name in API Description
iRule Name irule-name  
BIG-IP Host Name hostname The hostname given to the BIG-IP
BIG-IP Service Cluster dsc-name Clusters of BIG-IPs grouped together to have the same config
Service Scaling Group ssg The name of the Service Scaling Group
iRule Event Type irule-event-type  

MetricSets

iRule Success

Description

Name In API

irule-success-execution

Metrics in the metricSet

Metric Name in API Unit Description
Total Success iRule Executions sum irules Number of success iRules executions took place
Avg iRule Successful Executions avg-value-per-sec irules/s Average number of successful iRules executions took place

iRule Failures

Description

Name In API

irule-failures

Metrics in the metricSet

Metric Name in API Unit Description
Total iRule Failures sum irules Total number of iRules failures that took place
Avg iRule Failures avg-value-per-sec irules/s Average number of iRules failures that took place

Examples

By Time Query

A query by time returns a series of data points in time, based on optional filters, time range, and time granularity. This query kind is identified by the keyword: “ap:query:stats:byTime”

POST https://<address>/mgmt/ap/query/v1/tenants/default/products/local-traffic/metric-query

This example for JSON body in the post, filters by dimension irule-name and get the sum of irule-success-execution

{
    "kind": "ap:query:stats:byTime",
    "module": "bigip-irule-events",
    "timeRange": {
            "from": "-1h",
            "to": "now"
    },
    "timeGranularity": {
            "duration": 30,
            "unit": "SECONDS"
    },
    "aggregations": {
            "irule-success-execution$sum": {
                    "metricSet": "irule-success-execution",
                    "metric": "sum"
            }
    },
    "dimensionFilter": {
            "type": "eq",
            "dimension": "irule-name",
            "value": "value to filter by"
    }
}

By Entities Query

A query by entities returns a sort set of entities, based on optional filters, time range, and choosen metric to sort by. This query kind is identified by the keyword: “ap:query:stats:byEntities”

POST https://<address>/mgmt/ap/query/v1/tenants/default/products/local-traffic/metric-query

This example for JSON body in the post, gets top entities of type irule-name, sorted by sum of irule-success-execution

{
    "kind": "ap:query:stats:byEntities",
    "module": "bigip-irule-events",
    "timeRange": {
            "from": "-1H",
            "to": "now"
    },
    "dimension": "irule-name",
    "sortMetric": "irule-success-execution$sum",
    "sortOrder": "desc",
    "aggregations": {
            "irule-success-execution$sum": {
                    "metricSet": "irule-success-execution",
                    "metric": "sum"
            }
    },
    "limit": 5
}

Entities Count Query

An entities count query returns the distinct count of entities, based on optional filters, time range, and choosen entity type. This query kind is identified by the keyword: “ap:query:stats:entitiesCount”

POST https://<address>/mgmt/ap/query/v1/tenants/default/products/local-traffic/metric-query

This example for JSON body in the post, gets the distinct count of entities of type irule-name

{
    "kind": "ap:query:stats:entitiesCount",
    "module": "bigip-irule-events",
    "dimension": "irule-name",
    "timeRange": {
            "from": "-1h",
            "to": "now"
    }
}