概述

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。

官方地址,https://github.com/sipcapture/heplify

下载地址,https://github.com/sipcapture/heplify/releases

测试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更强大,更易用。

空空如常

求真得真

HOMER docker版本安装详细流程的更多相关文章

  1. Ubuntu+docker+jenkins安装详细指南

    最近项目上开始实行自动化测试,避免不了与jenkins等持续集成工具打交道,今天就给大家分享一下有关jenkins的简单安装和使用 1,准备环境 (1)ubuntu系统 (2)docker (3)je ...

  2. win10CPU版TensorFlow安装详细流程(踩N个坑之后的总结)

    版本说明: 多次实验后,python3.5+TensorFlow1.2+numpy1.16.4比较成功,不会报奇奇怪怪的错.(安装流程中会说到,不需要提前下载) 准备工作: 找到电脑:C:\Users ...

  3. Deepin & ROMS 安装详细流程

    按照这个过程,完美安装,当然并不能排除会出现其他的问题.如果遇到了,那就老老实实上网搜吧.

  4. rancher说明为什么需要按照指定版本安装以及rancher和节点linux环境配置-docker指定版本安装

    rancher说明为什么需要按照指定版本安装以及rancher和节点linux环境配置-docker指定版本安装 待办 https://blog.csdn.net/CSDN_duomaomao/art ...

  5. Ubuntu Docker 版本的更新与安装

    突然发现自己的docker 版本特别的低,目前是1.9.1 属于古董级别的了,想更新一下最新版本,这样最新的一下命令就可以被支持.研究了半天都没有更新成功,更新后的版本始终都是1.9.1 :蒙圈了,找 ...

  6. Docker版本与安装介绍

    Docker版本与安装介绍 Docker-CE 和 Docker-EE Centos 上安装 Docker-CE Ubuntu 上安装 Docker-CE Docker-CE和Docker-EE Do ...

  7. [转]Docker版本变化和新版安装

    本文转自:http://www.cnblogs.com/Peter2014/p/7704306.html Docker从1.13版本之后采用时间线的方式作为版本号,分为社区版CE和企业版EE. 社区版 ...

  8. Centos + docker,Ubuntu + docker介绍安装及详细使用

    docker笔记 常用命令 设置docker开机自启:sudo chkconfig docker on 查所有镜像: docker images 删除某个镜像:docker rmi CONTAINER ...

  9. Ubuntu Docker版本的更新与安装

    突然发现自己的docker版本特别的低,目前是1.9.1属于古董级别的了,想更新一下最新版本,这样最新的一下命令就可以被支持.研究了半天都没有更新成功,更新后的版本始终都是1.9.1 :查阅了官网资料 ...

  10. Docker版本变化和新版安装

    Docker从1.13版本之后采用时间线的方式作为版本号,分为社区版CE和企业版EE. 社区版是免费提供给个人开发者和小型团体使用的,企业版会提供额外的收费服务,比如经过官方测试认证过的基础设施.容器 ...

随机推荐

  1. 执行xxx.sh脚本的两种方式

    因公司测试环境的登录模式有2种,大佬们直接写了个脚本完成一键切换,看了其中的脚本文件,其中出现了send "sh out.sh\r":一直疑惑这里的sh out.sh的意思...查 ...

  2. 本地文件上传Gitee

    0.对于小白来说,我再细讲一下 一.下载git 下载细节参考博客 二.Git配置 点击桌面的图标,进入Git Bash Here 1.配置自己的用户名和邮箱 git config --global u ...

  3. springboot集成支付宝的支付(通用版)

    [1.引依赖] <dependency> <groupId>com.alipay.sdk</groupId> <artifactId>alipay-sd ...

  4. hutool包的DateUtil工具类

    [首先引入依赖 ] <dependency> <groupId>cn.hutool</groupId> <artifactId>hutool-core& ...

  5. C#串口初始化

    //通信端口 string[] PortList = SerialPort.GetPortNames(); if (PortList.Length > 0) { this.cmb_Port.Da ...

  6. RabbitMq发布确认

    RabbitMq发布确认 发布确认原理 生产者将信道设置成 confirm 模式,一旦信道进入 confirm 模式,所有在该信道上面发布的消息都将会被指派一个唯一的 ID(从 1 开始),一旦消息被 ...

  7. 基于k8s的CI/CD的实现

    综述 首先,本篇文章所介绍的内容,已经有完整的实现,可以参考这里. 在微服务.DevOps和云平台流行的当下,使用一个高效的持续集成工具也是一个非常重要的事情.虽然市面上目前已经存在了比较成熟的自动化 ...

  8. i春秋Vld

    进去就问我们懂不懂Vulcan Logic Dumper,然后下面是一个报false.我们查看源码,在源码的最后提示我们index.php.txt的存在,话不多说,直接访问试试. 出现一堆我们暂时还看 ...

  9. python-面向对象属性的访问与self的理解

    属性访问 类属性与对象属性 在类中定义的名字,都是类的属性,细说的话,类有两种属性:数据属性和函数属性,可以通过__dict__访问属性的值,比如Person1.__dict__['student'] ...

  10. Python3.7.3安装TensorFlow和OpenCV3

    根据python的版本进行下载相应的文件 一.安装TensorFlow 进入网址https://pypi.org/project/tensorflow/#files下载TensorFlow文件 进入下 ...