ubuntu下性能和健康监控工具NetData的安装及使用

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服务,不过你需要进行配置,还可以对此软件进行扩展,可以使用任何语言编写插件,以此来从任何来源收集数据

Jinming

95后典型金牛座,强迫症。

相关推荐

暂无评论

小程序 小程序
小程序