概述

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. 查看Linux系统、Apche、Nginx、 MySQL 、 PHP 版本

    1. 查看Linux版本: uname -a: more /etc/issue; cat /proc/version; 2. 查看Mysql版本: 在终端下执行 mysql -V #V必须大写 在he ...

  2. [第四届世安杯](web)writeup

    ctf入门级题目 <?php $flag = '*********'; if (isset ($_GET['password'])) { if (ereg ("^[a-zA-Z0-9] ...

  3. Key-Value存储系统简介

    Redis是一个Key-Value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合)和zset(有序集合).这些数据类 ...

  4. Azure DevOps (七) 通过SSH部署上传到服务器的应用

    上一篇中,我们实现了通过FTP把流水线编译出来的制品上传到我们的公网服务器上,这一篇我们来研究一下通过azure的ssh连接到服务器 把应用在服务器上运行起来. 首先,我们书接上文,在release流 ...

  5. Rust极简教程

    目录 简介 特性 特征 用途 安装 核心组件 常用命令 基础语法 数据类型 标量类型 复合类型 示例 条件语句 循环 输出&输入 输出 输出花括号 输出非基础类型 输入 所有权 切片 结构体 ...

  6. 创建自定义ClassLoader,绕过双亲委派

    1.什么是类加载 通过javac将.java文件编译成.class字节码文件后,则需要将.class加载到JVM中运行,哪么是谁将.class加载到JVM的呢?那就是类加载器啦. 2.类加载器类型 B ...

  7. 什么是 Spring Boot?

    Spring Boot 是 Spring 开源组织下的子项目,是 Spring 组件一站式解决方案,主要是简化了使用 Spring 的难度,简省了繁重的配置,提供了各种启动器,开发者能快速上手.

  8. Redis 支持的 Java 客户端都有哪些?官方推荐用哪个?

    Redisson.Jedis.lettuce 等等,官方推荐使用 Redisson.

  9. 什么是 OAuth?

    OAuth 代表开放授权协议.这允许通过在 HTTP 服务上启用客户端应用程序(例 如第三方提供商 Facebook,GitHub 等)来访问资源所有者的资源.因此,您可 以在不使用其凭据的情况下与另 ...

  10. synchronized与Lock、volatile的区别

    synchronized与volatile的区别 volatile是线程同步的轻量级实现,因此volatile性能好于synchronized voaltile修饰变量,synchronized修饰方 ...