Docker 安装 Linux 系统可视化监控 Netdata

前提准备

说明:此处使用 windows11 安装的 docker desktop & wsl2/apline 环境配置 netdata 服务。

在这里插入图片描述

Windows 11 安装 Docker Desktop ,请参考:https://mp.weixin.qq.com/s/vD8JDGM4ardqmcL9W0cp8Q

  • 拉取 netdata 镜像
docker pull netdata/netdata

此处为了方便后面部署速度快点,先拉取镜像到本地环境。

  • 创建 volume 挂载目录
# 在 E 盘下面创建 docker-volumes 文件夹
cd E:\docker-volumes 
# 创建 netdata 的挂载目录
mkdir -p /data/netdata/{netdatacache,netdatalib}

目录结构信息如下:

PS E:\docker-volumes> ls

    目录: E:\docker-volumes

Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
d-----          2024/4/5     22:25                data
-a----          2024/4/5     22:22            804 netdata-compose.yaml

Docker 两种方式部署 Netdata

1、使用 docker run 命令运行 netdata 服务

docker run -d --name=netdata \
  --container_name=netdata \
  --hostname=netdata \
  -p 19999:19999 \
  -v /data/netdata/netdatalib:/var/lib/netdata \
  -v /data/netdata/netdatacache:/var/cache/netdata \
  -v /etc/passwd:/host/etc/passwd:ro \
  -v /etc/group:/host/etc/group:ro \
  -v /proc:/host/proc:ro \
  -v /sys:/host/sys:ro \
  -v /etc/os-release:/host/etc/os-release:ro \
  --restart always \
  --cap-add SYS_PTRACE \
  --security-opt apparmor=unconfined \
  netdata/netdata

2、使用 docker compose 运行 netdata 服务

  • netdata-compose.yaml 文件编写如下:
version: '3'
services:
  netdata:
    image: netdata/netdata
    container_name: netdata
    hostname: netdata
    restart: unless-stopped
    cap_add:
      - SYS_PTRACE
      - SYS_ADMIN
    security_opt:
      - apparmor:unconfined
    ports:
      - 19999:19999
    volumes:
      - ./data/netdata/netdataconfig/netdata:/etc/netdata
      - ./data/netdata/netdatalib:/var/lib/netdata
      - netdatacache:/var/cache/netdata
      - /etc/passwd:/host/etc/passwd:ro
      - /etc/group:/host/etc/group:ro
      - /etc/localtime:/etc/localtime:ro
      - /proc:/host/proc:ro
      - /sys:/host/sys:ro
      - /etc/os-release:/host/etc/os-release:ro
      - /var/log:/host/var/log:ro
      - /var/run/docker.sock:/var/run/docker.sock:ro

volumes:
  netdatalib:
  netdatacache:
  • 执行 docker compose 命令启动 netdata 服务:
PS E:\docker-volumes> docker compose -f .\netdata-compose.yaml up -d
[+] Running 1/2
 - Network docker-volumes_default  Created                                                                         0.3s
 ✔ Container netdata               Started                                                                         0.3s
PS E:\docker-volumes> docker compose ls
NAME                STATUS              CONFIG FILES
docker-volumes      running(1)          E:\docker-volumes\netdata-compose.yaml
  • docker desktop 运行情况

netdata-compose

  • netdata 服务宿主资源监控

在这里插入图片描述

Netdata 服务可视化界面

  • 浏览器查看 netdata 可视化监控页面
http://localhost:19999/
  • System Overview

在这里插入图片描述

  • Memory

在这里插入图片描述

  • Disks

在这里插入图片描述

  • Mount Points

在这里插入图片描述

  • IP Virtual Server

在这里插入图片描述

  • Networking Stack

在这里插入图片描述

  • Users

在这里插入图片描述

Netdata 汉化处理

  • 下载汉化文件,我这直接 git 拉取
git clone https://gitee.com/DXLinux/Netdata-chinese-patch.git

[root@jeff netdata]# ll Netdata-chinese-patch/
total 836
-rwxr-xr-x 1 root root 125124 Aug  7 16:24 dashboard_info.js
-rwxr-xr-x 1 root root 379728 Aug  7 16:24 dashboard.js
-rwxr-xr-x 1 root root 134097 Aug  7 16:24 index.html
-rw-r--r-- 1 root root    720 Aug  7 16:24 install-Netdata-chinese-patch.sh
-rwxr-xr-x 1 root root  20223 Aug  7 16:24 install-Netdata-chinese.sh
-rwxr-xr-x 1 root root 182742 Aug  7 16:24 main.js
-rwxr-xr-x 1 root root   1503 Aug  7 16:24 README.md
  • 修改 dashboard.js 文件
[root@jeff Netdata-chinese-patch]# vi dashboard.js
  • 快速搜索定位 /NETDATA.jQuery,将 jquery 版本修改成 jquery-3.6.0.min.js
NETDATA.jQuery = NETDATA.serverStatic + 'lib/jquery-3.6.0.min.js';
  • 进入 netdata 容器
docker exec -it netdata bash
  • 切换到 web 目录下
cd /usr/share/netdata/web
  • dashboard_info.js、dashboard.js、index.html、main.js 这几个文件删除,退出容器
rm -rf dashboard_info.js
rm -rf dashboard.js
rm -rf index.html
rm -rf main.js
  • 再将汉化的 4 个文件拷贝进容器
docker cp dashboard_info.js ./data/netdata/web:/usr/share/netdata/web
docker cp dashboard.js ./data/netdata/web:/usr/share/netdata/web
docker cp index.html ./data/netdata/web:/usr/share/netdata/web
docker cp main.js ./data/netdata/web:/usr/share/netdata/web
  • 重启 netdata 容器
docker restart netdata

参考文章:

  • 官方文档,https://learn.netdata.cloud/docs/netdata-agent/installation/docker
  • Linux 安装系统可视化监控工具 Netdatahttps://blog.csdn.net/ChaITSimpleLove/article/details/137400396
  • 9
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ChaITSimpleLove

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

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

抵扣说明:

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

余额充值