宝塔面板+Docker+Grafana+InfluxDB+Telegraf搭建VPS网络线路监控平台

如果你想在宝塔面板的环境下搭建Smokeping,还是有点难度的。不过好在,我们还可以利用Grafana,因为提供了docker版本,所以在宝塔环境下搭建和部署都简单了不少。

Grafana是一个跨平台的开源的度量分析和可视化工具,可以通过将采集的数据查询然后可视化的展示,并及时通知。

这篇文章就来介绍下,宝塔面板面板环境下利用Dockr、Grafana、InfluxDB、Telegraf搭建VPS网络线路监控平台~~~,文章可能复杂点也稍微有点长,请耐心看完~~~

1、简介

官网:https://grafana.com/

安装:https://grafana.com/docs/grafana/latest/installation/rpm/

docker安装:https://grafana.com/docs/grafana/latest/installation/docker/

2、准备

因为是在宝塔环境下安装,所以宝塔面板必不可少:

1)宝塔面板最新版本(宝塔服务器面板,一键全能部署及管理,送你3188元礼包,点我领取https://www.bt.cn/?invite_code=MV9ub2NxdmI=

2)docker管理器

宝塔安装docker管理器,请在软件商店中搜索安装,这里略过~~

3)docker-compose

安装这个有很多方法,这里推荐一个。

pip install docker-compose

如果提示:pip: command not found:解决如下:

wget https://bootstrap.pypa.io/get-pip.py
python get-pip.py
pip -V  #查看pip版本

接下来就可以随便pip安装东西了~~

3、部署

1)新建docker-compose.yml

mkdir -p /opt/pingmonitor && cd /opt/pingmonitor && vi docker-compose.yml

2)新建后,写入如下配置

此处为隐藏的内容
发表评论并刷新,方可查看

注意:

1.GF_AUTH_ANONYMOUS_ENABLED是方便公开你的仪表板给别人访问。

2.INFLUXDB_ADMIN_PASSWORD设置HTTP身份验证的账号密码。

3.INFLUXDB_USER_PASSWORD设置数据库用户的密码。

3)运行docker

以上设置确认无误后up起来即可:

docker-compose up -d

4)访问你的IP:3000打开Grafana,默认的管理员账号密码均是admin

宝塔面板+Docker+Grafana+InfluxDB+Telegraf搭建VPS网络线路监控平台

初次登录会提示你修改密码,可以选择skip~~~

4、添加数据源

1)添加InfluxDB数据源。

宝塔面板+Docker+Grafana+InfluxDB+Telegraf搭建VPS网络线路监控平台

注意:

URL:http://infuluxdb:8086

2)勾上BasicAuth并填写INFLUXDB的HTTP身份验证的账号密码:

宝塔面板+Docker+Grafana+InfluxDB+Telegraf搭建VPS网络线路监控平台

3)填写数据库信息

宝塔面板+Docker+Grafana+InfluxDB+Telegraf搭建VPS网络线路监控平台

之后保存并测试,如果显示Data source is working 表示配置成功~~

宝塔面板+Docker+Grafana+InfluxDB+Telegraf搭建VPS网络线路监控平台

5、客户端添加Telegraf

接下来在每台需要监控的VPS上安装Telegraf,Telegraf是用于监控主机系统的,不建议使用Docker安装,所以这里采用添加源的方式安装在每台机器上:

1)ubuntu安装如下:

apt -y update && apt -y install apt-transport-https wget gnupg
wget -qO- https://repos.influxdata.com/influxdb.key | apt-key add -
echo "deb https://repos.influxdata.com/debian buster stable" | tee /etc/apt/sources.list.d/influxdb.list
apt -y update
apt -y install telegraf

2)centos安装如下:

使用yum软件包管理器安装Telegraf的最新稳定版本:

cat <<EOF | sudo tee /etc/yum.repos.d/influxdb.repo
[influxdb]
name = InfluxDB Repository - RHEL \$releasever
baseurl = https://repos.influxdata.com/rhel/\$releasever/\$basearch/stable
enabled = 1
gpgcheck = 1
gpgkey = https://repos.influxdata.com/influxdb.key
EOF

将存储库添加到yum配置后,通过运行以下命令安装并启动Telegraf服务:

sudo yum install telegraf
sudo service telegraf start

如果你的操作系统使用systemd(CentOS 7 +,RHEL 7+):

sudo yum install telegraf
sudo systemctl start telegraf

3)其他系统请参考官方文档

https://docs.influxdata.com/telegraf/v1.14/introduction/installation/

4)编辑telegraf的主配置文件

vi /etc/telegraf/telegraf.conf

注意:宝塔面板用户可以直接在面板中编辑该文件~~~

打开后把以下配置代码复制粘贴进去~~

[[outputs.influxdb]]
  urls = ["http://服务器IP:8086"]
  database = "telegraf"
  username = "admin"
  password = "password"

注意:

  • 服务器IP是搭建InfluxDB机器的公网IP,
  • 这里的账号和密码不是数据库的而是InfluxDB的HTTP身份验证账号密码
  • 如果不知道修改哪里,请看截图:

宝塔面板+Docker+Grafana+InfluxDB+Telegraf搭建VPS网络线路监控平台

5)接下来新建一个监控项目的配置文件

vi /etc/telegraf/telegraf.d/ping.conf

注意:宝塔用户,可以直接在这个目录新建该文件

文件新建好后,写入如下配置:

[agent]
  interval = "20s"
  flush_interval = "20s"
  hostname = "瓦工"

[[inputs.ping]]
  urls = ["219.148.253.57","58.49.233.254","183.56.167.125","60.16.96.1","103.38.43.1","122.194.47.117","211.137.47.109","117.174.59.1","120.237.53.17"]
  count = 5
  ping_interval = 1.0
  timeout = 1.0

注意:

1.注意修改hostname用于区分不同的机器。

2.测试IP都来自ipip.net的路由追踪~

6)ipip.net的路由追踪,每个IP的地理位置,可能会有少许变化请根据需要修改~

辽宁沈阳电信
219.148.253.57

湖北武汉电信
58.49.233.254

广东深圳电信
183.56.167.125

辽宁沈阳联通
60.16.96.1

湖南长沙联通
103.38.43.1

江苏镇江联通
122.194.47.117

辽宁沈阳移动
211.137.47.109

四川德阳移动
117.174.59.1

广东茂名移动
120.237.53.17

7)配置好了后启动重启telegraf/设置开机自启:

systemctl restart telegraf.service
systemctl enable telegraf.service

6、配置仪表盘

客户端配置好就可以回到Grafana就可以新建仪表板了,由于没有现成的模板,这里只能自己手动创建一个了。

1)新建仪表盘

这个略过了,登录后首页就有,先是新建数据源,下面就是新建仪表盘~~

2)先来绘制PING值数据,按照下图的方式先把SQL查询语句构造出来,具体看图:(这里先添加一个电信的数据)

宝塔面板+Docker+Grafana+InfluxDB+Telegraf搭建VPS网络线路监控平台

3)图表这块选择Settings(先从这里开始,设置该面板的标题和描述:)

宝塔面板+Docker+Grafana+InfluxDB+Telegraf搭建VPS网络线路监控平台

4)Visualization,可以选择一个直接喜欢的图表样式

宝塔面板+Docker+Grafana+InfluxDB+Telegraf搭建VPS网络线路监控平台

5)Display这里选择Lines,Null value选择connected:

宝塔面板+Docker+Grafana+InfluxDB+Telegraf搭建VPS网络线路监控平台

6)Axes:Left Y的单位选择ms:

宝塔面板+Docker+Grafana+InfluxDB+Telegraf搭建VPS网络线路监控平台

7)Legend勾选Avg显示出平均值:

宝塔面板+Docker+Grafana+InfluxDB+Telegraf搭建VPS网络线路监控平台

8)其他的可以根据自己的需求改,差不多保存就可以了。

7、复制面板

1)接下来绘制标准差,之前已经创建好了一个面板,所以这次我们就可以直接偷懒复制出一个面板:

宝塔面板+Docker+Grafana+InfluxDB+Telegraf搭建VPS网络线路监控平台

2)复制好之后,点击edit,开始编辑,只需要把SELECT修改为field (standard_deviation_ms)即可:

宝塔面板+Docker+Grafana+InfluxDB+Telegraf搭建VPS网络线路监控平台

其他的可以和之前的保持一致。

3)最后再来绘制一个丢包率,还是按照之前的老套路复制一个面板出来,把SQL查询语句改为 (percent_packet_loss)即可。

宝塔面板+Docker+Grafana+InfluxDB+Telegraf搭建VPS网络线路监控平台

4)Axes中的Left Y的单位改为percent(0-100):

宝塔面板+Docker+Grafana+InfluxDB+Telegraf搭建VPS网络线路监控平台

5)不同的主机还是按照之前的套路复制一个面板出来,更改一下SQL查询语句内的Host就能展现出数据了:

宝塔面板+Docker+Grafana+InfluxDB+Telegraf搭建VPS网络线路监控平台

8、效果

效果展示还是很不错的。

宝塔面板+Docker+Grafana+InfluxDB+Telegraf搭建VPS网络线路监控平台

9、设置域名访问

用宝塔的话设置域名访问就很方便了。

宝塔面板+Docker+Grafana+InfluxDB+Telegraf搭建VPS网络线路监控平台

10、最后

如果这样来监控vps线路质量的话,效果是非常不错的,唯一的就是设置麻烦点,不过我们设置好一个就可以套用模板一直复制来解决,所以整体来说体验还是很好的。

使用宝塔环境来安装的最大优点就是,我们安装这个之外,还可以用来做别的,而且宝塔可以可视化编辑文件,相对来说,更简单一点。

以上教程只演示了电信和移动的线路,其他线路请按照教程自行添加~~~~~~


【AD】AkileCloud#2024BlackFriday黑五活动,每日限量半价放货香港,日本,美国流量型云服务器,只要50元/年

【AD】哪些路由器可刷老毛子固件(Padavan)? 品牌型号/固件下载汇总

【AD】美国洛杉矶CN2 VPS/香港CN2 VPS/日本CN2 VPS推荐,延迟低、稳定性高、免费备份_搬瓦工vps