Skip to content

Latest commit

 

History

History
227 lines (210 loc) · 12.9 KB

METRICS.md

File metadata and controls

227 lines (210 loc) · 12.9 KB

erGW metrics

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. ⚠️ Note : that this is only triggered when the 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. ⚠️ Note : that this is only triggered when the 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. ⚠️ Note : that this is only triggered when the 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.