Smokeping的主从模式部署

article/2025/9/22 14:21:58

在这里插入图片描述

Smokeping 支持 Standalone(单机)模式和 Master/Slave(主从)模式。

之前老苏折腾过单机模式,这次应网友 Roxmie 的要求,研究了一下主从模式的部署

文章传送门: 网络性能监控工具Smokeping

因为有了前文铺垫,本文的设置文件仅提到需要修改的部分。老苏不是网络专家,如果文中任何错误,请不吝指出

安装

在群晖上以 Docker 方式安装。

不过这次用到的镜像 ivyavanmahajan/smokeping有点老了,已经是 2 年之前的了,Tags 只有一个 latest

还有个 divyavanmahajan/smokeping-slave ,但实际上老苏没用这个镜像来做从服务,因为 ivyavanmahajan/smokeping 已经包含了 Slave 模式

从描述看,镜像是基于 linuxserver/smokeping 改造的,所以理论上你也可以基于最新的版本重新编译试试,能不能成功我就不知道了。

镜像老归老,并不影响使用,接下来进入今天的正题

环境变量

主服务容器只用到了 linuxserver 镜像最常用的 3 个变量

可变
TZ设为 Asia/Shanghai
PUID设为 1000
PGID设为 1000

从服务容器除了上面 3 个外,还用到下面👇几个

可变
NO_WEB设为 1,仅在没有 HTTP 服务器的情况下启动 Smokeping。只收集数据,但不会显示数据。
SLAVE_SECRET从服务模式需要设置:共享密码
MASTER_URL从服务模式需要设置: 连接主服务器获取配置文件的 URL

要避免每次容器启动升级 Smokeping 检测,可以加上 -e NO_UPDATE=1,这样会加快了启动速度;

更多的环境变量可以看官方文档:https://github.com/divyavanmahajan/smokeping#parameters

主服务容器安装

# 新建文件夹 smokeping_ms 和 子目录
mkdir -p /volume2/docker/smokeping_ms/{cache,config,data}# 进入 smokeping_ms 目录
cd /volume2/docker/smokeping_ms# 运行主服务器
docker run -d \--restart unless-stopped \--name=smokeping-master \-e PUID=1000 \-e PGID=1000 \-e TZ=Asia/Shanghai \-p 8580:80 \-v $(pwd)/config:/config \-v $(pwd)/data:/data \-v $(pwd)/cache:/cache \divyavanmahajan/smokeping

从服务容器安装

可以先装,也可以在主服务容器设置完成之后再安装

# 运行从服务器
docker run -d \--restart unless-stopped \--name=smokeping-slave \-h slave1 \-e PUID=1000 \-e PGID=1000 \-e TZ=Asia/Shanghai \-e NO_WEB=1 \-e SLAVE_SECRET=12345678 \-e MASTER_URL=http://192.168.0.197:8580/smokeping/smokeping.cgi \divyavanmahajan/smokeping

老苏的群晖主机 IP192.168.0.197,如果反代了,这里改域名

主服务容器设置

访问权限

首先要处理权限问题,否则你会在从服务器的日志中看到下面的错误

WARNING: Opening secrets file /etc/smokeping/smokeping_secrets: Permission deniedSent data to Server. Server said WARNING: Opening secrets file /etc/smokeping/smokeping_secrets: Permission denied

这需要我们进入到主服务容器中去修改权限

# 以 root 身份进入主服务容器
docker exec -it --user root smokeping-master /bin/bash# 修改权限
chown 1000:1000 /etc/smokeping/smokeping_secrets

原本的 root:root 会变成 abc:user

连接凭证

接下来需要处理从服务器连接主服务器时,要用到的凭证,否则你会在从服务器的日志中看到下面的错误

WARNING: No secret found for slave slave1Sent data to Server. Server said WARNING: No secret found for slave slave1ERROR: we did not get config from the master. Maybe we are not configured as a slave for any of the targets on the master ?

查看 /etc/smokeping/smokeping_secrets 中的密码

# 查看 /etc/smokeping/smokeping_secrets 中的密码
cat /etc/smokeping/smokeping_secrets

我们可以用原有的,也可以加一组账号密码,比如 slave1:12345678

# 追加账号、密码
echo 'slave1:12345678'>>/etc/smokeping/smokeping_secrets

在这里插入图片描述

现在从服务容器日志应该变成下面👇这样了

WARNING: I don't know the slave slave1 ignoring itSent data to Server. Server said WARNING: I don't know the slave slave1 ignoring itERROR: we did not get config from the master. Maybe we are not configured as a slave for any of the targets on the master ?

Slaves 文件

config/Slaves 中,新增下面部分

location 加不加无所谓的

+slave1
display_name=slave1
color=00ff00
location=Shanghai

Target 文件

config/Target 中,新增下面部分

上海联通和上海移动的地址可能不对,一直没数据。应用的时候需要自己改改,这里只是个示意;

slaves = slave1 slave2+dest1
slaves = slave1
menu = slave1
title = slave1++ sh-dianxing
menu = 上海电信
title = 上海电信
host = 116.228.111.118
alerts = rttdetect,lossdetect++ sh-liantong
menu = 上海联通
title = 上海联通
host = 210.22.84.3
alerts = rttdetect,lossdetect++ sh-yidong
menu = 上海移动
title = 上海移动
host = 117.131.19.23
alerts = rttdetect,lossdetect

Alerts 文件

还需要在 config/Alerts 中,新增 rttdetectlossdetect,其他的看提示吧

+rttdetect
type = rtt
pattern = <20,<20,<20,<20,<20,>20,>20,>20
comment = 连续3次延时20以上+lossdetect
type = loss
pattern = ==0%,==0%,==0%,==0%,==0%,>0%,>0%,>0%
comment = 突然有丢包

重启主服务容器

改完上述几个设置文件之后,可能会需要重启主服务容器,以便让设置生效

这个时候,从服务容器日志中会显示主服务关闭了连接

WARNING Master said 500 Server closed connection without sending any data back

当主服务容器正常启动后,就应该可以正常收到数据了

Sending to server:/dest1/sh-yidong	1676036574	U:20:U:U:U:U:U:U:U:U:U:U:U:U:U:U:U:U:U:U:U:U:U
/dest1/sh-dianxing	1676036574	U:0:3.2800000000e-03:2.1200000000e-03:2.6800000000e-03:3.0500000000e-03:3.0600000000e-03:3.1100000000e-03:3.1500000000e-03:3.1900000000e-03:3.2000000000e-03:3.2600000000e-03:3.2600000000e-03:3.2800000000e-03:3.3600000000e-03:3.4300000000e-03:3.4900000000e-03:3.5000000000e-03:3.5800000000e-03:3.6000000000e-03:3.6300000000e-03:3.6600000000e-03:4.0300000000e-03
/dest1/sh-liantong	1676036574	U:20:U:U:U:U:U:U:U:U:U:U:U:U:U:U:U:U:U:U:U:U:USent data to Server. Server said OK

运行

在浏览器中输入 http://群晖IP:8580 就能看到 slave1 传来的数据

刚开始数据还比较少

在这里插入图片描述

第二天就不一样了

在这里插入图片描述

注意事项

Smokeping 反代存在截端口现象,例如老苏反代后通过 https://smokeping.laosu.ml:444 访问,但是会跳转到 https://smokeping.laosu.ml/smokeping/ ,从而导致访问失败

如果你和老苏一样用 npm 反代,可以在 npmAdvance 中加入下面的代码

   location / {  proxy_set_header Host $host:444;  proxy_set_header X-Forwarded-For   $proxy_add_x_forwarded_for;  proxy_set_header X-Forwarded-Proto $scheme;proxy_set_header X-Forwarded-Protocol $scheme;proxy_pass  http://192.168.0.197:8580;  proxy_redirect http:// https://;  }

这段代码,你可以在老苏的博客搜索 截端口 找到,已经在多篇文章中使用了

参考文档

divyavanmahajan/smokeping: Smokeping extensions to Linuxserver Smokeping
地址:https://github.com/divyavanmahajan/smokeping

divyavanmahajan/smokeping - Docker Image | Docker Hub
地址:https://hub.docker.com/r/divyavanmahajan/smokeping

Problems with slave config on ubuntu · Issue #46 · oetiker/SmokePing
地址:https://github.com/oetiker/SmokePing/issues/46

SmokePing - smokeping_master_slave
地址:https://oss.oetiker.ch/smokeping/doc/smokeping_master_slave.en.html


http://chatgpt.dhexx.cn/article/C8IDTYVs.shtml

相关文章

Centos7上smokeping安装

Centos7上Smokeping安装 一、安装软件 1、添加镜像源 wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo2、安装Apache yum -y install httpd httpd-devel gcc make curl wget3、安装rrdtool a.安装依赖的库 yum -y install libx…

centos7下源码安装Smokeping,主从部署

一、环境部署(准备两台Centos虚拟机) 1.关闭防火墙和SElinux #systemctl stop firewalld.service #systemctl disable firewalld.service #sed -i s/SELINUXenforcing/SELINUXdisabled/ /etc/selinux/config #grep SELINUXdisabled /etc/selinux/config #setenforce 02.安装E…

网络性能监测工具smokeping

smokeping简介&#xff1a; smokeping是rrdtool的作者Tobi Oetiker的作品&#xff0c;所以它在图形显示方面有很大优势&#xff0c;也是一个很有特点的opensource工具&#xff1a;多种探测方式&#xff0c;包括fping、echoping、dig、curl等&#xff1b;可以在多个节点收集同一…

docker快速搭建smokeping

1、部署docker环境 curl -fsSL get.docker.com -o get-docker.sh CHANNELstable sh get-docker.sh --mirror Aliyun 2、启动docker systemctl start docker 3、拉取镜像 docker pull linuxserver/smokeping 4、创建目录 mkdir -p /data/smokeping/config 5、进入目录 cd /data/…

Smokeping 网络性能监控 安装使用说明

目录 简介 -smokeping介绍-组成部分-Web服务器软件-Smokeping主服务-探针-rrdtool安装配置smokeping 2.1--环境依赖包安装 2.2--RRDtool 1.2.x或更高版本安装 2.3--FPing安装 2.4--EchoPing安装 2.5--Webserver安装 2.6--Perl 5.10.1 或更高版本安装 2.7--开始安装smokeping 三…

smokeping图表各值意义解释

1、rtt (Round-TripTime) 这个值就是数据包在源和监控点一个来回所需要用的时间&#xff0c;是判断网络运行状况的一个重要的参数。在网络中实时、准确测量大量的TCP设备和系统rtt参数也是网络管理的重要环节之一。smokeping就是向目标设备发送数据包&#xff0c;进行记录、展示…

ubuntu12 部署smokeping监控

简介&#xff1a; smokeping是对IDC网络质量&#xff0c;稳定性等最好的检测工具&#xff0c;包括常规的 ping&#xff0c;dig&#xff0c;echoping&#xff0c;curl等&#xff0c;可以监视www服务器性能&#xff0c;监视dns查询性能&#xff0c;监视ssh性能等。底层是 rrdtoo…

【监控系统】Smokeping网络监控

文章目录 1. smokeping简介2. 部署smokeping2.1. 环境准备2.2. 安装rrdtool与依赖库2.3. 下载与安装smokeping2.4. 安装依赖的Perl模块 3. 配置smokeping3.1. 创建相关目录3.2. 创建日志文件3.3. 目录文件授权3.4. 修改配置文件3.5. 修改apache的配置3.6. 添加测试数据 4. 启动…

Smokeping主从搭建

Smokeping主从的作用&#xff0c;简单来讲就是增加多个smokeping主机对目标主机的监控。 1、环境部署&#xff0c;准备好两台已经安装好smokeping的主机&#xff0c;确保2台主机网络能够互访互通&#xff0c;且smokeping能够正常运行。 2、主smokeping配置 cd /usr/local/smo…

smokeping-2.6.9搭建

本次smokeping服务搭建是基于centos7系统平台且是使用apache1&#xff0c;开始搭建之前需要关闭centos的SElinux服务和防火墙服务&#xff0c;不然搭建过程中&#xff0c;部分服务权限会受影响而搭建不成功。 1、关闭selinux服务 临时关闭selinux setenforce 0 //该命令临…

Nginx+SmokePing 实践

NginxSmokePing安装配置 SmokePing是一款完全免费的可以用来监控IDC网络质量的工具&#xff0c;并且它有一个基于RRDTool绘图的前端展示界面&#xff0c;用户可以直观的通过浏览器查看各类监控信息。 SmokePing 安装epel源&#xff1a; yum -y install epel-release 安装绘…

安装smokeping

下载安装包 wget https://oss.oetiker.ch/smokeping/pub/smokeping-2.7.3.tar.gz编译&#xff0c;安装 tar xf smokeping-2.7.3.tar.gz cd smokeping-2.7.3 ./configure --prefix/usr/local/smokeping /usr/bin/gmake install编译的时候&#xff0c;可能会报错&#xff0c;需…

smokeping图表解释

以下图为例&#xff1a; 1、rtt (Round-TripTime) 这个值就是数据包在源和监控点一个来回所需要用的时间&#xff0c;是判断网络运行状况的一个重要的参数。在网络中实时、准确测量大量的TCP设备和系统rtt参数也是网络管理的重要环节之一。smokeping就是向目标设备发送数据包&a…

稳定性检测工具smokeping安装配置和使用方法

稳定性检测工具smokeping安装配置和使用方法 smokeping是对IDC网络质量&#xff0c;稳定性等最好的检测工具&#xff0c;包括常规的 ping&#xff0c;dig&#xff0c;echoping&#xff0c;curl等&#xff0c;可以监视www服务器性能&#xff0c;监视dns查询性能&#xff0c;监视…

smokeping网络监控

smokeping网络监控 一、smokeping介绍 我们在选择机房的时候&#xff0c;如何知道这个机房的网络情况&#xff0c;这个时候就要用到网络监控软件:smokeping   本文主要介绍如何使用smokeping来监控idc机房的网络质量情况&#xff0c;从监控图上的延时与丢包能分辨出你机房的…

网络性能监控工具Smokeping

什么是 Smokeping &#xff1f; SmokePing 是一款监控网络状态和稳定性的开源软件&#xff08;它是 RRDTool 的作者开发的&#xff09;&#xff0c;通过它可以监控如延时&#xff0c;丢包率&#xff0c;是否 BGP 多线等网络状况&#xff1b;smokeping 会向目标设备和系统发送各…

网络监控smokeping搭建配置(一)

网络监控smokeping搭建配置(一) 网络监控smokeping邮件告警(二) 注&#xff1a;本次smokeping搭建采用centos7编译安装 一、安装步骤 1、添加yum镜像源 wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo2、安装Apache yum -y ins…

尚硅谷Java学习笔记Lecture1

/* 利用cmd窗口编译运行程序 1.编译&#xff1a;javac.exe 格式&#xff1a; javac 源文件名.java运行&#xff1a;java.exe 格式&#xff1a; java 类名 2.可以有多个类&#xff0c;但只能有一个类声明为public类型&#xff0c;声明为public类型的类的类名要和文件名相同 3…

Java学习笔记2——java的安装和配置

Java的安装&#xff1a; 下载地址&#xff1a;Java Downloads | Oracle安装时注意安装路径不能有中文或特殊符号等 bin目录下为java开发工具&#xff0c;jre为运行环境 Java的配置——配置环境变量path 1、为什么需要配置环境变量&#xff1f; 当输入指令后&#xff0c;W…