• 如何在CentOS7搭建DashDot服务器仪表盘并实现远程监控



    本篇文章我们将使用Docker在本地部署DashDot服务器仪表盘,并且结合cpolar内网穿透工具可以实现公网实时监测服务器系统、处理器、内存、存储、网络、显卡等,并且拥有API接口。

    DashDot是一款简单、实用的开源现代服务器仪表盘,主要应用于小型 VPS 和私人服务器(比如说NAS),它是一个界面非常漂亮的监控服务器面板!

    1. 本地环境检查

    本篇文章演示环境为CentOS 7,使用Xshell7进行ssh,需安装Docker(本次实践部署环境为个人测试环境,生产环境请谨慎)

    1.1 安装docker

    没有安装Docker的小伙伴需安装Docker,已有Docker可跳过以下步骤。

    首先在终端中执行下方命令:

    添加Docker源

    # Add Docker's official GPG key:
    sudo apt-get update
    sudo apt-get install ca-certificates curl gnupg
    sudo install -m 0755 -d /etc/apt/keyrings
    curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
    sudo chmod a+r /etc/apt/keyrings/docker.gpg
    
    # Add the repository to Apt sources:
    echo \
      "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
      $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
      sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
    sudo apt-get update
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    安装Dokcer包

    sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
    
    • 1

    通过运行映像来验证 Docker 引擎安装是否成功

    sudo docker run hello-world
    
    • 1

    检查Docker服务是否正常运行,确保Docker正常运行

    # systemctl status docker
    ● docker.service - Docker Application Container Engine
       Loaded: loaded (/usr/lib/systemd/system/docker.service; disabled; vendor preset: disabled)
       Active: active (running) since Sun 2024-01-28 21:30:09 PST; 11s ago
         Docs: https://docs.docker.com
     Main PID: 3158 (dockerd)
        Tasks: 51
       Memory: 146.4M
       CGroup: /system.slice/docker.service
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    检查Docker版本

    # docker -v
    Docker version 20.10.17, build 100c701
    
    • 1
    • 2

    检查docker compose版本,确保2.0以上

    # docker compose version
    Docker Compose version v2.19.1
    
    • 1
    • 2

    1.2 下载Dashdot镜像

    从docker hub拉取Dashdot镜像

     docker pull   mauricenino/dashdot
    
    • 1

    image-20240129161742919

    2. 部署DashDot应用

    创建部署目录

    mkdir -p /data/dashdot
    
    • 1
    cd  /data/dashdot
    
    • 1

    使用docker-cli创建Dashdot容器

    docker  run  -d  \
      -p 8987:3001 \
      -v /etc/os-release:/etc/os-release:ro \
      -v /proc/1/ns/net:/mnt/host_ns_net:ro \
      --privileged \
      mauricenino/dashdot
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    编辑docker-compose.yaml文件

    version: '3'
    
    services:
      dashdot:
        image: mauricenino/dashdot
        ports:
          - 8987:3001
        volumes:
          - /etc/os-release:/etc/os-release:ro
          - /proc/1/ns/net:/mnt/host_ns_net:ro
        privileged: true
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    使用docker compose方式快速创建Dashdot容器

     docker compose up -d
    
    • 1

    image-20240129161858444

    检查Dashdot容器状态,确保Dashdot容器正常启动

     docker ps
    
    • 1

    image-20240129162137481

    检查Dashdot容器运行日志,确保Dashdot服务正常运行

    # docker compose logs  |grep 3001
    dashdot-dashdot-1  | listening on *:3001
    dashdot-dashdot-1  |     port: 3001,
    
    • 1
    • 2
    • 3

    3. 本地访问DashDot服务

    访问地址:http://192.168.149.143:8987,将IP替换为自己服务器IP地址,在浏览器可以访问Dashdot服务器仪表盘首页。可以看出它识别出我的CPU ,内存,硬盘等信息都还是非常准确的

    cc62e0093676b31cdb2d1860103d0e9

    还支持暗黑模式,可以看出这个页面真的是非常的漂亮,并且全部以实时动态图形化的模块界面展示出来了,既美观又直观

    138841987c987e7669069c1b34fb797

    我们就成功在本地搭建了DashDot,但是如果你是一名程序员,有时候我们需要异地来监测自己的服务器,并且害怕网站被攻击,这个时候我们就需要使用cpolar内网穿透工具,实现在公网上监测服务器、网站、应用等。

    4. 安装cpolar内网穿透

    下面是安装cpolar步骤:

    cpolar官网地址: https://www.cpolar.com

    • 使用一键脚本安装命令
    curl -L https://www.cpolar.com/static/downloads/install-release-cpolar.sh | sudo bash
    
    • 1
    • 向系统添加服务
    sudo systemctl enable cpolar
    
    • 1
    • 启动cpolar服务
    sudo systemctl start cpolar
    
    • 1

    cpolar安装成功后,在外部浏览器上访问Linux 的9200端口即:【http://服务器的局域网ip:9200】,使用cpolar账号登录,登录后即可看到cpolar web 配置界面,结下来在web 管理界面配置即可。

    image-20230831171159175

    接下来配置一下DashDot的公网地址,

    登录后,点击左侧仪表盘的隧道管理——创建隧道,创建一个ashDot的公网http地址隧道

    • 隧道名称:可自定义命名,注意不要与已有的隧道名称重复
    • 协议:选择http
    • 本地地址:8987 (本地访问的地址)
    • 域名类型:免费选择随机域名
    • 地区:选择China Top

    点击创建

    c3a958a16e2a3481b951d445c4dc97c

    隧道创建成功后,点击左侧的状态——在线隧道列表,查看所生成的公网访问地址,有两种访问方式,一种是http 和https

    9d45c8a53f1a8ee47855a71fd2575b0

    使用上面的Cpolar https公网地址,在任意设备的浏览器进行访问,即可成功看到DashDot界面,这样一个公网地址且可以远程访问就创建好了,使用了cpolar的公网域名,无需自己购买云服务器,即可发布到公网进行远程访问!

    179968dde2681f098d93af0582aa65f

    小结

    如果我们需要长期异地远程访问DashDot进行监测,由于刚才创建的是随机的地址,24小时会发生变化。另外它的网址是由随机字符生成,不容易记忆。如果想把域名变成固定的二级子域名,并且不想每次都重新创建隧道,可以选择创建一个固定的http地址来解决这个问题。

    5. 固定DashDot公网地址

    我们接下来为其配置固定的HTTP端口地址,该地址不会变化,方便分享给别人长期查看你的博客,而无需每天重复修改服务器地址。

    配置固定http端口地址需要将cpolar升级到专业版套餐或以上。

    登录cpolar官网,点击左侧的预留,选择保留二级子域名,设置一个二级子域名名称,点击保留,保留成功后复制保留的二级子域名名称

    ab167a7ae0920aaed958fcf267d67e0

    保留成功后复制保留成功的二级子域名的名称c05b5f40512fe9bbe40e7d892d10763

    返回登录Cpolar web UI管理界面,点击左侧仪表盘的隧道管理——隧道列表,找到所要配置的隧道,点击右侧的编辑

    e4d9eea7113fec72f8a183ee5d6468e

    修改隧道信息,将保留成功的二级子域名配置到隧道中

    • 域名类型:选择二级子域名
    • Sub Domain:填写保留成功的二级子域名

    点击更新(注意,点击一次更新即可,不需要重复提交)

    b6d45e2c0b13660be8bbfa7f1fb2745

    更新完成后,打开在线隧道列表,此时可以看到公网地址已经发生变化,地址名称也变成了固定的二级子域名名称的域名

    ce4ba78d8071cdf8860750497223285

    最后,我们使用固定的公网https地址访问,可以看到访问成功,这样一个固定且永久不变的公网地址就设置好了,随时随地都可以进行异地监测本地服务器了系统!

    3449856081e99269f7dfcc8ef4dfc2d

  • 相关阅读:
    学习java第一百一十三天
    初识 Spring 框架
    MySQL geometry 类型数据测试
    从入门开始手把手搭建千万级Java算法测试-计数排序与快速排序的比较(常规快排)比较
    transformer学习资料
    Java 远程调用失败?如何优雅的进行重试?
    Spring 源码(14)Spring Bean 的创建过程(5)
    7 Spring Boot 整合 Spring Data JPA
    JAVA多线程(MultiThread)的各种用法
    Humanoid-Gym 开源人形机器人端到端强化学习训练框架!星动纪元联合清华大学、上海期智研究院发布!
  • 原文地址:https://blog.csdn.net/YYDsis/article/details/136711887