(转!)Netdata---Linux系统性能实时监控平台部署
我一直以为人是慢慢变老的,其实不是,人其实是一瞬间变老的。
-------村上春树《舞!舞!舞!》
转自https://www.cnblogs.com/kevingrace/p/7300191.html
通常来说,作为一个Linux的SA,很有必要掌握一个专门的系统监控工具,以便能随时了解系统资源的占用情况。下面就介绍下一款Linux性能实时监测工具-Netdata,它是Linux系统实时性能监测工具,以web的可视化方式展示系统及应用程序的实时运行状态(包括cpu、内存、硬盘输入/输出、网络等linux性能的数据)。Netdata的web前端响应很快,而且不需要Flash插件。 UI很整洁,保持着 Netdata 应有的特性。第一眼看上去,你能够看到很多图表,幸运的是绝大多数常用的图表数据(像 CPU,RAM,网络和硬盘)都在顶部。如果你想深入了解图形化数据,你只需要下滑滚动条,或者点击在右边菜单的项目。通过每个图表的右下方的按钮,Netdata还能控制图表的显示,重置,缩放。Netdata文档地址:https://github.com/firehol/netdata/wiki
Netdata用可视化的手段,将被监测者最细微的细节,展现了出来。这样便可以清晰地了解linux系统和应用程序此时的状况。Netdata主要功能:
1
2
3
4
5
6
7
8
9
10
11
12
|
优美的界面:bootstrap框架下的控制界面, 酷炫(主要是dark主题,light主题就没这感觉了) 自定义的控制界面:你可以使用简单的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目前检测的内容(大多数都不需要进行配置,安装后即可开始监测)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
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服务,不过你需要进行配置,还可以对此软件进行扩展,可以使用任何语言编写插件,以此来从任何来源收集数据 |
下面简单记录下Netdata的部署过程(Cetnos下):
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
netdata下载地址:http: //firehol .org /download/netdata/releases/v1 .0.0/ autogen下载地址:http: //ftp .gnu.org /gnu/autogen/5 .11.8/ [root@monit ~] # yum install zlib-devel gcc make git autoconf autogen guile-devel automake pkgconfig [root@monit ~] # rpm -ivh autogen-5.11.8-5.x86_64.rpm --force //yum安装autogen可能会报错说没有此包,那么就单独下载autogen的rpm包进行安装 [root@monit ~] # tar -jvxf netdata-1.0.0.tar.bz2 [root@monit ~] # cd netdata-1.0.0 [root@monit netdata-1.0.0] # ./netdata-installer.sh --install /data 按照上面命令执行后的提示进行安装,安装后,netdata会自动重启。端口为19999 [root@monit ~] # ps -ef|grep netdata netdata 10976 1 0 17:01 ? 00:00:03 /data/netdata/usr/sbin/netdata netdata 10982 10976 0 17:01 ? 00:00:00 /bin/bash /data/netdata/usr/libexec/netdata/plugins .d /tc-qos-helper .sh 1 netdata 10984 10976 0 17:01 ? 00:00:07 /bin/bash /data/netdata/usr/libexec/netdata/plugins .d /charts .d.plugin 1 root 10986 10976 0 17:01 ? 00:00:04 /data/netdata/usr/libexec/netdata/plugins .d /apps .plugin 1 netdata 29395 10982 0 17:22 ? 00:00:00 sleep 0.998 netdata 29401 10984 0 17:22 ? 00:00:00 sleep 0.2 root 29403 25980 0 17:22 pts /0 00:00:00 grep netdata [root@monit ~] # lsof -i:19999 COMMAND PID USER FD TYPE DEVICE SIZE /OFF NODE NAME netdata 10976 netdata 3u IPv6 499147 0t0 TCP *:dnp-sec (LISTEN) 启动与关闭 启动: /data/netdata/usr/sbin/netdata 关闭:killall netdata |
或者通过下面方式进行安装:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
1) 安装准备 Netdata提供了一个非常简便的安装方法,只需要执行下面的命令即可完成安装netdata所依赖的各种东西: # curl -Ss 'https://raw.githubusercontent.com/firehol/netdata-demo-site/master/install-required-packages.sh' >/tmp/kickstart.sh && bash /tmp/kickstart.sh -i netdata 注意,上面的命令是安装基本的部分,不包括mysql / mariadb, postgres, named, hardware sensors and SNMP. 如果要完整安装,则需要执行下面的命令: # curl -Ss 'https://raw.githubusercontent.com/firehol/netdata-demo-site/master/install-required-packages.sh' >/tmp/kickstart.sh && bash /tmp/kickstart.sh -i netdata-all 2) 安装Netdata 安装Netdata也很简单,按照wiki的说明即可: # git clone https://github.com/firehol/netdata.git --depth=1 # cd netdata # ./netdata-installer.sh 注意上面要使用root权限,执行命令后的提示信息也很丰富有趣 安装完后,还可以根据wiki所说的配置开机启动,照做之后执行service netdata start启动服务,可以访问http: //localhost :19999/ 看到监控界面。 |
Netdata的访问,http://localhost:19999 运行动态效果图如下:
Netdata backend
Netdata也可以后台服务收集监控指标,多服务器的监控指标汇总到前台展示,或者归档汇总后提供给其他工具如grafana, 如下图:
Netdata支持如下几个backends:
- graphite;
- opentsdb;
- json document DBs.
Netdata还提供了3种计算模式:
- as collected;
- average;
- sum or volume。
具体的可以到netdata wiki查看。利用这种方式,应该也较容易能够折腾出来一个集群监控的解决方案,并且netdata和grafana的界面看起来都非常的酷炫!
(转!)Netdata---Linux系统性能实时监控平台部署的更多相关文章
- Netdata---Linux系统性能实时监控平台部署记录
通常来说,作为一个Linux的SA,很有必要掌握一个专门的系统监控工具,以便能随时了解系统资源的占用情况.下面就介绍下一款Linux性能实时监测工具-Netdata,它是Linux系统实时性能监测工具 ...
- Centos8.X 搭建Grafana+Jmeter+Influxdb 性能实时监控平台
前言 本篇文章引用了小菠萝测试笔记,大部分内容非原创,基于自身实操过程中,完善了部分. 本篇随笔是在Linux上搭建的,后面会补充在docker以及k8s上如何部署安装 工具介绍 工具 介绍 Jmet ...
- 全网最详细!Centos7.X 搭建Grafana+Jmeter+Influxdb 性能实时监控平台
背景 日常工作中,经常会用到Jmeter去压测,毕竟LR还要钱(@¥&*...),而最常用的接口压力测试,我们都是通过聚合报告去查看压测结果的,然鹅聚合报告的真的是丑到家了,作为程序猿这当然不 ...
- Linux 系统实时监控的瑞士军刀 —— Glances
Linux 系统实时监控的瑞士军刀 —— Glances 对于 RHEL/CentOS/Fedora 发行版 ## RHEL/CentOS 7 64-Bit ## # wget http://dl.f ...
- window平台基于influxdb + grafana + jmeter 搭建性能测试实时监控平台
一.influxdb 安装与配置 1.1 influxdb下载并安装 官网无需翻墙,但是下载跳出的界面需要翻墙,我这里提供下载链接:https://dl.influxdata.com/influxdb ...
- Centos7.X 搭建Grafana+Jmeter+Influxdb 性能实时监控平台(不使用docker)
工具介绍 [centos7安装influxDB] Influxdata官网下载路径:https://portal.influxdata.com/downloads/ 1.直接执行以下命令安装 2.安装 ...
- Linux服务器安装zabbix监控平台
zabbix是基于web界面的开源分布式监控平台,可以监控各种服务器的配置参数,支持自定义配置和自定义告警,并且可以实现邮件.短信等方式的告警,zabbix基本组件如下: zabbix_server: ...
- 搭建jmeter+influxdb+grafana压测实时监控平台(超详细,小白适用)
1.前言 在使用jmeter做性能测试的时候,监控系统性能的时候,无论是使用插件还是报告生成,都没法实现实时监控.使用JMeter+Influxdb+Grafana可以实现实时监控. 本次环境搭建各软 ...
- Zabbix3.4监控平台部署
环境依赖 CentOS 7.3 + PHP5.4 + MariaDB + Nginx Zabbix Server 3.4.1 环境要求 12 CPU ,最少8 CPU 32G 内存,最少16G 1T ...
随机推荐
- php file文件操作函数
filemtime() 函数: filemtime() 函数返回文件内容上次的修改时间. 若成功,则时间以 Unix 时间戳的方式返回.若失败,则返回 false. <?php echo fil ...
- Python seek和tell
f = open("胡辣汤", mode="r+", encoding="utf-8") f.seek(0,2) # 移动到末尾 conte ...
- Redis学习第五课:Redis Set类型及操作
Set是集合,它是string类型的无序集合.set是通过hash table实现的,添加.删除和查找的复杂度都是O(1). 对集合我们可以取并集.交集.差集.通过这些操作我们可以实现SNS中的好友推 ...
- OC基础:类的扩展.协议 分类: ios学习 OC 2015-06-22 19:22 34人阅读 评论(0) 收藏
//再设计一个类的时候,有些方法需要对外公开(接口),有些仅供内部使用. 类的扩展:为类添加新的特征(属性)或者方法 对已知类: 1.直接添加 2.继承(在其子类中添加实例变量和方法) 3.使用ext ...
- 很全面的WinRAR实用技巧系列 - imsoft.cnblogs
WinRAR也可以管理我的桌面时间长了,桌面上堆的东西实在太多,平时该如何管理呢?安装了WinRAR的朋友可以请它来帮忙,用它管理清除无用的桌面文件或图标. 以XP系统为例,系统所在目录是“c:\wi ...
- CF1096:D. Easy Problem(DP)
Vasya is preparing a contest, and now he has written a statement for an easy problem. The statement ...
- HPU 1437: 王小二的求值问题
1437: 王小二的求值问题 时间限制: 1 Sec 内存限制: 128 MB提交: 141 解决: 31 统计 题目描述 题意超级简单,求一个序列的次大值. 输入 多组输入,每个测试实例占两行,包括 ...
- setsebool命令详解与SELinux管理
setsebool命令是用来修改SElinux策略内各项规则的布尔值.setsebool命令和getsebool命令是SELinux修改和查询布尔值的一套工具组.SELinux的策略与规则管理相关命令 ...
- Hadoop之HDFS
摘要:HDFS是Hadoop的核心模块之一,围绕HDFS是什么.HDFS的设计思想和HDFS的体系结构三方面来介绍. 关键词:Hadoop HDFS 分布式存储系统 HDFS是Hadoop的核心 ...
- Java 中的语法糖(7/15整个周六上午总结)
语法糖定义指的是,在计算机语言中添加某种语法,这种语法能使程序员更方便的使用语言开发程序,同时增强程序代码的可读性,避免出错的机会:但是这种语法对语言的功能并没有影响.Java中的泛型,变长参数,自动 ...