赞
踩
转自我的个人博客https://blognas.hwb0307.com。欢迎关注!
此文内容目前处于BETA版本
我之前在《Linux基础 目录管理的个人实践》曾经介绍过一款叫Ward的VPS性能监控应用,当时对它的privileged=true
带来的安全性问题有点担忧。近期忽然发现它的Docker应用崩了,所以自己就再找一个同类产品。经杜比ZoniNG
大佬介绍,有一款叫netdata的应用不错,工作界面大致如下:
这是我的网站托管的VPS实时监控情况:https://wardrn2.hwb0307.com。实时观测的过程中,也没有发现netdata对VPS的性能造成明显的挤压。
总体上,netdata是一个比ward更加专业的工具,有以下特点(主要是Google机翻):
目前其Github Repo (GPL-3.0 license)有近60k的Star。Guide教程和文档都相当丰富,足见专业性。作为一个明星应用,netdata也支持docker安装喔!经过简单的测试,我选择netdata以更好地实时监控自己服务器的性能。
下面我们看看怎么安装Docker版的netdata吧!
uname -a # Linux racknerd-74a241 5.4.0-28-generic #32-Ubuntu SMP Wed Apr 22 17:40:10 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
docker --version # Docker version 20.10.14, build a224086
docker-compose --version # Docker Compose version v2.4.1
工作目录:
# 按需修改
work=~/docker/netdata && mkdir -p $work && cd $work
如有防火墙,请开放端口3962
:
# 按需修改端口号
sudo ufw allow 3962/tcp comment 'netdata' && sudo ufw reload
提前拉取镜像:
docker pull netdata/netdata
获取测试目录/etc/netdata
:这个目录用于个性化设置,有大用,大家不要忽略这一步
cd $work
mkdir netdataconfig
docker run -d --name netdata_tmp netdata/netdata
docker cp netdata_tmp:/etc/netdata netdataconfig/
docker rm -f netdata_tmp
编辑配置文件:
netdata.conf其实功能特别多。以后我了解深些再介绍一个最佳实践。更多默认配置可见这里。
sudo vim $work/netdataconfig/netdata/netdata.conf
加入以下内容:
[plugin:apps]
update every = 1
command options = no-users no-groups
[plugin:proc:/proc/net/dev:docker0]
enabled = no
按:wq
保存并退出。
plugin:apps
的设置是为了隐藏users和groups的性能汇报,否则它将向直接公开users ID,这可能会带来安全性问题。
plugin:proc:/proc/net/dev:docker0
则是为了隐藏dokcer的相关信息(没有生效?)。
更多的设置敬请关注更新吧!
不了解Nginx Proxy Manager用法的小伙伴,请看《Docker系列 两大神器NPM和ddns-go的安装》。
在ddns-go或者域名托管商后台解析好域名,比如netdata.example.com
。
Nginx Proxy Manager设置无特殊,类似于下图:
主要参考: https://learn.netdata.cloud/docs/agent/packaging/docker
version: '3' services: netdata: image: netdata/netdata container_name: netdata hostname: 苯苯天眼通 # 起个喜欢的名字 ports: - 3962:19999 # 按需修改,与上面防火墙开放的端口一致即可 restart: unless-stopped cap_add: - SYS_PTRACE security_opt: - apparmor:unconfined volumes: - ./netdataconfig/netdata:/etc/netdata:ro # 这个文件夹就是挂载上面的测试文件夹 - netdatalib:/var/lib/netdata - netdatacache:/var/cache/netdata - /etc/passwd:/host/etc/passwd:ro - /etc/group:/host/etc/group:ro - /proc:/host/proc:ro - /sys:/host/sys:ro - /etc/os-release:/host/etc/os-release:ro volumes: netdatalib: netdatacache:
上线服务:
cd $work && docker-compose up -d
查看日志:
cd $work && docker-compose logs -f
可能会有一些Error,但不影响正常使用。
登陆https://netdata.example.com
即可查看工作界面:
总算安装了一个配置较简单的Docker应用( ̄△ ̄;)
其实,netdata文档还介绍了很多自定义设置,不过我暂时还没有细看。接下来的主要目标是让netdata隐藏一些我不想要的项目(比如网络、防火墙),而不是一股脑将大多数信息都显示出来。之后有什么心得再更新!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。