概述

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

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

之前的文章中,我们介绍过一款针对SIP的抓包工具sngrep,相比来说,HOMER有更加成熟完善的架构和体系,包括后台的数据库存储和前台的web页面展示数据。

在我们的生产环境中,一直有使用HOMER来作为呼叫信令的收集和跟踪工具,只是版本比较老了,最近准备更新换代。

HOMER最新版本是HOMER7。

环境

CentOS  release 7.0 (Final)或以上版本

HOMER7

部署架构

图片来自官方介绍

CAPTURE AGENT,抓包终端,freeswitch、opensips这些常见的软交换都内置了该功能。

CAPTURE SERVER,抓包服务器,收集sip信令用的,老版本中使用kamailio,新版本更换了?

DATABASE,一般是mysql和postgres,没有用过时序数据库。

HOMER APP/API,web页面,提供给客户查看信息。

USERS,用户通过浏览器查看呼叫信令、统计信息等。

安装方式

在HOMER7的官方wiki中,安装方式有3种,手动安装,快速安装,docker安装。

根据文档标注的难易程度,我选择了easiest的docker安装。。。

安装docker

首先在centos7上安装docker工具。

yum remove  docker \

docker-client \

docker-client-latest \

docker-common \

docker-latest \

docker-latest-logrotate \

docker-logrotate \

docker-selinux \

docker-engine-selinux \

docker-engine

yum install -y yum-utils device-mapper-persistent-data lvm2

yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

yum makecache fast

yum -y install docker-ce

systemctl start docker

安装docker-compose

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

[root@localhost ~]# docker-compose -v

Docker Compose version v2.4.1

docker常用命令

docker version

docker images

docker ps

docker container ls

查看一下我们的docker版本。

[root@localhost ~]# docker version

Client: Docker Engine - Community

Version:           20.10.14

API version:       1.41

Go version:        go1.16.15

Git commit:        a224086

Built:             Thu Mar 24 01:49:57 2022

OS/Arch:           linux/amd64

Context:           default

Experimental:      true

Server: Docker Engine - Community

Engine:

Version:          20.10.14

API version:      1.41 (minimum version 1.12)

Go version:       go1.16.15

Git commit:       87a90dc

Built:            Thu Mar 24 01:48:24 2022

OS/Arch:          linux/amd64

Experimental:     false

containerd:

Version:          1.5.11

GitCommit:        3df54a852345ae127d1fa3092b95168e4a88e2f8

runc:

Version:          1.0.3

GitCommit:        v1.0.3-0-gf46b6ba

docker-init:

Version:          0.19.0

GitCommit:        de40ad0

HOMER7安装

跟随HOMER7的官方安装指南。

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

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

docker-compose up -d

一阵电闪雷鸣之后,安装完成。

[+] Running 11/11

⠿ Network hom7-prom-all_default           Created                                                                                                                                                                                    0.2s

⠿ Volume "hom7-prom-all_prometheus_data"  Created                                                                                                                                                                                    0.0s

⠿ Volume "hom7-prom-all_grafana_data"     Created                                                                                                                                                                                    0.0s

⠿ Container prometheus                    Started                                                                                                                                                                                    1.2s

⠿ Container loki                          Started                                                                                                                                                                                    1.3s

⠿ Container grafana                       Healthy                                                                                                                                                                                    2.8s

⠿ Container db                            Healthy                                                                                                                                                                                    4.7s

⠿ Container alertmanager                  Started                                                                                                                                                                                    1.2s

⠿ Container nodeexporter                  Started                                                                                                                                                                                    1.1s

⠿ Container homer-webapp                  Started                                                                                                                                                                                    5.1s

⠿ Container heplify-server                Started

测试

使用浏览器访问地址:http://192.168.0.151:9080/,输入默认的账号密码admin/sipcapture。

总结

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

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

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

HOMER比SNGREP更强大,更易用。

下一次,我们介绍如何把freeswitch/opensips的信令上报HOMER平台,并通过WEB页面查看和搜索信令流​。

空空如常

求真得真

SIP信令跟踪工具HOMER的更多相关文章

  1. sip信令跟踪工具sngrep

    概述 在VOIP的使用过程中,最常见的问题就是信令不通和语音质量问题. 通常的问题跟踪手段包括日志分析.抓包分析. 抓包的工具有wireshark.tcpdump等等,如果是只针对sip信令的抓包,则 ...

  2. 推荐windows下的日志跟踪工具:SnakeTail

    用过Linux的同学都知道,在Linux中要实时跟踪日志文件那是非常的方便,Tail.Less都可以做到. 开启动态跟踪后,程序会监视文件修改,从而不断刷新出最新的内容,对于线上运维特别有用.   今 ...

  3. 项目管理和缺陷跟踪工具Redmine

    官网: http://www.redmine.org/ http://demo.redmine.org/ 下载: http://www.redmine.org/projects/redmine/wik ...

  4. PLSQL_性能优化效能跟踪工具SQL Trace分析(案例)

    2014-06-25 Created By BaoXinjian

  5. readmine项目管理和缺陷跟踪工具

    官方网站:http://www.redmine.org/演示地址:http://demo.redmine.org/下载地址:http://www.redmine.org/projects/redmin ...

  6. 分享两个网址,一个是使用mssql自带的跟踪工具和分析工具

    http://www.cnblogs.com/Fooo/archive/2013/02/19/2916789.html 使用mssql自带的跟踪工具和分析工具 http://blog.csdn.net ...

  7. 服务跟踪sleuth和可视化跟踪工具Zipkin

    一.增加配置 在Order工程中添加配置 <dependency> <groupId>org.springframework.cloud</groupId> < ...

  8. 谷歌开源漏洞跟踪工具 Monorail 存在跨站点搜索漏洞

    一名安全研究员表示,在谷歌开源漏洞跟踪工具 Monorail 中找到一个漏洞,可被用于执行跨站点搜索 (XS-Search) 攻击. Monorail 用于检查和 Chromium 相关项目中的问题, ...

  9. 【多线程】死锁与Java栈跟踪工具

    今天面试有一道题,写一个死锁的程序,自己也是短路了,没写出来,回来写下. 死锁常见的情况是A线程持有a锁.阻塞于b锁,B线程持有b锁,阻塞于a锁,形成一个循环阻塞的状态. import java.ut ...

随机推荐

  1. Cobalt Strike之LINK木马

    在同一目录下 新建一个exp.ps1 一个test.txt exp.ps1代码 $file = Get-Content "test.txt" $WshShell = New-Obj ...

  2. 对路径“C:\inetpub\wwwroot\Test\Temper\”的访问被拒绝 【已解决】

    在IIS7上部署IIS站点时,出现如下错误: 对路径"C:\inetpub\wwwroot\Test\Temper\"的访问被拒绝: 原因是:程序对"C:\inetpub ...

  3. Java 框架、库和软件的精选列表(awesome java)

    原创翻译,原始链接 本文为awesome系列中的awesome java Awesome Java Java 框架.库和软件的精选列表 项目 Bean映射 简化 bean 映射的框架 dOOv - 为 ...

  4. BTree和B+Tree 简单区别

    本篇作用于各种树之间的区别,非算法详细介绍,只是给我们这种非科班出身的一种大概的印象,现在网上更多是讲各种树的怎么实现的细节问题,本篇不涉及那么高深,如果详细了解可以查阅他人的资料,很多大神已经说的很 ...

  5. 使用 Spring 通过什么方式访问 Hibernate?

    在 Spring 中有两种方式访问 Hibernate:控制反转 Hibernate Template 和 Callback.继承 HibernateDAOSupport 提供一个 AOP 拦截器.

  6. Pandas查询数据的几种方法

    Pandas查询数据 Pandas查询数据的几种方法 df.loc方法,根据行.列的标签值查询 df.iloc方法,根据行.列的数字位置查询 df.where方法 df.query方法 .loc既能查 ...

  7. .c文件和.h文件的关系

    参考:12 另一篇:c源文件中为什么要包含自己对应的头文件 问题 在进行C语言文件移植时,遇到 "通常是每个.c文件对应一个.h文件",之前了解过.h文件是头文件,用来引用其他文件 ...

  8. logback日志级别动态切换的终极方案(asm使用)

    背景 一切皆有因果,所有事情,都有事件驱动.本方案的日志级别切换是由这样的背景下产生的: 单个生产环境上,有几百近千个微服务 日志级别切换不重启服务,要求即时生效果 由业务开发人员去修改代码或增加相关 ...

  9. 第一天·浏览器内核及Web标准

    一·浏览器及浏览器内核 1.常见的浏览器 (1)IE浏览器 IE是微软公司旗下浏览器,是目国内用户量最多的浏览器.IE诞生于1994年,当时微软为了对抗市场份额占据将近百分之九十的网景Netscape ...

  10. 移动端H5页面中1px边框的几种解决方法

    问题提出 这是一个比较老的问题了,我第一次注意到的时候,是UI设计师来找我麻烦,emmm那时候我才初入前端职场,啥也不懂啊啊啊啊啊,情形是这样的:设计师拿着手机过来:这些边框都粗了啊,我的设计稿上是1 ...