【Docker项目实战】使用Docker部署miniboard轻量级监控仪表板

简介: 【2月更文挑战第5天】使用Docker部署miniboard轻量级监控仪表板

一、miniboard介绍

1.1 miniboard简洁

  • miniboard简介

miniboard是一款开源的、带有选项卡、正常运行时间监控和通知的轻量级仪表板。,可以通过GUI或yaml文件进行配置。

1.2 miniboard特点

  • 提供实时监控和报警功能,及时发现和解决容器运行异常和网站服务故障;
  • 支持自定义监控指标,可以根据业务需求设置特定的监控项;
  • 采用轻量级的监控代理,减少对系统资源的占用;
  • 支持多种部署方式,包括Docker部署和传统部署,提供灵活的选择;
  • 提供可视化的仪表盘和报表,直观展示服务状态和性能指标;
  • 提供友好的用户界面和操作流程,使新手也能轻松上手使用。

    二、本地环境介绍

    2.1 本地环境规划

    本次实践为个人测试环境,操作系统版本为centos7.6。

hostname IP地址 操作系统版本 Docker版本
jeven 192.168.3.166 centos 7.6 20.10.17

2.2 本次实践介绍

1.本次实践部署环境为个人测试环境,生产环境请谨慎;
2.在Docker环境下部署miniboard轻量级监控仪表板。

三、本地环境检查

3.1 检查Docker服务状态

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

[root@jeven ~]# systemctl status docker
● docker.service - Docker Application Container Engine
   Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled)
   Active: active (running) since Tue 2023-12-19 13:51:24 CST; 18min ago
     Docs: https://docs.docker.com
 Main PID: 11579 (dockerd)
    Tasks: 8
   Memory: 136.4M
   CGroup: /system.slice/docker.service

3.2 检查Docker版本

检查Docker版本

[root@jeven ~]# docker -v
Docker version 20.10.17, build 100c701

3.3 检查docker compose 版本

检查Docker compose版本,确保2.0以上版本。

[[root@jeven ~]# docker compose version
Docker Compose version v2.19.1

四、下载miniboard镜像

从docker hub拉取miniboard镜像

[root@jeven ~]# docker pull aceberg/miniboard
Using default tag: latest
latest: Pulling from aceberg/miniboard
c926b61bad3b: Already exists
e4a1524e1610: Pull complete
6db695a80bb5: Pull complete
15bfa03d27b5: Pull complete
Digest: sha256:b9ba93c61148b2e4232870fcf5fca5fa6c3046e20f5d8ec327f7b5cbafdcbd57
Status: Downloaded newer image for aceberg/miniboard:latest
docker.io/aceberg/miniboard:latest

五、部署miniboard

5.1 使用docker-cli部署miniboard

可以使用docker-cli方式快速部署miniboard监控仪表盘,本次实践使用以下步骤的docker compose方式部署。

docker run -d --name miniboard \
-e "TZ=Asia/Shanghai" \
-v ~/.dockerdata/miniboard:/data/miniboard \
-v /var/run/docker.sock:/var/run/docker.sock \ # Only needed to create panel from Docker containers (On Edit panels page)
-p 8849:8849 \
aceberg/miniboard

5.2 创建挂载目录

创建挂载目录/dataminiboard

mkdir -p /data/miniboard/data &&  cd /data/miniboard

5.3 创建miniboard容器

编辑docker-compose.yaml文件,使用docker compose方式创建miniboard容器

version: '3'

services:
  miniboard:
    image: aceberg/miniboard
    container_name: miniboard
    restart: always
    ports:
      - 7985:8849
    volumes:
      - /data/miniboard/data:/data/miniboard
      - /var/run/docker.sock:/var/run/docker.sock
    environment:
      - TZ=Asia/Shanghai

5.4 创建miniboard容器

执行以下命令,快速创建miniboard容器.

[root@jeven miniboard]# docker compose up -d
[+] Running 2/2
 ⠿ Network miniboard_default  Created                                                                                   0.0s
 ⠿ Container miniboard        Started                                                                                   1.5s

5.5 检查miniboard容器状态

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

[root@jeven miniboard]# docker compose ps
NAME                COMMAND             SERVICE             STATUS              PORTS
miniboard           "./miniboard"       miniboard           running             0.0.0.0:7985->8849/tcp, :::7985->8849/tcp

5.6 检查miniboard容器运行日志

检查miniboard容器运行日志,确保miniboard服务正常启动。可以看到在容器日志中,已经成功监听到容器内的miniboard服务端口8849。

[root@jeven miniboard]# docker compose logs
miniboard  | 2023/12/19 14:54:46 INFO: starting web gui with config /data/miniboard/config.yaml
miniboard  | 2023/12/19 14:54:46 INFO: writing new Board file to /data/miniboard/board.yaml
miniboard  | 2023/12/19 14:54:46 ===================================
miniboard  | 2023/12/19 14:54:46 Web GUI at http://0.0.0.0:8849
miniboard  | 2023/12/19 14:54:46 ===================================
miniboard  | 2023/12/19 14:54:46 ERROR: SQL logic error: no such table: records (1)
miniboard  | 2023/12/19 14:54:46 ERROR: SQL logic error: no such table: records (1)

六、访问署miniboard轻量级监控仪表板

6.1 访问miniboard初始页

访问地址Lhttp://192.168.3.166:7985,将IP更换为自己服务器的IP地址,进入到miniboard初始页。如果外部客户端无法访问此页面,查看服务器是否关闭防火墙,如果是云服务器,则安全组需要放行对应的服务端口7985。如果在经常访问测试项目的浏览器上,可能会由于之前访问过相同的端口的服务造成访问miniboard失败,此时清除浏览器缓存即可。

在这里插入图片描述

6.2 系统设置

在菜单栏,选择“Config”,进入系统设置页面,可以设置服务端口、主题等。

在这里插入图片描述
在这里插入图片描述

七、miniboard的基本使用

7.1 编辑面板信息

点击编辑面板选项,进入面板编辑页面。

在这里插入图片描述

在下方的“Create panel from Docker API”选项中,设置仪表盘名称,选择确认。

在这里插入图片描述

勾选扫描选项,设置扫描间隔时间为5分钟,保存确认。

在这里插入图片描述

查看Docker-API获取的容器列表

在这里插入图片描述
在这里插入图片描述

修改容器的IP访问地址为本机服务器IP地址,这里是192.168.3.166。也可以新增其余监控项,例如再新增一条监控宿主机httpd的web服务。

在这里插入图片描述

7.2 新增tab标签分组

在tab管理页面,编辑tab名称,选择刚创建的面板,点击保存即可。

在这里插入图片描述

7.3 查看仪表板首页

查看此时的仪表板首页,发现刚才添加的监控项已经成功监控。

在这里插入图片描述

八、总结

Miniboard是一款轻量级监控仪表板工具,部署简单、使用方便。通过使用Docker进行快速部署,可以有效地节省服务器资源。Miniboard具有简洁的界面,能够清晰地显示监控项的状态。不仅可以监控宿主机上运行的Docker容器的状态,还可以监控网站的运行状态。对于个人服务器来说,Miniboard是一款非常实用的工具。

相关文章
|
1月前
|
消息中间件 监控 RocketMQ
Docker部署RocketMQ5.2.0集群
本文详细介绍了如何使用Docker和Docker Compose部署RocketMQ 5.2.0集群。通过创建配置文件、启动集群和验证容器状态,您可以快速搭建起一个RocketMQ集群环境。希望本文能够帮助您更好地理解和应用RocketMQ,提高消息中间件的部署和管理效率。
235 91
|
21天前
|
人工智能 文字识别 安全
Stirling-PDF:51.4K Star!用Docker部署私有PDF工作站,支持50多种PDF操作,从此告别在线工具
Stirling-PDF 是一款基于 Docker 的本地化 PDF 编辑工具,支持 50 多种 PDF 操作,包括合并、拆分、转换、压缩等,同时提供多语言支持和企业级功能,满足个人和企业用户的多样化需求。
74 6
Stirling-PDF:51.4K Star!用Docker部署私有PDF工作站,支持50多种PDF操作,从此告别在线工具
|
18天前
|
中间件 关系型数据库 数据库
docker快速部署OS web中间件 数据库 编程应用
通过Docker,可以轻松地部署操作系统、Web中间件、数据库和编程应用。本文详细介绍了使用Docker部署这些组件的基本步骤和命令,展示了如何通过Docker Compose编排多容器应用。希望本文能帮助开发者更高效地使用Docker进行应用部署和管理。
49 19
|
9天前
|
Linux 虚拟化 Docker
Linux服务器部署docker windows
在当今软件开发中,Docker成为流行的虚拟化技术,支持在Linux服务器上运行Windows容器。流程包括:1) 安装Docker;2) 配置支持Windows容器;3) 获取Windows镜像;4) 运行Windows容器;5) 验证容器状态。通过这些步骤,你可以在Linux环境中顺利部署和管理Windows应用,提高开发和运维效率。
59 1
|
1天前
|
Docker Python 容器
Docker——阿里云服务器使用Docker部署python项目全程小记
本文记录了我在阿里云服务器上使用Docker部署python项目(flask为例)的全过程,在这里记录和分享一下,希望可以给大家提供一些参考。
|
2月前
|
数据库 Docker 容器
docker容器为啥会开机自启动
通过配置适当的重启策略,Docker容器可以在主机系统重启后自动启动。这对于保持关键服务的高可用性和自动恢复能力非常有用。选择适合的重启策略(如 `always`或 `unless-stopped`),可以确保应用程序在各种情况下保持运行。理解并配置这些策略是确保Docker容器化应用可靠性的关键。
288 93
|
1月前
|
网络协议 API Docker
Docker+consul容器服务的更新与发现
通过本文的介绍,我们详细探讨了如何结合Docker和Consul来实现容器服务的更新与发现。通过Consul的服务注册和发现功能,可以高效地管理和监控容器化服务,确保系统的高可用性和可扩展性。希望本文能帮助您在实际项目中更好地应用Docker和Consul,提高系统的可靠性和管理效率。
65 23
|
1月前
|
Ubuntu API 网络虚拟化
ubuntu22 编译安装docker,和docker容器方式安装 deepseek
本脚本适用于Ubuntu 22.04,主要功能包括编译安装Docker和安装DeepSeek模型。首先通过Apt源配置安装Docker,确保网络稳定(建议使用VPN)。接着下载并配置Docker二进制文件,创建Docker用户组并设置守护进程。随后拉取Debian 12镜像,安装系统必备工具,配置Ollama模型管理器,并最终部署和运行DeepSeek模型,提供API接口进行交互测试。
353 15
|
3月前
|
监控 NoSQL 时序数据库
《docker高级篇(大厂进阶):7.Docker容器监控之CAdvisor+InfluxDB+Granfana》包括:原生命令、是什么、compose容器编排,一套带走
《docker高级篇(大厂进阶):7.Docker容器监控之CAdvisor+InfluxDB+Granfana》包括:原生命令、是什么、compose容器编排,一套带走
347 78
|
2月前
|
Ubuntu NoSQL Linux
《docker基础篇:3.Docker常用命令》包括帮助启动类命令、镜像命令、有镜像才能创建容器,这是根本前提(下载一个CentOS或者ubuntu镜像演示)、容器命令、小总结
《docker基础篇:3.Docker常用命令》包括帮助启动类命令、镜像命令、有镜像才能创建容器,这是根本前提(下载一个CentOS或者ubuntu镜像演示)、容器命令、小总结
219 6
《docker基础篇:3.Docker常用命令》包括帮助启动类命令、镜像命令、有镜像才能创建容器,这是根本前提(下载一个CentOS或者ubuntu镜像演示)、容器命令、小总结