【好玩的Docker项目】搭建两个专属自己的服务器监控——Ward && ServerStatus

祝大家新年快乐!上一期和大家介绍了如何搞一个自己的网站监控,这一期就给大家带来两个关于监控自己的服务器状态的项目。

本博客用什么VPS?创作不易,欢迎请咕咕喝杯咖啡☕☕☕

前言

祝大家新年快乐!

上一期和大家介绍了如何搞一个自己的网站监控,这一期就给大家带来一个两个关于监控自己的服务器状态的项目。

如果你只有一个服务器,可以参考第一个项目,如果你有不止一台,可以搭建第二个项目。

单台服务器的演示地址https://ward.laoda.de/

效果如下:

image-20220101122452493

多台服务器的演示地址https://status.laoda.de/

效果如下:

image-20220101122538855

YouTube:https://youtu.be/Eq1HM84AKUs

环境准备

Ward(适合单台服务器)

简介

Ward 是一个使用 Java 开发的简单而简约的服务器监控工具。Ward 支持自适应设计系统,它还支持深色主题,它只显示服务器的主要信息。Ward 在所有流行的操作系统上运行良好,因为它使用 OSHI

项目地址:https://github.com/B-Software/Ward

效果如下:

image-20220101122452493

Docker搭建

我们机器上已经安装好了Docker以及Docker-compose,搭建就非常容易啦。

首先通过SSH登陆服务器,在docker_data文件夹下创建Ward文件夹

apt update -y ## 更新软件源

mkdir -p ~/data/docker_data/Ward  ## 在docker_data文件夹下创建Ward文件夹

cd ~/data/docker_data/Ward  ## 进入文件夹

git clone https://github.com/AntonyLeons/Ward.git   ## 在创建的文件夹下克隆项目并构建镜像
cd Ward 
docker build . --tag ward

评论区小伙伴反馈:ward官方的文件现在少了几个,不能构建了。报错的用这个地址 https://github.com/AntonyLeons/Ward,是有人克隆下载的。

等构建镜像完成之后,直接运行:

docker run -d --name ward -p 4000:4000 \
-p 自定义端口号:自定义端口号 \
--privileged=true \
--restart always \
ward:latest

注意:-p 自定义端口号:自定义端口号这边一定要填,下面会用到。

然后我们用Chrome打开http://IP:4000/地址,我们会看到如下图的界面,在此完成基本设置。

image-20210628155606181

Server Name随便填,这个就是搭建完后的浏览器地址栏信息;然后可以选择命令主题或者黑暗主题;Application Port要填写成刚刚创建Docker容器时的自定义端口号。然后点击LAUNCH按钮即可完成基本设置。

暗色系效果如下:

image-20220101133133660

注:如果这里填错了的话,可以进入容器内部,修改setup.ini文件即可。

$ docker exec -it ward /bin/sh
$ nano setup.ini

或者直接停止容器,重建

docker stop ward
docker rm -f ward 

docker run -d --name ward -p 4000:4000 \
-p 自定义端口号:自定义端口号 \
--privileged=true \
--restart always \
ward:latest

这时候我们用Chrome打开http://IP:自定义端口号/即可访问我们的监控面板了。

利用NPM配置反向代理

利用之前安装好NginxProxyManager,可以非常轻松完成反向代理的操作。(相关教程

image-20220101132620575
image-20220101132435879
image-20220101132456073

配置好之后,访问域名就可以啦。

ServerStatus(适合多台服务器)

简介

项目地址:https://github.com/lidalao/ServerStatus
项目基于cppla版本ServerStatus, 增加如下功能:

  • 更方便的节点管理, 支持增删改查
  • 上下线通知(Telegram)
  • Agent机器安装脚本改为systemd, 支持开机自启

搭建

服务端复制以下命令,一键到底。请记得替换成你自己的YOUR_TG_CHAT_IDYOUR_G_BOT_TOKEN

其中,Bot token/code>可以通过@BotFather创建机器人获取, Chat id/code>可以通过@getuserID获取。

image-20220101134112788

Bot token就是5077*****

配置完成,后面的步骤都完成之后,再点击:

image-20220101134440158

进入自己创建的机器人页面,再点击开始就能有监控了。

效果如下:

image-20220101134630788
image-20220101134155479

Chat id就是98*****

mkdir -p ~/data/docker_data/sss

cd ~/data/docker_data/sss

wget --no-check-certificate https://raw.githubusercontent.com/lidalao/ServerStatus/master/sss.sh && chmod +x ./sss.sh && sudo ./sss.sh YOUR_TG_CHAT_ID YOUR_TG_BOT_TOKEN

注意替换YOUR_TG_CHAT_IDYOUR_TG_BOT_TOKEN 如果没有Telegram的话,不带这俩参数也可以。

安装成功后,web服务地址:http://ip:8081

通过sss.sh脚本,可以很方便的进行节点的增删改查操作。特别的,添加新节点时,会有提示如何在新节点安装对应的agent服务。如果你想了解更多,可以看看进阶部分,不看也足够用。

进阶

由于没改动ServerStatus代码,理论上,任何版本的ServerStatus都可以用sss.py来做管理, 都可以用bot.py来进行上下监控。

节点管理时,把sss.py放到和config.json同一目录,运行python3 _sss.py即可。唯一需要改动的就是restartSSS函数,此函数功能是重启ServerStatus服务,改成你对应的服务启动方式,例如用systemd,则把["docker-compose", "restart"]改成["systemctl", "restart", "ServerStatus"]

接下来是上下线监控服务,同样适用于任何版本的ServerStatus。 它只有一个文件bot.py, 可以跑在任何机器上,不是必须在服务端,丢在家里nas上也成。

bot.py里面有三个配置信息,bot_token, cat_idNODE_STATUS_URL, 改成你自己的对应信息,NODE_STATUS_URL需要改成你自己的探针web服务地址,例如,域名探针https://tz.test.com, 则改为https://tz.test.com/json/stats.json。配置修改完后,运行python3 bot.py即可开始监控

反向代理

利用之前安装好NginxProxyManager,可以非常轻松完成反向代理的操作。(相关教程

image-20220101132620575
image-20220101132943763
image-20220101132842926

配置好之后,访问域名就可以啦。

感谢

---------------
如何觉得文章内容不错,欢迎点击一下广告,支持一下咕咕😍😍😍

原创文章,作者:Roy,如若转载,请注明出处:https://iwanlab.com/ward-serverstatus-install/

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
Roy的头像Roy
上一篇 2023年6月15日 下午7:24
下一篇 2023年6月15日 下午7:24
   

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

评论列表(11条)

  • […] ————本文摘抄自@咕咕的博客 […]

  • 11
    11 2023年8月14日 下午11:08

    只有服务端这台能连接,自己监控自己,其他8台VPS没有一台能成功,

  • IMMOOO
    IMMOOO 2023年7月1日 下午5:56

    咕咕,@getuserID这个机器人没了怎么办

  • Mrered
    Mrered 2023年6月28日 下午3:06

    咕咕,你知道ServerCat这个软件吗?它能监控服务器,但是在macOS里它没办法固定到菜单栏,请问有无能在macOS菜单栏里常驻的VPS状态监控软件?

    • 我不是咕咕鸽的头像
      Roy 2023年6月28日 下午3:43

      @MreredServerCat手机上好像用过。
      【请问有无能在macOS菜单栏里常驻的VPS状态监控软件】 这个的话我也没怎么研究,一般我看都是打开网页看的,设置一个tg的通知

    • Mrered
      Mrered 2023年6月28日 下午3:57

      @Roy

      要是有个软件能在macOS菜单栏里直接看,就太爽了

    • 我不是咕咕鸽的头像
      Roy 2023年6月28日 下午4:32

      @Mrered付费的应该有的

    • Mrered
      Mrered 2023年6月28日 下午4:36

      @Roy

      付费的价格能承受的话也可以

    • 我不是咕咕鸽的头像
      Roy 2023年6月28日 下午5:01

      @Mrered回头我帮你留意看看,目前我没这个需求,没怎么关注 = =