服务器探针-serverstatus

{alert type="info"} 之前给大家介绍过一个简单的服务器监控。uptime-kuma 今天给各位带来一个酷炫的多服务器探针和多服务器监控。ServerStatus

{/alert}

作者的开源项目地址如下:https://github.com/cppla/ServerStatus
作者的项目体验地址如下 https://tz.cloudcpp.com/ 页面看着不错,所以我们也要整一个。接下来就是搭建的教程

因为是探针,要监控和显示所有的机器数据。所以安装分为服务端和客户端的安装。

  1. 第一步我们先安装服务端。使用docker启动服务就行。如果你要映射的80端口被占用了,那么换一个没被占用的就可以了。 我们先使用wget获取配置,再docker run启动

    wget --no-check-certificate -qO ~/serverstatus-config.json https://raw.githubusercontent.com/cppla/ServerStatus/master/server/config.json && mkdir ~/serverstatus-monthtraffic

    docker run -d --restart=always --name=serverstatus -v ~/serverstatus-config.json:/ServerStatus/server/config.json -v ~/serverstatus-monthtraffic:/usr/share/nginx/html/json -p 80:80 -p 35601:35601 cppla/serverstatus:latest

  2. 启动好容器之后,请确保你的服务器开放了对应的端口。此时就可以在前台访问了,我映射的端口是33451(-p 33451:80 -p 35601:35601)。所以当我访问http://IP:33451/就发现已经OK了。 35601是通信协议的端口,也请确保放开。

  3. 服务已经启动,接下来,我们就要部署客户端。其实也很简单,在你想被监控的服务器上执行一条命令即可。

  4. 这里的客户端我会以我的1台甲骨文小机为例子。

  5. ssh连接服务器。执行命令。

    wget --no-check-certificate -qO client-linux.py 'https://raw.githubusercontent.com/cppla/ServerStatus/master/clients/client-linux.py' && nohup python3 client-linux.py SERVER=X.X.X.X USER=s04 >/dev/null 2>&1 &

  6. 注意要把server=X.X.X.X换成部署探针服务的ip。user怎么来呢。从服务端的配置文件里找 或者你新增一个即可。 在我们服务端执行命令时候,他就会在家目录里生成serverstatus-config.json 文件。我们打开这个文件. 可以看到对应的配置信息,有username,location,password等。我们按照需求更改或者使用默认的即可。 下面是我的示例,我直接使用s04配置了。如果你的节点较多,那么按照格式新增一个配置就行。

  7. 可以从图上方便直观的看到你的服务器状态,其中包括:位置、在线时间、负载、网络情况 、流量、内存、cpu、磁盘等

  8. 服务端的配置文件里还有这样的配置信息,你可以按需来配置自定义告警

    "watchdog": [
    {
    "name": "cpu high warning",
    "rule": "cpu>90&load_1>3",
    "interval": 600,
    "callback": "https://yourSMSurl"
    },

  9. 感兴趣的可以去自行探索一下报警功能~

如果您觉得这篇文章对你有帮助,不妨给我点个赞,这将是我继续分享优质内容的动力。

欢迎访问我的博客站,有更多开源项目分享:vwo50

相关推荐
PcVue China3 小时前
PcVue + SQL Grid : 释放数据的无限潜力
大数据·服务器·数据库·sql·科技·安全·oracle
舞动CPU5 小时前
linux c/c++最高效的计时方法
linux·运维·服务器
皮锤打乌龟5 小时前
(干货)Jenkins使用kubernetes插件连接k8s的认证方式
运维·kubernetes·jenkins
钰@6 小时前
小程序开发者工具的network选项卡中有某域名的接口请求,但是在charles中抓不到该接口
运维·服务器·小程序
wanhengwangluo6 小时前
云服务器和物理服务器的区别有哪些?
运维·服务器
秦jh_7 小时前
【Linux】多线程(概念,控制)
linux·运维·前端
yaosheng_VALVE7 小时前
稀硫酸介质中 V 型球阀的材质选择与选型要点-耀圣
运维·spring cloud·自动化·intellij-idea·材质·1024程序员节
看山还是山,看水还是。8 小时前
Redis 配置
运维·数据库·redis·安全·缓存·测试覆盖率
扣得君8 小时前
C++20 Coroutine Echo Server
运维·服务器·c++20
keep__go8 小时前
Linux 批量配置互信
linux·运维·服务器·数据库·shell