docker 安装 netdata
- 前提准备
- Docker 两种方式部署 Netdata
- 1、使用 docker run 命令运行 netdata 服务
- 2、使用 docker compose 运行 netdata 服务
- Netdata 服务可视化界面
- 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
服务宿主资源监控
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
安装系统可视化监控工具Netdata
,https://blog.csdn.net/ChaITSimpleLove/article/details/137400396