feat: add netdata

This commit is contained in:
Sun-ZhenXing
2025-12-20 19:58:14 +08:00
parent b98e6f652a
commit 7ccfaff855
25 changed files with 172 additions and 421 deletions

11
src/netdata/.env.example Normal file
View File

@@ -0,0 +1,11 @@
# Netdata version
NETDATA_VERSION=v2.8.4
# Timezone
TZ=UTC
# Resource limits
NETDATA_CPU_LIMIT=1.0
NETDATA_MEMORY_LIMIT=1G
NETDATA_CPU_RESERVATION=0.1
NETDATA_MEMORY_RESERVATION=256M

39
src/netdata/README.md Normal file
View File

@@ -0,0 +1,39 @@
# Netdata
[English](./README.md) | [中文](./README.zh.md)
Netdata is a high-performance, real-time monitoring and troubleshooting tool for systems and applications. It provides unparalleled insights into your infrastructure with per-second metrics and interactive visualizations.
## Services
- `netdata`: The Netdata Agent (port 19999)
## Quick Start
```bash
docker compose up -d
```
## Environment Variables
| Variable Name | Description | Default Value |
| :--------------------------- | :-------------------- | :------------ |
| `NETDATA_VERSION` | Netdata image version | `v2.8.4` |
| `TZ` | Timezone | `UTC` |
| `NETDATA_CPU_LIMIT` | CPU limit | `1.0` |
| `NETDATA_MEMORY_LIMIT` | Memory limit | `1G` |
| `NETDATA_CPU_RESERVATION` | CPU reservation | `0.1` |
| `NETDATA_MEMORY_RESERVATION` | Memory reservation | `256M` |
Please modify the `.env` file as needed for your use case.
## Volumes
- `netdataconfig`: Stores Netdata configuration files
- `netdatalib`: Stores Netdata libraries and databases
- `netdatacache`: Stores Netdata cache files
## Notes
- This configuration uses `network_mode: host` to provide full monitoring capabilities of the host system.
- The Netdata dashboard is available at `http://localhost:19999`.

39
src/netdata/README.zh.md Normal file
View File

@@ -0,0 +1,39 @@
# Netdata
[English](./README.md) | [中文](./README.zh.md)
Netdata 是一个高性能、实时的系统和应用监控与故障排除工具。它通过每秒的指标和交互式可视化,为您提供对基础设施的无与伦比的洞察力。
## 服务
- `netdata`: Netdata Agent (端口 19999)
## 快速开始
```bash
docker compose up -d
```
## 环境变量
| 变量名 | 描述 | 默认值 |
| :--------------------------- | :--------------- | :------- |
| `NETDATA_VERSION` | Netdata 镜像版本 | `v2.8.4` |
| `TZ` | 时区 | `UTC` |
| `NETDATA_CPU_LIMIT` | CPU 限制 | `1.0` |
| `NETDATA_MEMORY_LIMIT` | 内存限制 | `1G` |
| `NETDATA_CPU_RESERVATION` | CPU 预留 | `0.1` |
| `NETDATA_MEMORY_RESERVATION` | 内存预留 | `256M` |
请根据您的使用情况修改 `.env` 文件。
## 数据卷
- `netdataconfig`: 存储 Netdata 配置文件
- `netdatalib`: 存储 Netdata 库和数据库
- `netdatacache`: 存储 Netdata 缓存文件
## 注意事项
- 此配置使用 `network_mode: host` 以提供对宿主机的完整监控能力。
- Netdata 仪表板可通过 `http://localhost:19999` 访问。

View File

@@ -0,0 +1,55 @@
name: netdata
x-defaults: &defaults
restart: unless-stopped
logging:
driver: json-file
options:
max-size: 100m
max-file: "3"
services:
netdata:
<<: *defaults
image: ${GLOBAL_REGISTRY:-}netdata/netdata:${NETDATA_VERSION:-v2.8.4}
pid: host
network_mode: host
cap_add:
- SYS_PTRACE
- SYS_ADMIN
security_opt:
- apparmor:unconfined
volumes:
- netdataconfig:/etc/netdata
- netdatalib:/var/lib/netdata
- netdatacache:/var/cache/netdata
- /:/host/root:ro,rslave
- /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
environment:
- TZ=${TZ:-UTC}
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:19999/api/v1/info"]
interval: 30s
timeout: 10s
retries: 3
start_period: 10s
deploy:
resources:
limits:
cpus: ${NETDATA_CPU_LIMIT:-1.0}
memory: ${NETDATA_MEMORY_LIMIT:-1G}
reservations:
cpus: ${NETDATA_CPU_RESERVATION:-0.1}
memory: ${NETDATA_MEMORY_RESERVATION:-256M}
volumes:
netdataconfig:
netdatalib:
netdatacache: