使用Docker和cpolar在Linux服务器上搭建DashDot监控面板

embedded/2024/9/25 3:33:29/

使用Docker和cpolar在Linux服务器上搭建DashDot监控面板

  • 前言
  • 环境准备
    • 安装Docker
    • 下载Dashdot镜像
  • 部署DashDot应用
  • 本地访问DashDot服务
  • 安装cpolar内网穿透
  • 固定DashDot公网地址
  • 结语

前言

  在这个数字化飞速发展的时代,服务器作为支撑各种应用和服务的基础设施,其稳定性和性能对企业运营至关重要。然而,服务器的监控和管理往往需要专业的知识和技术。为了帮助用户更好地了解和掌握服务器的运行状态,我将分享一种简单而有效的方法:使用DashDot监控面板结合Docker和cpolar技术,在Linux服务器上搭建一个实时、美观且功能强大的监控系统。

  DashDot是一个开源的现代服务器仪表盘,它不仅提供了丰富的监控指标,还拥有一个直观、动态的界面,使得服务器状态一目了然。通过本文,您将学会如何在本地Linux服务器上部署DashDot,并通过cpolar实现公网访问,无论您身在何处,都能实时监控您的服务器

  在本文中,我将详细介绍以下内容:

  1. 环境准备:确保您的服务器环境满足部署DashDot的要求。
  2. 安装Docker:在您的服务器上安装Docker,为部署DashDot打下基础。
  3. 下载Dashdot镜像:从Docker Hub获取DashDot的镜像文件。
  4. 部署DashDot应用:使用Docker CLI或Docker Compose部署DashDot。
  5. 本地访问DashDot服务:在本地浏览器中查看DashDot监控面板。
  6. 安装cpolar内网穿透:通过cpolar实现公网访问DashDot。
  7. 固定DashDot公网地址:配置一个固定的公网地址,方便长期远程访问。

  无论您是服务器管理员、开发者还是技术爱好者,本文都将为您提供实用的指导和帮助。让我们开始吧!

环境准备

  在开始之前,请确保您的服务器运行的是CentOS 7系统,并已安装Xshell7用于SSH连接。我们将在个人测试环境中进行部署,生产环境请谨慎操作。

安装Docker

  如果您的服务器尚未安装Docker,请按照以下步骤进行安装:

  1. 添加Docker源
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
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. 安装Docker包
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
  1. 验证Docker安装
sudo docker run hello-world

  确保Docker服务正常运行:

systemctl status docker

  检查Docker版本:

docker -v

  确保Docker Compose版本在2.0以上:

docker compose version

下载Dashdot镜像

  从Docker Hub拉取Dashdot镜像:

docker pull mauricenino/dashdot

  如果无法拉取镜像,可以配置Docker的镜像加速器。

部署DashDot应用

  1. 创建部署目录
mkdir -p /data/dashdot
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. 编辑docker-compose.yaml文件
version: '3'services:dashdot:image: mauricenino/dashdotports:- 8987:3001volumes:- /etc/os-release:/etc/os-release:ro- /proc/1/ns/net:/mnt/host_ns_net:roprivileged: true
  1. 使用Docker Compose启动Dashdot容器
docker compose up -d

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

本地访问DashDot服务

  在浏览器中访问http://<您的服务器IP>:8987,您将看到DashDot的监控面板,包括CPU、内存、硬盘等信息。

安装cpolar内网穿透

  1. 一键安装cpolar
curl -L https://www.cpolar.com/static/downloads/install-release-cpolar.sh | sudo bash
  1. 添加服务
sudo systemctl enable cpolar
  1. 启动服务
sudo systemctl start cpolar

  访问http://<您的服务器局域网IP>:9200,使用cpolar账号登录并配置隧道。

固定DashDot公网地址

  为了长期远程访问DashDot,我们可以配置一个固定的HTTP端口地址:

  1. 登录cpolar官网

  选择保留二级子域名并设置名称。

  1. 配置隧道

  在cpolar web UI管理界面中,编辑隧道信息,将保留的二级子域名配置到隧道中。

  1. 更新隧道

  点击更新后,您的公网地址将变为固定的二级子域名。

  现在,您可以使用固定的公网https地址访问DashDot,实现随时随地的异地监测。

结语

  通过本文的指导,您现在应该已经掌握了如何在本地Linux服务器上使用Docker部署DashDot监控面板,并利用cpolar实现公网实时监控。这不仅增强了您对服务器状态的了解,也提高了管理效率和系统的可靠性。

  监控服务器是一个持续的过程,随着技术的发展和需求的变化,可能会有新的工具和方法出现。但DashDot作为一个简单、实用且美观的解决方案,无疑是一个值得尝试的选择。希望本文能为您的服务器监控和管理提供帮助,并激发您探索更多高效工具的兴趣。

  在未来,我们可能会遇到各种挑战,比如如何更有效地分析监控数据,如何自动化处理服务器问题,以及如何确保数据的安全性。这些都是值得深入探讨的话题。如果您有任何疑问或想要分享您的经验,欢迎在评论区留下您宝贵的意见。

  感谢您的阅读,希望本文能成为您服务器监控之旅中的一盏明灯。让我们一起期待技术带来的更多可能性,并不断探索和学习,以更好地服务于我们的工作和生活。


http://www.ppmy.cn/embedded/116421.html

相关文章

蓝桥杯算法之暴力

暴力 1.十进制数转换成罗马数字 2.判断给出的罗马数字是否正确 小知识 %&#xff08;模除&#xff09;&#xff1a; % 符号用作模除&#xff08;或取模&#xff09;运算符。模除运算是一种数学运算&#xff0c;它返回两个数相除的余数。 具体来说&#xff0c;如果 a 和 b 是…

爬虫的流程

爬虫的流程 获取网页提取信息保存数据自动化程序能爬怎样的数据 获取网页 获取网页就是获取网页的源代码&#xff0c;源代码里包含了网页的部分有用信息&#xff0c;所以只要把源代码获取下来&#xff0c;就可以从中提取想要的信息浏览器访问网页的本质&#xff1a;浏览器向服…

C/C++笔记

C/CPP笔记 杂记 struct msg_train和typedef struct msg_train 大小不一样 cstdio和stdio #include <stdio.h>int main() {printf("Hello, World!\n");return 0; } #include <cstdio>int main() {std::printf("Hello, World!\n");return 0; } 命…

@EnableScheduling 和 @Scheduled 实现定时任务的任务延期问题

前言 在复盘 ieg 一面看到定时任务阻塞的问题时&#xff0c;研究了下 EnableScheduling 的源码&#xff0c;觉得可以单开一篇文章讲一讲 本文主要讲述了使用 EnableScheduling 可能出现的线程阻塞导致定时任务延期的问题&#xff0c;也顺便解释了动态定时任务源码上的实现 引…

虎先锋,你也喜欢线程控制嘛

讲讲线程控制捏 线程创建 这是创建线程调用的接口&#xff1a; #include <pthread.h> int pthread_create(pthread_t *thread, const pthread_attr_t *attr, void *(*start_routine) (void *), void *arg); 这个接口上一篇文章已经介绍过了 线程等待 那么我们来看看…

前端面试题(一)

1. HTML 和 CSS 面试题 如何在 HTML 中嵌入 CSS&#xff1f; CSS 可以通过三种方式嵌入&#xff1a;外部样式表&#xff08;<link>标签&#xff09;&#xff0c;内部样式&#xff08;<style>标签&#xff09;&#xff0c;和行内样式&#xff08;通过元素的style属性…

【趣学Python算法100例】打鱼还是晒网

问题描述 中国有句俗语叫“三天打鱼两天晒网”。某人从1990年1月1日起便开始“三天打鱼两天晒网”&#xff0c;问这个人在以后的某一天中是“打鱼”还是“晒网”。 问题分析 根据题意可以将解题过程分为以下三步&#xff1a; 计算从1990年1月1日开始至指定日期共有多少天。…

【C语言】猜数字游戏

个人主页 &#xff1a; zxctscl 如有转载请先通知 文章目录 前言1. 随机数生成1.1 rand1.2 srand1.3 time1.4 设置随机数的范围 2. 猜数字游戏实现2.1 游戏菜单2.2 主函数部分2.3 game函数部分2.4 附代码2.5 优化代码 前言 前面学习的这些知识&#xff0c;我们就可以写一些稍微…