HOMER是一款100%开源的针对SIP/VOIP/RTC的抓包工具和监控工具。
HOMER是一款强大的、运营商级、可扩展的数据包和事件捕获系统,是基于HEP/EEP协议的VoIP/RTC监控应用程序,并可以使用即时搜索、处理和存储大量的信令、RTC事件、日志和统计信息。
之前的文章中,我们介绍过HOMER的安装流程,在后续的实际应用中发现了更多的问题,对安装过程进行了细化。
HOMER最新版本是HOMER7。
CentOS release 7.0 (Final)或以上版本
HOMER7
首先在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
从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抓取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
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更强大,更易用。
空空如常
求真得真