NetData简介
NetData 是一个用于系统和应用的分布式实时性能和健康监控工具。它提供了对系统中实时发生的所有事情的全面检测。你可以在高度互动的 Web 仪表板中查看结果。使用 Netdata,你可以清楚地了解现在发生的事情,以及之前系统和应用中发生的事情。你无需成为专家即可在 Linux 系统中部署此工具。NetData 开箱即用,零配置、零依赖。只需安装它然后坐等,之后 NetData 将负责其余部分。
优点
界面友好:bootstrap框架下的控制界面, 酷炫(主要是dark主题)
自定义的控制界面:你可以使用简单的HTML代码去自定义控制界面(不需要使用javascript)
极其的快速而高效:程序使用C进行编写(默认安装下,预计只有2%的单核CPU使用率和少许的内存使用率)
零配置:你只需要去安装它,接着它就会自动地监测一切数据
零依赖:它的静态网络文件和网络接口拥有自己的网络服务器. netdata有自己的web server, 提供静态web文件和web API
可扩展:用它自身的插件API(可以使用许多方式来制作它的插件,从
bash
到node.js),你可以检测任何可以衡量的数据。
可嵌入:它可以在任何Linux内核可以运行的地方运行
零维护:只管跑上
匪夷所思的快。。。所有请求每个metreic都在0.5ms内响应,即便是一台烂机器
非常高效,每秒采集数千个指标,但仅占cpu单核1%,少量MB的内存以及完全没有磁盘IO
提供复杂的、各种类型的告警,支持动态阈值、告警模板、多种通知方式等
支撑多种时间序列后端服务,比如graphite, opentsdb, prometheus, json document DBs
安装方法一
Netdata最简单的一种安装方式就是直接使用官方的脚本进行一键安装
bash <(curl -Ss https://my-netdata.io/kickstart-static64.sh)
当出现如下信息后,就代表安装成功了
-------------------------------------------------------------------------------
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 the
corresponding options and update your scripts.
Hit http://localhost:19999/ from your browser.
To stop netdata, just kill it, with:
killall netdata
To start it, just run it:
/usr/sbin/netdata
Enjoy!
Uninstall script generated: ./netdata-uninstaller.sh
安装方法二
如果上述方法安装不成功的话,也可以使用下面的方法自行安装
安装依赖
sudo apt install zlib1g-dev gcc make git autoconf autogen automake pkg-config uuid-dev
或
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
优先第一条命令
cd /home
wget https://github.com/netdata/netdata/releases/download/v1.13.0/netdata-v1.13.0.tar.gz //可能不是最新版
//可前往 https://github.com/netdata/netdata/releases 找到最新的版本
tar -xvf netdata-v1.13.0.tar.gz
cd netdata-v1.13.0/
sudo ./netdata-installer.sh
按Enter
继续安装。之后在输出的末尾,将看到以下消息:
--- We are done! ---
^
|.-. .-. .-. .-. .-. . netdata .-. .-
| '-' '-' '-' '-' '-' is installed and running now! -' '-'
+----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+--->
enjoy real-time performance and health monitoring...
此时已安装完成。为Netdata的内部Web服务器打开端口19999 ,开放防火墙端口。
sudo ufw allow 19999/tcp
iptables -I INPUT -p tcp --dport 19999 -j ACCEPT
iptables-save
在浏览器中访问 http://server:19999/
来查看监控界面。
NetData的基本操作
(安装成功后 服务默认开启)
a、关闭服务 :root@ubuntu:/opt/netdata# killall netdata
b、开启服务 :root@ubuntu:/opt/netdata/usr/sbin# ./netdata 注:必须在sbin路径下执行
创建自定义监控界面
[官方文档]:https://learn.netdata.cloud/docs/agent/step-by-step/step-08#why-should-i-create-a-custom-dashboard
在目录/usr/share/netdata/web
下创建也页面custom-dashboard.html
。
<!DOCTYPE html>
<html lang="en">
<head>
<title>我的数据</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的图表 需要更改ip -->
<script type="text/javascript" src="http://服务器ip: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>我的自定义数据</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 /opt/netdata/usr/share/netdata/web/custom-dashboard.html
配置完后,就可以直接使用http://ip:19999/custom-dashboard.html
进行登录查看。
支持监控的内容
1.CPU的使用率,中断,软中断和频率(总量和每个单核)
2.RAM,互换和内核内存的使用率(包括KSM和内核内存deduper)
3.硬盘输入/输出(每个硬盘的带宽,操作,整理,利用等)
4.IPv4网络(数据包,错误,分片):
TCP:连接,数据包,错误,握手
UDP:数据包,错误
广播:带宽,数据包
组播:带宽,数据包
5.Netfilter
/iptables
Linux防火墙(连接,连接跟踪事件,错误等)
6.进程(运行,受阻,分叉,活动等)
7.NFS文件服务器,v2,v3,v4(输入/输出,缓存,预读,RPC调用)
8.网络服务质量(唯一一个可实时可视化网络状况的工具)
9.应用程序,通过对进程树进行分组(CPU,内存,硬盘读取,硬盘写入,交换,线程,管道,套接字等)
10.Apache Web服务器状态(v2.2, v2.4)
11.Nginx Web服务器状态
12.Mysql数据库(多台服务器,单个显示:带宽,查询
/s
, 处理者,锁,问题,临时操作,连接,二进制日志,线程,innodb引擎等)
13.ISC Bind域名服务器(多个服务器,单个显示:客户,请求,查询,更新,失败等)
14.Postfix邮件服务器的消息队列(条目,大小)
15.Squid代理服务器(客户带宽和请求,服务带宽和请求)
16.硬件传感器(温度,电压,风扇,电源,湿度等)
17.NUT UPSes(负载,充电,电池电压,温度,使用指标,输出指标)
可以监测任意数量的SNMP服务,不过你需要进行配置,还可以对此软件进行扩展,可以使用任何语言编写插件,以此来从任何来源收集数据
暂无评论
要发表评论,您必须先 登录