概述

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. 试试将.NET7编译为WASM并在Docker上运行

    之前有听到说Docker支持Wasmtime了,刚好.NET7也支持WASM,就带大家来了解一下这个东西,顺便试试它怎么样. 因为WASM(WebAssembly) 一开始是一个给浏览器的技术,比起J ...

  2. Apache ShenYu 集成 RocketMQ 实时采集海量日志的实践

    本文作者:胡泰室, 快手Java开发工程师. ​ 认识Apache ShenYu(神禹) 网关最重要的是流量治理,而流量治理与大禹治水有很多相似的地方,因此,网关的流量治理项目被命名为神禹. Shen ...

  3. 17、输入一行以空格分隔的英文,判断其共有多少单词,不能包含冠词a

    /*输入一行以空格分隔的英文,判断其共有多少单词,不能包含冠词a */ #include <stdio.h> #include <stdlib.h> int isWord(ch ...

  4. Encodings: URL

    原题链接:http://www.wechall.net/challenge/training/encodings/url/index.php 题目信息:你的任务就是解码下面的东西.... 这个完全没难 ...

  5. 基础css样式

    目录 css层叠样式表 css选择器 伪类选择器 选择器生效优先级 css字体颜色背景 设置宽高 边框 display属性 div盒子模型 float漂浮 溢出overflow 定位(position ...

  6. python装饰器初级

    global与nonlocal 1.global的作用: 可以在局部空间里直接就该全局名称工具中的数据 代码展示: name = 'moon' #设置了一个全局变量 def fucn(): name ...

  7. Java/JDK各版本主要特性汇总

    目录 Java18(2022.3) Java17(2021.9)(LTS版本) Java16(2021.3) Java15(2020.9) Java14(2020.3) Java13(2019.9) ...

  8. js迭代循环

    一.for loop for (let i = 0; i < products.length; i++) { console.log(products[i]); } 支持循环中断,可以用brea ...

  9. DataTables实现按分组小计

    效果图:

  10. pytest常用参数汇总

    1.  -s    表示输出调试信息,包括print打印信息 D:\demo>pytest -s ./pytest_1 ===================================== ...