Analytics
Use the GraphQL API to get aggregate data and monitor your Aegis IPs capacity.
Each Aegis IP can support 40,000 concurrent connections per origin IP port. For example, if you have one Aegis IP and two origins (A and B), this single Aegis IP can support 40,000 concurrent connections to origin A, while simultaneously supporting 40,000 concurrent connections to origin B.
Refer to the GraphQL Analytics API documentation for further guidance, or consider the example below for a quickstart.
The specific Aegis schema is called aegisIpUtilizationAdaptiveGroups
.
You can get average (avg
) or maximum (max
) utilization values (in percentage), and use the following dimensions:
-
datetimeFiveMinutes
time- Timestamp truncated to five minutes. For example,
2025-01-10T00:05:00Z
.
- Timestamp truncated to five minutes. For example,
-
popName
string- The Cloudflare point of presence (PoP). For example,
sjc
.
- The Cloudflare point of presence (PoP). For example,
-
egressIp
string- Your assigned Aegis IP. For example,
192.0.2.1
.
- Your assigned Aegis IP. For example,
-
origin
string- Origin IP and port. For example,
203.0.113.150:443
.
- Origin IP and port. For example,
-
popUtilizationKey
string- The Cloudflare point of presence (PoP), the Aegis IP, and the origin IP and port. For example,
sjc 192.0.2.1 203.0.113.150:443
.
- The Cloudflare point of presence (PoP), the Aegis IP, and the origin IP and port. For example,
Refer to the query below to learn how to get average utilization and maximum utilization by point of presence, and filter the results.
You can also select the button at the bottom to use this query for your account via the Cloudflare GraphQL API Explorer ↗. Make sure to provide your account ID and timestamps, and replace the placeholders for popName
, egressIp
, and origin
as needed.
query AegisIpUtilizationQuery( $accountTag: string $datetimeStart: string $datetimeEnd: string) { viewer { utilization: accounts(filter: { accountTag: $accountTag }) { avgByPopUtilization: aegisIpUtilizationAdaptiveGroups( limit: 100 filter: { datetimeFiveMinutes_geq: $datetimeStart datetimeFiveMinutes_leq: $datetimeEnd } orderBy: [datetimeFiveMinutes_ASC] ) { avg { utilization } dimensions { datetimeFiveMinutes popUtilizationKey } }
maxByPopUtilization: aegisIpUtilizationAdaptiveGroups( limit: 100 filter: { datetimeFiveMinutes_geq: $datetimeStart datetimeFiveMinutes_leq: $datetimeEnd } orderBy: [datetimeFiveMinutes_ASC] ) { max { utilization } dimensions { datetimeFiveMinutes popUtilizationKey } }
filterPopUtilization: aegisIpUtilizationAdaptiveGroups( limit: 100 filter: { datetimeFiveMinutes_geq: $datetimeStart datetimeFiveMinutes_leq: $datetimeEnd popName: "<CLOUDFLARE_POP>" } orderBy: [datetimeFiveMinutes_ASC] ) { max { utilization } dimensions { datetimeFiveMinutes popUtilizationKey } }
filterIPUtilization: aegisIpUtilizationAdaptiveGroups( limit: 100 filter: { datetimeFiveMinutes_geq: $datetimeStart datetimeFiveMinutes_leq: $datetimeEnd egressIp: "<YOUR_EGRESS_IP>" } orderBy: [datetimeFiveMinutes_ASC] ) { max { utilization } dimensions { datetimeFiveMinutes popUtilizationKey } }
filterOriginUtilization: aegisIpUtilizationAdaptiveGroups( limit: 100 filter: { datetimeFiveMinutes_geq: $datetimeStart datetimeFiveMinutes_leq: $datetimeEnd origin: "<ORIGIN_IP_AND_PORT>" } orderBy: [datetimeFiveMinutes_ASC] ) { max { utilization } dimensions { datetimeFiveMinutes popUtilizationKey } } } }}
Was this helpful?
- Resources
- API
- New to Cloudflare?
- Products
- Sponsorships
- Open Source
- Support
- Help Center
- System Status
- Compliance
- GDPR
- Company
- cloudflare.com
- Our team
- Careers
- 2025 Cloudflare, Inc.
- Privacy Policy
- Terms of Use
- Report Security Issues
- Trademark