概述

HOMER是一款100%开源的针对SIP/VOIP/RTC的抓包工具和监控工具。

HOMER是一款强大的、运营商级、可扩展的数据包和事件捕获系统,是基于HEP/EEP协议的VoIP/RTC监控应用程序,并可以使用即时搜索、处理和存储大量的信令、RTC事件、日志和统计信息。

之前的文章中,我们介绍过HOMER的安装流程,在后续的实际应用中发现了更多的问题,对安装过程进行了细化。

HOMER最新版本是HOMER7。

环境

CentOS  release 7.0 (Final)或以上版本

HOMER7

安装docker and docker-compose

首先在centos7上安装docker工具。

sudo yum remove  docker \

            docker-client \

            docker-client-latest \

            docker-common \

            docker-latest \

            docker-latest-logrotate \

            docker-logrotate \

            docker-selinux \

            docker-engine-selinux \

            docker-engine

sudo yum install -y yum-utils

sudo yum-config-manager \

    --add-repo \

    https://download.docker.com/linux/centos/docker-ce.repo

sudo yum makecache fast

sudo yum install docker-ce docker-ce-cli containerd.io docker-compose-plugin

sudo systemctl start docker

docker-compose安装方式1。

sudo yum install docker-ce docker-ce-cli containerd.io docker-compose-plugin

ll /usr/libexec/docker/cli-plugins/docker-compose

sudo ln -s  /usr/libexec/docker/cli-plugins/docker-compose  /usr/bin/docker-compose

sudo ln -s  /usr/libexec/docker/cli-plugins/docker-compose  /usr/local/bin/docker-compose

[adminx@localhost hom7-prom-all]$ docker-compose version

Docker Compose version v2.14.1

docker-compose安装方式2。

docker-compose下载网址:https://github.com/docker/compose/releases 。

使用命令下载docker-compose。

curl -L https://github.com/docker/compose/releases/download/v2.4.1/docker-compose-linux-x86_64 > /usr/local/bin/docker-compose

chmod  777  /usr/local/bin/docker-compose

sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

docker-compose -v

Docker Compose version v2.4.1

heplify SERVER

从github下载homer7 server的docker版本。

git clone https://github.com/sipcapture/homer7-docker

cd homer7-docker/heplify-server/hom7-prom-all

创建并启动,后台。

sudo docker-compose up -d

停止并删除。

sudo docker-compose down

重启服务。

sudo docker-compose restart

sudo docker-compose start

sudo docker-compose stop

Access & Usage

Homer:9080 (admin/sipcapture)

Grafana:9030 (admin/admin)

Prometheus:9090 (admin/admin)

Loki:3100 (admin/admin)

Alertmanager:9093 (admin/admin)

防火墙设置。

tcp需要打开9080 9030端口权限。

udp需要打开9060端口权限。

sudo firewall-cmd --permanent --add-port=9080/tcp

sudo firewall-cmd --permanent --add-port=9030/tcp

sudo firewall-cmd --permanent --add-port=9060/udp

sudo firewall-cmd --reload

heplify AGENT

客户端使用heplify agent抓取sip信令包并上传heplify server。

官方地址,GitHub - sipcapture/heplify: HEP Capture Client

下载地址,Releases · sipcapture/heplify · GitHub

测试HOMER,安装启动agent heplify。

agent heplify统一安装在fs/bin目录下。

启动命令。

cd /usr/local/freeswitch/bin

sudo killall heplify

sudo nohup ./heplify -hs 10.55.55.138:9060 -dim OPTIONS,NOTIFY,SUBSCRIBE,PUBLISH,MESSAGE -dd -b 256 -pr 5060-5090 -hn as138  &

heplify agent常用参数。

-b int

    Interface buffersize (MB) (default 32)

-dd

    Deduplicate packets

-dim string

    Discard uninteresting SIP packets by CSeq [OPTIONS,NOTIFY]

-hin

    HEP collector listening protocol, address and port (example: "tcp:10.10.99.10:9060")

-hs string

    HEP server destination address and port (default "127.0.0.1:9060")

-i string

    Listen on interface (default "any")

-l string

    Log level [debug, info, warning, error] (default "info")

-m string

    Capture modes [SIP, SIPDNS, SIPLOG, SIPRTCP] (default "SIPRTCP")

-n string

    Log filename (default "heplify.log")

-nt string

    Network types are [udp, tcp, tls] (default "udp")

-pr string

    Portrange to capture SIP (default "5060-5090")

验证HOMER可用性

HOMER

http://10.55.55.138:9080/dashboard/home

grafana

http://10.55.55.138:9030/?orgId=1

总结

HOMER的官方网站:http://sipcapture.org/

HOMER与freeswitch配合使用,搭建VOIP的业务平台,对平台的稳定和问题查错有非常大的帮助,极大的缩短发现问题的时间。

另外,HOMER也可以设置显示多个node节点的关联信令,以及通过收集RTCP信息来统计线路通话质量等等功能。

HOMER比SNGREP更强大,更易用。

空空如常

求真得真

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐