SIP-exporter is a high-performance monitoring service leveraging eBPF technology to capture and export SIP telephony metrics. Designed for Prometheus-compatible systems, it significantly reduces userspace processing overhead by capturing packets in the Linux kernel. Ideal for telephony systems seeking efficient metric exports.
sip-exporter is a high-performance monitoring service designed for Session Initiation Protocol (SIP) environments, leveraging advanced eBPF (extended Berkeley Packet Filter) technology. This powerful service captures and exports telephony metrics directly from the Linux kernel, significantly reducing userspace processing overhead and ensuring efficient metric collection for Prometheus-compatible systems such as Prometheus and VictoriaMetrics.
Key Features
- 🌐 Multi-Interface Monitoring: Monitor multiple network interface cards (NICs) simultaneously, tagging each with an
ifacelabel for granular analysis. - ⚡ Low Overhead: Operate with minimal impact on system resources thanks to eBPF, which filters packets directly in kernel space.
- 🐳 Single Container Deployment: Simplify installation with a containerized solution that requires no external dependencies.
- 🔧 Configurable SIP Ports: Define specific SIP ports through environment variables for maximum flexibility.
- 📈 Prometheus Native Integration: Expose a
/metricsendpoint for easy scraping with Prometheus. - 🏷️ Carrier Metrics: Tag SIP metrics based on CIDR-based carrier resolution, enabling detailed insights into individual telecommunication providers.
- 🏷️ Device Type Metrics: Classify metrics by User-Agent for comprehensive device performance analysis.
- 🌍 Geo-Enrichment: Enhance metrics with geographic context through
source_countryanddestination_countrylabels. - 🔀 Traffic Direction: Automatically label metrics as
inboundoroutboundwith zero configuration required. - 📞 Voice Quality Metrics: Assess call quality using metrics defined by RFC 6035, including MOS scores, jitter, and packet loss.
- 🎧 RTP Media Analysis: Analyze RTP stream quality metrics with detailed tracking of jitter, packet loss, and other VoIP parameters without capturing voice payload data.
- 🛡️ Fraud Detection: Identify potential fraud through patterns in SIP signaling, such as registration scans and abnormal INVITE rates.
Installation and Usage
Quick Start
Deploy sip-exporter using Docker with the following simple configuration:
docker-compose.yml
services:
sip-exporter:
image: frzq/sip-exporter:latest
privileged: true
network_mode: host
environment:
- SIP_EXPORTER_INTERFACE=eth0
- SIP_EXPORTER_HTTP_PORT=2112
- SIP_EXPORTER_SIP_PORTS=5060
After starting the service, metrics can be accessed at http://localhost:2112/metrics. A health check endpoint is also available to monitor service status.
Core Technology
sip-exporter operates by utilizing eBPF attached to AF_PACKET sockets to intercept and filter SIP packets at Layer 4 (L4) without the need for traditional packet management solutions. This integration facilitates efficient and effective processing of SIP traffic and metrics.
Performance
The service exhibits flawless performance metrics with zero packet loss at up to 2,000 Calls Per Second (CPS), consuming less than 15% CPU and approximately 15 MB RAM under peak load. Garbage Collection (GC) pauses remain under 1 millisecond, ensuring smooth processing and reliability.
Metrics Overview
All collected metrics follow the Prometheus exposition format, enabling compatibility with various metric storage solutions including Prometheus and VictoriaMetrics. Key metrics include:
- SIP request/response metrics categorized by type (e.g., INVITE, BYE, REGISTER).
- Real-time counts of active SIP sessions.
- Performance metrics defined in RFC standards, providing insights into system health and efficiency.
- Detailed voice quality metrics, RTP media metrics, and alerts for detected fraud patterns to ensure ongoing monitoring of SIP environment integrity.
For developers, the project also includes extensive unit tests and end-to-end tests covering a wide spectrum of scenarios, ensuring robustness and reliability of the performance under different conditions.
For comprehensive details about SIP monitoring and setup instructions, users are encouraged to refer to the sip-exporter documentation.
By utilizing this innovative monitoring solution, organizations can optimize their telephony performance, maximize insights from SIP traffic, and maintain high levels of service integrity.
No comments yet.
Sign in to be the first to comment.