erGW uses prometheus.erl to implement various operation metrics.
The following metrics exist:
Name | Type | Labels | Metric |
---|---|---|---|
gtp_path_messages_processed_total | counter | name, remote, direction, version, type | Total number of GTP message processed on path |
gtp_path_messages_duplicates_total | counter | name, remote, version, type | Total number of duplicate GTP message received on path |
gtp_path_messages_retransmits_total | counter | name, remote, version, type | Total number of retransmited GTP message on path |
gtp_path_messages_timeouts_total | counter | name, remote, version, type | Total number of timed out GTP message on path |
gtp_path_messages_replies_total | counter | name, remote, direction, version, type, result | Total number of reply GTP message on path |
gtp_path_rtt_milliseconds | histogram | name, ip, version, type | GTP path round trip time |
gtp_path_contexts_total | gauge | name, ip, version | Total number of GTP contexts on path |
gtp_c_socket_messages_processed_total | counter | name, direction, version, type | Total number of GTP message processed on socket |
gtp_c_socket_messages_duplicates_total | counter | name, version, type | Total number of duplicate GTP message received on socket |
gtp_c_socket_messages_retransmits_total | counter | name, version, type | Total number of retransmited GTP message on socket |
gtp_c_socket_messages_timeouts_total | counter | name, version, type | Total number of timed out GTP message on socket |
gtp_c_socket_messages_replies_total | counter | name, direction, version, type, result | Total number of reply GTP message on socket |
gtp_c_socket_errors_total | counter | name, direction, error | Total number of GTP errors on socket |
gtp_c_socket_request_duration_microseconds | histogram | name, version, type | GTP Request execution time. |
gtp_u_socket_messages_processed_total | counter | name, direction, version, type | Total number of GTP message processed on socket |
ergw_local_pool_free | gauge | name, type, id | Number of free IPs |
ergw_local_pool_used | gauge | name, type, id | Number of used IPs |
pfcp_messages_processed_total | counter | name, direction, remote, type | Total number of PFCP message processed |
pfcp_messages_duplicates_total | counter | name, remote, type | Total number of duplicate PFCP message received |
pfcp_messages_retransmits_total | counter | name, remote, type | Total number of retransmited PFCP message |
pfcp_messages_timeouts_total | counter | name, remote, type | Total number of timed out PFCP message |
pfcp_messages_replies_total | counter | name, direction, remote, type, result | Total number of reply PFCP message |
pfcp_errors_total | counter | name, direction, remote, type | Total number of PFCP errors |
pfcp_peer_response_milliseconds | histogram | name, remote, type | PFCP round trip time |
pfcp_request_duration_microseconds | histogram | name, type | PFCP Request execution time |
pfcp_sx_association_total | gauge | state | Total number of PFCP Sx node association |
pfcp_sx_context_total | gauge | name | Total number of PFCP Sx node session counters |
termination_cause_total | counter | api, reason | Total number of termination causes |
The label name
is is taken from the configuration of the GTP socket and PeerIP is the IP address of
the peer GSN.
The path rtt
is the round trip time histogram for each request/response
message pair.
The label direction
has the value tx
or rx
for transmitted or received.
The timeout
counter exists only for requests that require a response.
The request_duration
metric is a histogram of the total processing time for the last
incoming message of that type.
The label type
is the GTP Messages types. For GTPv1-C messages the following types exist:
- create_mbms_context_request
- create_mbms_context_response
- create_pdp_context_request
- create_pdp_context_response
- data_record_transfer_request
- data_record_transfer_response
- delete_mbms_context_request
- delete_mbms_context_response
- delete_pdp_context_request
- delete_pdp_context_response
- echo_request
- echo_response
- error_indication
- failure_report_request
- failure_report_response
- forward_relocation_complete
- forward_relocation_complete_acknowledge
- forward_relocation_request
- forward_relocation_response
- forward_srns_context
- forward_srns_context_acknowledge
- identification_request
- identification_response
- initiate_pdp_context_activation_request
- initiate_pdp_context_activation_response
- mbms_de_registration_request
- mbms_de_registration_response
- mbms_notification_reject_request
- mbms_notification_reject_response
- mbms_notification_request
- mbms_notification_response
- mbms_registration_request
- mbms_registration_response
- mbms_session_start_request
- mbms_session_start_response
- mbms_session_stop_request
- mbms_session_stop_response
- mbms_session_update_request
- mbms_session_update_response
- ms_info_change_notification_request
- ms_info_change_notification_response
- node_alive_request
- node_alive_response
- note_ms_gprs_present_request
- note_ms_gprs_present_response
- pdu_notification_reject_request
- pdu_notification_reject_response
- pdu_notification_request
- pdu_notification_response
- ran_information_relay
- redirection_request
- redirection_response
- relocation_cancel_request
- relocation_cancel_response
- send_routeing_information_for_gprs_request
- send_routeing_information_for_gprs_response
- sgsn_context_acknowledge
- sgsn_context_request
- sgsn_context_response
- supported_extension_headers_notification
- unsupported
- update_mbms_context_request
- update_mbms_context_response
- update_pdp_context_request
- update_pdp_context_response
- version_not_supported
For GTPv2-C messages the following types exist:
- alert_mme_acknowledge
- alert_mme_notification
- bearer_resource_command
- bearer_resource_failure_indication
- change_notification_request
- change_notification_response
- configuration_transfer_tunnel
- context_acknowledge
- context_request
- context_response
- create_bearer_request
- create_bearer_response
- create_forwarding_tunnel_request
- create_forwarding_tunnel_response
- create_indirect_data_forwarding_tunnel_request
- create_indirect_data_forwarding_tunnel_response
- create_session_request
- create_session_response
- cs_paging_indication
- delete_bearer_command
- delete_bearer_failure_indication
- delete_bearer_request
- delete_bearer_response
- delete_indirect_data_forwarding_tunnel_request
- delete_indirect_data_forwarding_tunnel_response
- delete_pdn_connection_set_request
- delete_pdn_connection_set_response
- delete_session_request
- delete_session_response
- detach_acknowledge
- detach_notification
- downlink_data_notification
- downlink_data_notification_acknowledge
- downlink_data_notification_failure_indication
- echo_request
- echo_response
- forward_access_context_acknowledge
- forward_access_context_notification
- forward_relocation_complete_acknowledge
- forward_relocation_complete_notification
- forward_relocation_request
- forward_relocation_response
- identification_request
- identification_response
- isr_status_indication
- mbms_session_start_request
- mbms_session_start_response
- mbms_session_stop_request
- mbms_session_stop_response
- mbms_session_update_request
- mbms_session_update_response
- modify_bearer_command
- modify_bearer_failure_indication
- modify_bearer_request
- modify_bearer_response
- pgw_downlink_triggering_acknowledge
- pgw_downlink_triggering_notification
- pgw_restart_notification
- pgw_restart_notification_acknowledge
- ran_information_relay
- release_access_bearers_request
- release_access_bearers_response
- relocation_cancel_request
- relocation_cancel_response
- resume_acknowledge
- resume_notification
- stop_paging_indication
- suspend_acknowledge
- suspend_notification
- trace_session_activation
- trace_session_deactivation
- ue_activity_acknowledge
- ue_activity_notification
- unsupported
- update_bearer_request
- update_bearer_response
- update_pdn_connection_set_request
- update_pdn_connection_set_response
- version_not_supported
The label type
is the Termination Causes types. For Termination causes the following types exist:
Reason | Description |
---|---|
normal | Normal session termination |
administrative | The session is terminated by an administrative action (e.g. draining) |
link_broken | A session message initiated by the ERGW to the SGW/SGSN is rejected |
upf_failure | Communication between the ERGW and the UPF failed |
remote_failure | In a proxy setup, communication to the remote PGW failed |
peer_restart | The session is terminated because remote peer restart was detected one of the GTP peer connections the session is associated to |
cp_inactivity_timeout | The session had no Control Plane (GTP-C) activity within the configured session inactivity timeout |
up_inactivity_timeout | User plane has reported that the session had no user data transfer withing the configured session inactivity timeout |
'ASR' | One of the AAA interfaces (Gx, Gy, Ro) has disconnected the session |
error | An unidentified error has been returned for an AAA request |
req_timeout | An AAA request related to the session has timed out. AAA handler has no configured default answer for this error |
conn_error | An AAA request related to the session failed because of no connection available. AAA handler has no configured default answer for this error |
rate_limit | An AAA request related to the session failed because of rate limit reached towards the AAA interface instance. AAA handler has no configured default answer for this error |
ocs_hold_end | The session was terminated because the OCS Hold duration given by the AAA Gy interface has expired |
peer_reject | An AAA peer (e.g. OCS, PCRF) has sent an error result in the response to a request |
The HTTP API exports the metrics in Prometheus format at /metrics
:
curl -X GET "http://localhost:8080/metrics" -H "accept: text/plain;version=0.0.4"
For further details check the Prometheus documentation on Metric names and labels.