Docker系列 酷炫的服务器性能监测工具netdata
本文最后更新于 375 天前,如有失效请评论区留言。

本博客由ZGOCLOUD大力赞助!如何更快地访问本站?有需要可加电报群获得更多帮助。本博客用什么VPS?创作不易,请支持苯苯!推荐购买本博客的VIP喔,10元/年即可畅享所有VIP专属内容!

日志

  • 2023-04-15:新增甲骨文自建netdata的Demo
  • 2023-02-10:访客访问netdata时会造成服务器资源挤压——这可能是我的博客网站偶尔访问卡顿的重要原因之一。我使用的VPS是苯苯推荐页面中的RackNerd-199,VPS的内存还是差了些 (ฅ´ω`ฅ):
3x vCPU Core
45 GB SSD Cached RAID-10 Storage
3 GB RAM
6500GB Monthly Premium Bandwidth
1Gbps Public Network Port
Full Root Admin Access
1 Dedicated IPv4 Address
KVM / SolusVM Control Panel - Reboot, Reinstall, Manage rDNS, & much more
  • 2022-12-19:增加cron事件以控制docker版netdata内存泄露问题。

前言

此文内容目前处于BETA版本

我之前在《Linux基础 目录管理的个人实践》曾经介绍过一款叫Ward的VPS性能监控应用,当时对它的privileged=true带来的安全性问题有点担忧。近期忽然发现它的Docker应用崩了,所以自己就再找一个同类产品。经杜比ZoniNG大佬介绍,有一款叫netdata的应用不错,工作界面大致如下:

chrome_5babOQvZbB

这是我的网站托管的VPS实时监控情况:https://wardrn2.hwb0307.com。实时观测的过程中,也没有发现netdata对VPS的性能造成明显的挤压。

总体上,netdata是一个比ward更加专业的工具,有以下特点(主要是Google机翻):

  • Linux 发行版的一站式部署,以及对 Kubernetes/Docker 基础设施的支持。
  • 每秒从底层操作系统和正在运行的应用程序收集数千个指标所需的零配置和维护。
  • 预建图表和警报提醒您常见的异常和性能问题,无需手动配置。
  • 分布式存储,以简化存储来自任意数量节点的指标数据的成本和复杂性。
  • 1% 的 CPU 利用率、几 MB 的 RAM 和最少的磁盘 I/O以在裸机、虚拟机、容器甚至物联网设备上运行监控代理。
  • 基于您在节点上运行的硬件和应用程序的无限数量指标的每秒粒度。
  • 可互操作的导出器让您可以将 Netdata 的每秒指标与现有的监控堆栈和其他时间序列数据库连接起来。
  • 使用强调图表之间关系的 UI/UX 进行视觉异常检测。
  • 可定制的仪表板用于查明相关指标、响应事件并帮助您简化工作流程。
  • 集中式界面中的分布式指标可帮助用户或团队跟踪分布式节点之间的复杂问题。

目前其Github Repo (GPL-3.0 license)有近60k的Star。Guide教程和文档都相当丰富,足见专业性。作为一个明星应用,netdata也支持docker安装喔!如果你的服务器性能不错,netdata是一个值得选择的实时监控程序。

这是我的甲骨文自建netdata的Demo,大家也可以看一下。还是挺酷的噢!

下面我们看看怎么安装Docker版的netdata吧!

测试环境

不了解docker的小伙伴请先看:《Docker系列 配置Docker全局环境》;《Docker系列 了解Docker Compose的配置文件》。

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

此教程在甲骨文免费大鸡里也成功测试:

uname -a # Linux instance-20220712-0742 5.15.0-1011-oracle #15-Ubuntu SMP Fri Jun 10 12:21:49 UTC 2022 aarch64 aarch64 aarch64 GNU/Linux

准备工作

工作目录:

# 按需修改
work=~/docker/netdata && mkdir -p $work && cd $work

如有防火墙,请开放端口3962

# 按需修改端口号
sudo ufw allow 3962/tcp comment 'netdata' && sudo ufw reload

提前拉取镜像:

docker pull netdata/netdata

映射配置文件

此隐藏内容仅限VIP查看。包年VIP仅10元,建议升级。VIP可享有哪些特权

ddns-go & NPM

不了解Nginx Proxy Manager用法的小伙伴,请看《Docker系列 两大神器NPM和ddns-go的安装》。

在ddns-go或者域名托管商后台解析好域名,比如netdata.example.com

Nginx Proxy Manager设置无特殊,类似于下图:

image-20220710124935639.png

配置yml文件

主要参考: 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即可查看工作界面:

chrome_5babOQvZbB

内存泄露控制

此隐藏内容仅限VIP查看。包年VIP仅10元,建议升级。VIP可享有哪些特权

小结

总算安装了一个配置较简单的Docker应用( ̄△ ̄;)

其实,netdata文档还介绍了很多自定义设置,不过我暂时还没有细看。接下来的主要目标是让netdata隐藏一些我不想要的项目(比如网络、防火墙),而不是一股脑将大多数信息都显示出来。

参考

---------------
完结,撒花!如果您点一下广告,可以养活苯苯😍😍😍

感谢ZGOCLOUD友情赞助 (ฅ´ω`ฅ) 本博客基于m2w创作。版权声明:除特殊说明,博客文章均为Bensz原创,依据CC BY-SA 4.0许可证进行授权,转载请附上出处链接及本声明。VIP内容严禁转载!由于可能会成为AI模型(如chatGPT)的训练样本,本博客禁止将AI自动生成内容作为文章上传(特别声明时除外)。如有需要,请至学习地图系统学习本博客的教程。加Telegram群可获得更多帮助喔! | 博客订阅:RSS | 广告招租请留言 | 博客VPS | 致谢渺软公益CDN |
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇