/heplify-server

HEP Capture Server for HOMER

Primary LanguageGoGNU Affero General Public License v3.0AGPL-3.0

image

heplify-server is a stand-alone HOMER capture server developed in Go, optimized for speed and simplicity. Distributed as a single binary ready to capture TLS and UDP HEP, Protobuf encapsulated packets from heplify or any other HEP enabled agent, indexing to database and rotating using H5 or H7 table format. heplify-server provides precise SIP and RTCP metrics with the help of Prometheus and Grafana. It gives you the possibility to get a global view on your network and individual SIP trunk monitoring.

TLDR; minimal, stand-alone HOMER capture server without Kamailio or OpenSIPS dependency. It's not as customizeable as Kamailio or OpenSIPS with their configuration language, the focus is simplicity!


Installation

You have 3 options to get heplify-server up and running:

  • Download a release

  • Docker compose

  • Compile from sources:

    Install gcc and luajit dev libary

    apt-get install build-essential libluajit-5.1-dev

    or

    yum install luajit-devel

    or for macOS

    # Assuming brew installs to /usr/local/
    brew install lua@5.1 luajit
    ln -s /usr/local/lib/pkgconfig/luajit.pc /usr/local/lib/pkgconfig/luajit-5.1.pc
    export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig/

    install Go 1.11+

    go build cmd/heplify-server/heplify-server.go

Requirements

These depend on which features you want to use and on whether you use homer5 or homer7 schema. For homer5, you need MySQL >= 5.7 or MariaDB >= 10. For homer7 you need PostgreSQL >= 10.

Configuration

heplify-server can be configured using command-line flags, environment variables, or a local configuration file or via web form by setting ConfigHTTPAddr

image

To set up a systemd service, use the sample service file and follow the instructions found at the top of the file.

Since version 0.92 it is possible to hot reload PromTargetIP and PromTargetName when you change them inside the configuration file.

killall -HUP heplify-server

Running

Stand-Alone
./heplify-server -h
Docker

A sample Docker compose file is available providing heplify-server, Homer 5 UI, Prometheus, Alertmanager and Grafana in seconds!

cd heplify-server/docker/hom5-hep-prom-graf/
docker-compose up -d

Support

  • Testers, Reporters and Contributors welcome

Screenshots

sip_metrics xrtp loki

Made by Humans

This Open-Source project is made possible by actual Humans without corporate sponsors, angels or patreons.
If you use this software in production, please consider supporting its development with contributions or donations

Donate