Docker系列 酷炫的服务器性能监测工具netdata

2023-05-16

转自我的个人博客https://blognas.hwb0307.com。欢迎关注!

前言

此文内容目前处于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以更好地实时监控自己服务器的性能。

下面我们看看怎么安装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的相关信息(没有生效?)。

更多的设置敬请关注更新吧!

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

小结

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

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

参考

  • Guide:https://learn.netdata.cloud/guides
  • 隐藏用户(组):https://github.com/netdata/netdata/issues/1250
  • Daemon configuration:https://learn.netdata.cloud/docs/agent/daemon/config
  • Supported collectors list: https://learn.netdata.cloud/docs/agent/collectors
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Docker系列 酷炫的服务器性能监测工具netdata 的相关文章

随机推荐

  • 树莓派为连接不同Wifi分配固定IP的方法

    由于在家里和外面两种场景下使用树莓派 xff0c 家里的wifi是192 168 3 1 xff0c 在外面我用的我的360随身wifi xff0c 它的IP固定是192 168 253 1 xff08 百度未找到修改它的方法 xff09
  • ajax-Access-Control-Allow-Origin跨域问题解决

    首先 xff0c 在解决之个问题之前 xff0c 我们要弄明白为什么会出现跨域问题 跨域问题是浏览器对于ajax请求的一种安全限制 xff1a 一个页面发起的ajax请求 xff0c 只能是与当前页域名相同的路径 xff0c 这能有效的阻止
  • SSH Config 那些你所知道和不知道的事

    SSH xff08 Secure Shell xff09 是什么 xff1f 是一项创建在应用层和传输层基础上的安全协议 xff0c 为计算机上的 Shell xff08 壳层 xff09 提供安全的传输和使用环境 也是专为远程登录会话和其
  • 在虚拟云主机部署pure-ftpd后,从另一个虚拟云主机连接该ftp服务的一些问题

    问题描述 xff1a 最近的一个项目需要在公网搭建一个ftp服务器 xff0c 同时开发的Java程序需要运行在另一台公网服务器上 xff0c 开始时在本地开发机器上测试 xff0c 连接公网的ftp服务器 xff0c 上传文件都没有问题
  • 树莓派4B安装Ros 2 Foxy踩坑记录

    1 通过树莓派官方提供的写卡工具raspberry pi imager选择Ubuntu 20 04 5 xff08 64 bit xff09 xff0c 因为我打算用一个8G的存储卡安装ros 2 xff0c Ubuntu 22 04的比较
  • 浅谈第三方登录用户表结构设计方案

    国民两大流量入口 xff0c 大家不说也想到了 xff0c 分别是微信和QQ 所以为了方便获取用户来源都对接了微信登录或者QQ登录 xff0c 这一类型的第三方登录入口 今天就以对接微信登录 QQ登录与苹果登录 来说说对第三方用户体系与我方
  • Linux 网络命令

    1 ifconfig查看当前活着的网络接口信息 root 64 localhost ifconfig a 表示显示所有网卡包括没有启动的网卡 root 64 localhost ifconfig ens33 down 关闭网卡 root 6
  • 最新ffmpeg编译和用eclipse进行源码调试

    最近由于项目需要 xff0c 必须修改ffmpeg的源码进行修改才能满足项目的需求 xff0c 但以前我从来没有自己去编译和使用ffmpeg的源代码 xff0c 一直都是用别人编译好了的sdk xff0c 再加上习惯了vs方便的编译环境 x
  • Nginx 基础架构简介

    Nginx Vs Apache 对比项目nginxapache备注进程结构master worker prefork thread mpm 网络结构nio aio lt 61 2 2 BIO gt 61 2 4 BIO NIO 模块处理异步
  • 使用<script setup>报错: ‘defineProps‘ is not defined

    解决方法1 xff1a 在 eslintrc js 的 env 增加配置 env 39 vue setup compiler macros 39 true 新增的配置 刚配置完重新启动开发服务的时候可能会报错 xff1a Environme
  • 毕设文档

    lt 64 page size 21cm 29 7cm margin 2cm P margin bottom 0 21cm gt 电话簿功能需求分析 注 xff1a 这里的号码可以是手机号 xff0c 也可以是家庭号码 一 xff1a 显示
  • Docker系列 利用RSShub搭建个人RSS源 从此万物皆RSS

    转自我的个人博客https blognas hwb0307 com 欢迎关注 xff01 前言 通过Docker系列 安装个人RSS服务TTRSS 手机完美适配的学习 xff0c 我们已经成功地搭建了自己的RSS阅读器 可能也有小伙伴通过U
  • docker swarm init

  • Docker系列 深度使用nextcloud(七) 在nextcloud使用RSS订阅

    转自我的个人博客https blognas hwb0307 com 欢迎关注 xff01 前言 如果你对RSS感兴趣 xff0c 可以到我博客的 学习地图 里查看如何用Docker搭建RSS阅读器和自定义RSS源 最近了解RSS的过程中 x
  • Docker系列 WordPress系列 WP Mail SMTP插件

    转自我的个人博客https blognas hwb0307 com 欢迎关注 xff01 前言 在 Docker系列 WordPress系列 安全插件 一章中 xff0c 我们安装了一些网站安全有关的插件 在本章 xff0c 我再向大家介绍
  • Docker系列 WordPress系列 国服最强博客看板娘没有之一

    转自我的个人博客https blognas hwb0307 com 欢迎关注 xff01 前言 在 Docker系列 WordPress系列 特效 教程中 xff0c 你应该已经学会怎么使用一个CDN看板娘 xff0c 比如 xff1a l
  • Docker系列 通过FRP实现内网穿透

    转自我的个人博客https blognas hwb0307 com 欢迎关注 xff01 前言 有小伙伴提醒 xff0c fatedier frps才是frp官方的Docker镜像 但我看这个官方镜像都没有详细的使用说明 xff0c 所以不
  • 使用FRP进行内网穿透的最佳实践

    转自我的个人博客https blognas hwb0307 com 欢迎关注 xff01 前言 前不久我出过一期 Docker系列 通过FRP实现内网穿透 讲述怎么利用FRP进行内网穿透 不过 xff0c 经过测试 xff0c 很快我发现此
  • Docker系列 Wallabag助力个性化网页RSS化

    转自我的个人博客https blognas hwb0307 com 欢迎关注 xff01 前言 使用RSS阅读已经有一段时间了 xff0c 感觉RSS信息流确实很舒服 xff0c 大大提高了生活和工作效率 在日常工作或学习中 xff0c 经
  • Docker系列 酷炫的服务器性能监测工具netdata

    转自我的个人博客https blognas hwb0307 com 欢迎关注 xff01 前言 此文内容目前处于BETA版本 我之前在 Linux基础 目录管理的个人实践 曾经介绍过一款叫Ward的VPS性能监控应用 xff0c 当时对它的