使用Docker部署Glances系统监控工具

使用Docker部署Glances系统监控工具

【免费下载链接】glances nicolargo/glances: 是一个跨平台的系统监视工具,类似于 Linux 中的 top 命令,但提供了更丰富的信息和更美观的界面。适合对系统监视、性能和想要实时查看系统状态的开发者。 【免费下载链接】glances 项目地址: https://gitcode.com/gh_mirrors/gl/glances

什么是Glances?

Glances是一款开源的跨平台系统监控工具,采用Python编写,能够实时监控CPU、内存、磁盘、网络、进程等系统资源使用情况。它提供了命令行界面和Web界面两种展示方式,支持多种操作系统平台。

为什么选择Docker方式运行Glances?

使用Docker容器运行Glances具有以下优势:

  1. 环境隔离:不需要在主机上安装Python环境及其依赖
  2. 快速部署:通过简单的docker pull和run命令即可完成部署
  3. 版本管理:可以轻松切换不同版本的Glances
  4. 资源占用低:基于Alpine的镜像体积小巧
  5. 配置灵活:可以挂载自定义配置文件

Docker镜像获取与选择

Glances提供了多种Docker镜像标签,满足不同场景需求:

基础镜像选择

  • Alpine版:体积小巧,适合资源有限的环境
  • Ubuntu版:兼容性更好,适合需要更多系统工具的场景

功能版本选择

镜像标签描述适用场景
latest最小化安装+基本功能基础监控需求
latest-full完整功能版需要所有监控功能
dev开发版(可能不稳定)测试新功能

获取镜像的基本命令:

docker pull nicolargo/glances:latest

运行Glances容器

1. 控制台模式运行

最基本的运行方式,适合直接在终端查看监控信息:

docker run --rm -v /var/run/docker.sock:/var/run/docker.sock:ro \
  --pid host --network host -it nicolargo/glances

参数说明:

  • --rm:容器退出后自动删除
  • -v /var/run/docker.sock:允许监控Docker容器
  • --pid host:监控主机所有进程
  • --network host:使用主机网络模式

2. Web服务器模式运行

通过Web界面访问监控数据:

docker run -d --restart="always" -p 61208-61209:61208-61209 \
  -e GLANCES_OPT="-w" -v /var/run/docker.sock:/var/run/docker.sock:ro \
  --pid host nicolargo/glances

访问方式:浏览器打开 http://<主机IP>:61208

3. 使用自定义配置

创建自定义Dockerfile:

FROM nicolargo/glances
COPY glances.conf /glances/conf/glances.conf
CMD python -m glances -C /glances/conf/glances.conf $GLANCES_OPT

或直接运行:

docker run -v `pwd`/glances.conf:/etc/glances/glances.conf \
  -v /var/run/docker.sock:/var/run/docker.sock:ro \
  --pid host -it nicolargo/glances

高级配置技巧

显示主机OS信息

默认情况下,Glances会显示容器内的OS信息。要显示主机信息,需要挂载os-release文件:

docker run -v /etc/os-release:/etc/os-release:ro nicolargo/glances

安全认证配置

为Web界面添加密码保护有两种方式:

方法1:生成密码文件

  1. 进入容器生成密码:
docker exec -it glances_container glances -w --password
  1. 将密码文件复制到主机并挂载

方法2:配置文件设置 在glances.conf中添加:

[passwords]
localhost=mypassword
default=defaultpassword

Docker Compose集成示例

完整的docker-compose.yml示例:

version: '3'

services:
  monitoring:
    image: nicolargo/glances:latest
    restart: always
    pid: host
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - /etc/os-release:/etc/os-release:ro
    environment:
      - "GLANCES_OPT=-w"
    ports:
      - "61208-61209:61208-61209"

GPU监控支持(NVIDIA)

使用docker run

docker run --rm --gpus all -v /var/run/docker.sock:/var/run/docker.sock:ro \
  --pid host --network host -it nicolargo/glances:latest-full

使用docker-compose

services:
  monitoring:
    image: nicolargo/glances:latest-full
    deploy:
      resources:
        reservations:
          devices:
            - driver: nvidia
              count: 1
              capabilities: [gpu]

最佳实践建议

  1. 生产环境建议使用latest或指定版本号,避免使用dev标签
  2. Web服务模式下,建议配置密码保护
  3. 长期运行的监控服务,添加--restart=always参数
  4. 需要监控Docker容器时,必须挂载docker.sock
  5. 对性能要求高的场景,使用--network host模式

通过Docker部署Glances,您可以快速获得一个功能完善的系统监控解决方案,而无需担心环境配置问题。根据实际需求选择合适的镜像版本和运行参数,即可轻松监控您的系统资源使用情况。

【免费下载链接】glances nicolargo/glances: 是一个跨平台的系统监视工具,类似于 Linux 中的 top 命令,但提供了更丰富的信息和更美观的界面。适合对系统监视、性能和想要实时查看系统状态的开发者。 【免费下载链接】glances 项目地址: https://gitcode.com/gh_mirrors/gl/glances

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值