1. 程式人生 > 其它 >SIP信令跟蹤工具HOMER

SIP信令跟蹤工具HOMER

 

概述

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頁面檢視和搜尋信令流​。

 

空空如常

求真得真