NetData 入门

article/2025/6/25 17:15:38

NetData 入门

Y_Wolf(2020.05.06)

文章目录

  • NetData 入门
    • 一、项目环境
    • 二、NetData简介
    • 三、NetData安装
      • 方法一
      • 方法二
    • 四、NetData的基本操作
    • 五、卸载NetData
    • 五、NetData的相关配置文件
    • 六、添加第三方扩展插件(NVIDIA-SMI)
    • 在这里插入图片描述
    • 七、多设备监控
      • 方法一
      • 方法二
        • 节点服务器
      • 主服务器
    • 八、报警器
    • 九、将监控数据存入后端
    • 十、 创建自定义监控界面

一、项目环境

  • 系统:Ubuntu 18.04.3 LTS
  • 官方说明文档:https://learn.netdata.cloud/docs/agent

二、NetData简介

NetData 是一个用于系统和应用的分布式实时性能和健康监控工具。它提供了对系统中实时发生的所有事情的全面检测。你可以在高度互动的 Web 仪表板中查看结果。使用 Netdata,你可以清楚地了解现在发生的事情,以及之前系统和应用中发生的事情。你无需成为专家即可在 Linux 系统中部署此工具。NetData 开箱即用,零配置、零依赖。只需安装它然后坐等,之后 NetData 将负责其余部分。


三、NetData安装

  • 方法一

    Netdata最简单的一种安装方式就是直接使用官方的脚本进行一键安装

    bash <(curl -Ss https://my-netdata.io/kickstart-static64.sh)
    # Ubuntu的包管理器不确定有没有  sudo apt-get install netdata
    
  
当出现如下信息后,就代表安装成功了```bash-------------------------------------------------------------------------------OK. NetData is installed and it is running (listening to *:19999).-------------------------------------------------------------------------------INFO: Command line options changed. -pidfile, -nd and -ch are deprecated.If you use custom startup scripts, please run netdata -h to see thecorresponding options and update your scripts.Hit http://localhost:19999/ from your browser.To stop netdata, just kill it, with:killall netdataTo start it, just run it:/usr/sbin/netdataEnjoy!Uninstall script generated: ./netdata-uninstaller.sh

这时我们只需要打开http://localhost:19999/就可以看到NetData的默认界面了

在这里插入图片描述

[注]: NetData有汉化版,但是是第三方的包,出于安全考虑还是用官方的。
https://github.com/firehol/netdata (原版)
https://github.com/Fhaohaizi/netdata (汉化版本)
https://github.com/jasoncheng7115/netdata-cpatch (繁体汉化补丁[自行转简体]:html、js)

  • 方法二

    如果上述方法安装不成功的话,也可以使用下面的方法自行安装

    # 安装所需依赖项目
    sudo apt-get install zlib1g-dev uuid-dev libuv1-dev liblz4-dev libjudy-dev libssl-dev libmnl-dev gcc make git autoconf autoconf-archive autogen automake pkg-config curl# 克隆NetData的git仓库
    git clone https://github.com/netdata/netdata.git --depth=100# 进入netdata目录
    cd netdata/# 执行安装脚本,并启动NetData
    sudo ./netdata-installer.sh
    

四、NetData的基本操作

# 启动NetData服务,并设置开机启动
sudo systemctl enable netdata
sudo systemctl start netdata# 重启服务
sudo systemctl restart netdata# 停止NetData服务
sudo systemctl stop netdata# 更新NetData服务(重新拉去,重新运行)
cd netdata
git pull
sudo ./netdata-installer.sh

五、卸载NetData

我们独立的卸载程序能够删除由Shell安装程序创建的Netdata安装。它不需要运行任何其他Netdata存储库文件。它所需要的只是一个.environment文件,该文件是在安装过程中创建的(使用Shell默认安装程序)并放入${NETDATA_USER_CONFIG_DIR}/.environment(默认情况下/etc/netdata/.environment)。该文件包含一些传递给我们的安装程序的参数,这些参数在卸载过程中是必需的。主要需要两个参数:

NETDATA_PREFIXNETDATA_ADDED_TO_GROUPS

卸载工作流程如下所示:

  1. 查找您的.environment文件,这通常/etc/netdata/.environment是默认安装。
  2. 如果找不到该文件并想要卸载Netdata,则创建一个具有以下内容的新文件:
NETDATA_PREFIX = "<安装前缀>" # 将您用作参数的参数放置到shell已安装的--install标志中。否则应为空NETDATA_ADDED_TO_GROUPS ="<其他组>" # 运行Netdata进程的用户的其他组
  1. 运行netdata-uninstaller.sh如下:

    $ {NETDATA_PREFIX} /usr/libexec/netdata/netdata-uninstaller.sh --yes --env <environment_file>
    

[注]: 如果没有文件,现有安装可能仍需要下载文件。要在这种情况下执行卸载,请运行以下命令:

wget https://raw.githubusercontent.com/netdata/netdata/master/packaging/installer/netdata-uninstaller.shchmod + x ./netdata-uninstaller.sh./netdata-uninstaller.sh --yes --env  <environment_file>

默认environment_file值为/etc/netdata/.environment

[注]: 此卸载方法假定以前使用netdata-installer.sh或kickstart脚本进行安装。当前由软件包管理器安装Netdata时使用它可能会起作用或导致意外结果。如果是使用docker进行安装。

执行删除命令的过程中,它会让你确认有些文件是否需要删除,一般情况下,一路确定就可以了。

一切顺利的话,当你看到下面的画面就表示你已经安装成功了。

在这里插入图片描述


五、NetData的相关配置文件

NetData的核心配置可以通过cat /etc/netdata/netdata.conf或者http://127.0.0.1:19999/netdata.conf查看。

在这里插入图片描述

[注]: 上图矩形框部分内的为NetData的主要配置文件路径。

​ 如果觉得默认的仪表盘展示的图表太多,可以vim /etc/netdata/netdata.conf或者nano /etc/netdata/netdata.conf ,修改[plugins]中的配置。原配置文件中大部分默认开启的,如果我们不需要某些图表的话,可以将注释去掉,改为no。然后重启服务,就可以禁用相应的图表。

在这里插入图片描述

​ 禁用效果:

在这里插入图片描述

​ 如果觉得NetData占用的内存过大,也可以修改核心配置中的数据刷新率,来降低内存占用。

# 降低cpu占用:# 编辑:vim netdata.conf[global]update every = 2# 或者只修改apps部分:[plugin:apps]update every = 2

六、添加第三方扩展插件(NVIDIA-SMI)

[官方文档]: https://learn.netdata.cloud/docs/agent/collectors/python.d.plugin/nvidia_smi/

在新版NetData中,它自带nvidia显卡监控:

# vim /usr/lib/netdata/conf.d/python.d.confnvidia_smi: yes

[注]:但前提是你必须先确保安装好了nvidia-smi,且NVIDIA GPU必须支持该工具。

其次确保netdata用户可以执行/usr/bin/nvidia-smi或在您的二进制文件所在的任何位置。

生成配置文件:

# 使用官方提供的脚本,生成对用文件的配置文件
cd /etc/netdata   
sudo ./edit-config python.d/nvidia_smi.conf

在这里插入图片描述

# 官方文档提供样例
loop_mode    : yes  # 默认为yes。 如果设置为yes,则使用-l选项在单独的线程中执行nvidia-smi。
poll_seconds : 1      # 默认为1。设置循环查询nvidia-smi工具的频率(秒数)。

在这里插入图片描述


七、多设备监控

  • 方法一

    [官方文档]:https://learn.netdata.cloud/docs/agent/step-by-step/step-03

    使用官方提供的平台NetData Cloud

在这里插入图片描述

点击页面右上角的节点选项,即可进入官方平台。

在这里插入图片描述

通过邮箱或github账号,将设备与账号进行绑定。当我们使用平台绑定多个设备之后,就可以将多个设备的数据汇总到平台中进行浏览。

在这里插入图片描述

也可以使用左上角的下拉菜单进行自由切换。

在这里插入图片描述

[注]:虽然在官方文档中,作者一再强调,他们只会存储账号和绑定关系,但是仍然无法确定是否会发送服务器的状态给到其他人

  • 方法二

    [官方文档]:https://learn.netdata.cloud/docs/agent/streaming

    可以使用为需要监控的服务器建立主从关系,将其他服务器的数据同一汇总到一台服务器进行浏览

    节点服务器

    修改netdata.conf中的如下配置:

    [global]memory mode = none # 在此主机上禁用数据库。这也会禁用运行状况监视(没有数据库就无法进行运行状况监视)hostname = chenshaolang-MS-7817 # 修改配置名称
    [web]mode = none  # 禁用API(Netdata不会监听任何端口)。这也会禁用注册表(没有API的注册表将无法使用)。
    

    同时在同一目录下新建stream.conf并写入如下配置:

      [stream]enabled = yesdestination = 127.0.0.1:19999 # 主服务器的ip地址api key = 733d1bb7-91b1-4bcf-9a45-66ec2340316e   # api key是一个uuid格式的字符串,可以使用uuidgen命令生成。主要是提供给主服务器使用
    

    在这里插入图片描述

    重启服务:

      systemctl restart netdata
    

    主服务器

    在netdata.conf的同一目录下新建stream.conf并写入如下配置:

    [733d1bb7-91b1-4bcf-9a45-66ec2340316e]  # 刚才节点服务器生成的api keyenabled = yesdefault history = 3600default memory mode = savehealth enabled by default = auto allow from = *  # allow from可以设置数据流的允许来源以保证安全。如 allow from = 127.0.0.1 仅允许该ip连接
    

    [注]:如果有多个节点服务器,则一起写在stream.conf里面

    重启服务:

      systemctl restart netdata
    

    配置完后,我们就可以直接在主服务器上直接浏览所有节点服务器的情况了。

在这里插入图片描述

[注]:右上方箭头处,证明我没有登录官方的平台就是先多服务器数据连通。


八、报警器

[官方文档]:https://learn.netdata.cloud/docs/agent/step-by-step/step-05

事实上在我们安装好NetData时,官方就已经为我们预设了很多的报警器。我们直接点击上方的Alarms就可以进入。

在这里插入图片描述

同时它会定时记录每个时间段服务器的状况,并声称快照。当发现警报时,可以通过查阅历史,点击直接进入放生警报时服务器的状态。

在这里插入图片描述

如上图,在5月4日的时候,系统发生了一次警报。通过点击,直接进入发生状况时,系统的状态。

在这里插入图片描述

[注]: 但是这个功能需要登录他们的平台才能跳转,或者将数据存入数据库或者其他第三方监控软件。如Graphite,OpenTSDB,Prometheus,AWS Kinesis Data Streams,MongoDB

九、将监控数据存入后端

[官方文档]:https://learn.netdata.cloud/docs/agent/step-by-step/step-09

# 首先先安装数据库
sudo apt-get install mongodb# 然后安装相关的依赖
sudo apt-get install libmongoc-1.0-0 libmongoc-dev# 在数据库中新建一个名叫netdata的数据库
use netdata# 并在里面创建一张名叫netdata_metrics的表
db.createCollection("netdata_metrics")

然后在核心配置netdata.conf文件中,将数据发送到MongoDB后端的功能启用

在这里插入图片描述

接着Netdata配置目录中,运行sudo ./edit-config mongodb.conf并设置MongoDB URI,数据库名称和集合名称

在这里插入图片描述

然后重新启动NetData以启用MongoDB后端,当出现下面画面就表示配置成功,已经将数据存储进mongodb中。

在这里插入图片描述

在这里插入图片描述

[注]:这个之前按照官方文档的配置是不成功的,但是后面升级了pymongo,重启了一下就突然能用了。

pip3 uninstall pymongo bson

sudo pip3 install pymongo --upgrade

十、 创建自定义监控界面

[官方文档]:https://learn.netdata.cloud/docs/agent/step-by-step/step-08#why-should-i-create-a-custom-dashboard

NetData除了可以在默认的界面上进行相关图表的删除的添加之外,还支持自定义页面。

首先 我们在目录/usr/share/netdata/web下创建也页面custom-dashboard.html

<!DOCTYPE html>
<html lang="en">
<head><title>My custom dashboard</title><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"><meta name="viewport" content="width=device-width, initial-scale=1"><meta name="apple-mobile-web-app-capable" content="yes"><meta name="apple-mobile-web-app-status-bar-style" content="black-translucent"><script>var netdataTheme = 'slate';</script><!-- 添加dashboard.js,这样才能使用NetData的图表 --><script type="text/javascript" src="http://localhost:19999/dashboard.js"></script><style>.wrap {max-width: 1280px;margin: 0 auto;}h1 {margin-bottom: 30px;text-align: center;}.charts {display: flex;flex-flow: row wrap;justify-content: space-around;}.charts > div {margin-bottom: 6rem;position: relative;}</style></head>
<body><main class="wrap"><h1>My custom dashboard</h1><div class="charts"><!-- 添加相关图表格 --><div data-netdata="system.cpu"data-after="-300"data-height="250px"data-width="calc(50% - 2rem)"></div><div data-netdata="apps.cpu"data-after="-300"data-height="250px"data-width="calc(50% - 2rem)"></div><div data-netdata="groups.cpu"data-after="-300"data-height="250px"data-width="calc(50% - 2rem)"></div><div data-netdata="users.cpu"data-after="-300"data-height="250px"data-width="calc(50% - 2rem)"></div></div></main></body>
</html>

然后修改这个页面文件的权限,NetData有权限去直接访问它

sudo chown netdata:netdata /usr/share/netdata/web/custom-dashboard.html

配置完后,就可以直接使用http://127.0.0.1:19999/custom-dashboard.html进行登录查看。

在这里插入图片描述


很长一段时间没有在csdn中写文章了,事实上后面自己学习过程中的大部分文档都是在语雀中完成的,基本都是自己写自己看。后续文章都会分享到自己的个人博客上,感兴趣的话可以关注一下。个人博客地址


http://chatgpt.dhexx.cn/article/fYt87Flo.shtml

相关文章

netdata

导航 (返回顶部) 1. 概述2. 初级使用 2.1 使用截图2.2 仪表板帮助(滑鼠介面) 3. 扩展使用 3.1 查看当前配置3.2 启用远程访问3.3 也可运作在其他Web服务器(代理)上3.4 Netdata默认情况下通过Google Analytics&#xff08;分析&#xff09;收集匿名使用信息。3.5 繁体汉化补丁: …

Netdata,Linux性能实时监测工具

一&#xff0c;什么是Netdata Netdata是一个高度优化的Linux守护进程&#xff0c;它为Linux系统&#xff0c;应用程序&#xff0c;SNMP服务等提供实时的性能监测。 它用可视化的手段&#xff0c;将被监测者最细微的细节&#xff0c;展现了出来。这样&#xff0c;你便可以清晰…

Linux服务器监控的神器:Netdata(小白教程)快速搭建

发现了一个单机监控的Netdata&#xff0c;眼前着实为之一亮。 令人印象非常之深刻的个主要特性&#xff1a; 界面酷炫&#xff0c;实时监控零配置&#xff0c;即装即用 官网地址在这里&#xff1a; https://my-netdata.io/ Netdata的特点 netdata的主要功能&#xff0c;主要…

Netdata的百科全书

Netdata是系统和应用程序的分布式&#xff0c;实时&#xff0c;性能和健康监控。它是您在所有系统和容器上安装的高度优化的监视代理程序。 Netdata 使用高度交互的Web仪表板&#xff0c;实时提供其运行的系统&#xff08;包括Web服务器&#xff0c;数据库&#xff0c;应用程序…

【Netdata】性能监测工具介绍、安装、使用

一、工具介绍 Netdata是一款Linux系统实时性能监测工具&#xff0c;以web的可视化方式展示系统及应用程序的实时运行状态。前端响应快&#xff0c;UI很整洁&#xff0c;操作方面&#xff0c;支持图表重置&#xff0c;缩放。具体优点如下&#xff1a;界面酷炫&#xff1a;intera…

第一次面试

四月九号终于迎来了我的第一次面试&#xff0c;华为勇敢星实习面试。 投的软件测试工程师&#xff0c;华为有三道编程题AC一道就可以参加面试了。好久都没编程了&#xff0c;刷了半个月的题&#xff0c;心想最起码要AC一道&#xff0c;结果。。。就真只AC了一道。但是好歹进了面…

一路同行:开发者与华为云的2022

2022进入倒计时&#xff0c;年度回顾与展望总是必不可少的。对于科技创作者来说&#xff0c;我们最熟悉的群体就是开发者。这一年我们也参加了不少开发者活动&#xff0c;与大量开发者交流&#xff0c;并报道了很多开发者案例。 要形容这一年&#xff0c;茨威格的“人类群星闪耀…

华为——测开

一面 1、自我介绍 2、TCP UDP的区别 &#xff08;1&#xff09; TCP面向连接&#xff08;如打电话要先拨号建立连接&#xff09;;UDP是无连接的&#xff0c;即发送数据之前不需要建立连接 &#xff08;2&#xff09; TCP提供可靠的服务、也就是说&#xff0c;通过TCP连接传输的…

华为2018勇敢星实习软件类笔试(3题)4.10版

1.字符串重排 如图 主要思路是将数字、字母出现的数量用数组f进行记录&#xff0c;按序输出就行。 #include<iostream> #include<string> using namespace std;int main() {char a[1000];int n0;cin.getline(a,1000);while(a[n]!\0){}n--;int f[62]{0};for (int …

华为2018届校招勇敢星实习生招聘笔试+面试经历

写在前面 之前一直在忙期末&#xff0c;最近才歇了下来&#xff0c;来总结一下之前参加华为2018届勇敢星实习生笔试面试(研发类)并顺利拿到offer的经历。 我是在微信上投的Android研发实习生岗&#xff0c;很快就收到通知&#xff0c;于3.24晚上参加的在线笔试。今年华为的实习…

华为2020届勇敢星面试经历--研发岗

华为2020届勇敢星–研发岗 本人大三下&#xff0c;学校985&#xff0c;软件工程小菜一枚&#xff0c;人生第一次参加招聘&#xff0c;下面说说我的华为勇敢星实习生经历吧。 参加勇敢星实习生的几个步骤&#xff1a;投递简历->笔试->性格测试->技术面试->综合面试-…

【翻译】2020年云安全综合指南(风险,最佳实践,认证)

翻译自&#xff1a;https://kinsta.com/blog/cloud-security/#what-is-kaspersky-security-cloud 云安全性包含技术&#xff0c;控件&#xff0c;流程和策略&#xff0c;这些技术&#xff0c;控件&#xff0c;流程和策略结合起来可以保护基于云的系统&#xff0c;数据和基础架…

到底如何保证线程安全,总结得太好了!

点击关注公众号&#xff0c;回复“2T”获取2TB学习资源&#xff01; 互联网架构师后台回复 2T 有特别礼包 上一篇&#xff1a;IT界惊现文豪&#xff01;华为领导及阿里P10遭吐槽 一、线程安全等级 之前的博客中已有所提及“线程安全”问题&#xff0c;一般我们常说某某类是线程…

面试管:用了HTTPS就安全了吗?HTTPS 会被抓包吗?

点击上方“码农突围”&#xff0c;马上关注 这里是码农充电第一站&#xff0c;回复“666”&#xff0c;获取一份专属大礼包 真爱&#xff0c;请设置“星标”或点个“在看”来源&#xff1a;suo.im/61KOg3 随着 HTTPS 建站的成本下降&#xff0c;现在大部分的网站都已经开始用上…

解读「网络安全」SQL注入攻击

福利&#xff1a;[网络安全重磅福利&#xff1a;入门&进阶全套282G学习资源包免费分享 &#xff01;] 我们生活在数据的黄金时代。有些公司将其分析为更好的自己&#xff0c;有些公司为了获利而进行交易&#xff0c;没有一家公司因其价值而自由放弃 - 对于他们的业务和犯罪…

955.WLB 不加班公司名单新增 6 家公司,移出 1 家公司!

点击上方 "程序员小乐"关注, 星标或置顶一起成长 后台回复“大礼包”有惊喜礼包&#xff01; 关注订阅号「程序员小乐」&#xff0c;收看更多精彩内容 每日英文 No one can suffer for you, and no one takes your strong. 没有人能替你承受&#xff0c;也没有人拿得…

955,远程办公,这家公司要落地杭州了!

今年年初的时候&#xff0c;因为疫情严重&#xff0c;大部分公司都开启了在家远程办公的模式&#xff0c;所有工作都通过线上沟通和解决&#xff0c;得益于此&#xff0c;很多做企业通信协作的软件大涨了一波&#xff0c;美滋滋。远程这个关键词在百度指数一度涨了超过一倍。 远…

【服务器搭建个人网站】附:接入的服务商 以及 安全评估报告该如何填写?

前言 哈喽&#xff0c;大家好&#xff0c;我是木易巷&#xff01; 关于公安备案的一些详细的细节没有分享出来&#xff0c;在公安备案期间要填写很多东西&#xff0c;其中比较难填写的就是接入的服务商和安全评估报告的填写。 这一篇给大家总结&#xff1a;公安备案接入服务商和…

[CTF]公司“DSFM-圣诞狂欢”杯安全技能赛writeup

1. Hello everyone 2048的小游戏&#xff0c;不用真正打通关&#xff0c;直接F12即可。 2. 数论 sm*p%q&#xff0c;要求出m&#xff0c;就可以得到flag。 python脚本&#xff1a; p int(0x9dfe6f4722f783589a955fe381d0308541dc2af910f525008b6265a294eff48846343c59,16)…

「网络安全」SQL注入攻击的真相

我们生活在数据的黄金时代。有些公司将其分析为更好的自己&#xff0c;有些公司为了获利而进行交易&#xff0c;没有一家公司因其价值而自由放弃 - 对于他们的业务和犯罪分子。 SQL&#xff08;结构化查询语言&#xff09;是一种非常流行的与数据库通信的方式。虽然许多新数据…