界面酷炫,功能强大!这款 Linux 性能实时监控工具超好用!
对于维护、管理Linux系统来说,它的性能监控非常重要,特别是实时监控数据,这个数据有利于我们判断服务器的负载压力,及时调整资源调配,也有助于更好的服务于业务。所以,今天民工哥给大家安利一款 Linux 性能实时监测工具:Netdata。
先搞张效果图大家先look look
Netdata介绍
Netdata是一款Linux系统性能实时监控工具。是一个高度优化的Linux守护进程,可以对Linux系统、应用程序(包括但不限于Web服务器,数据库等)、SNMP服务等提供实时的性能监控。
Netdata用可视化的手段,将其被监控的信息展现出来,以便你清楚的了解到你的系统、程序、应用的实时运行状态,而且还可以与Prometheus,Graphite,OpenTSDB,Kafka,Grafana等相集成。
Netdata是免费的开源软件,目前可在Linux,FreeBSD和macOS以及从它们衍生的其他系统(例如Kubernetes和Docker)上运行。
Netdata仓库地址:https://github.com/netdata/ne...
Netdata特性
- 1、友好、美观的可视化界面
- 2、可自定义的控制界面
- 3、安装快速且高效
- 4、配置简单,甚至可零配置
- 5、零依赖
- 6、可扩展,自带插件API
- 7、支持的系统平台广
Netdata是如何工作的?
Netdata是一个高效,高度模块化的指标管理引擎。它的无锁设计使其非常适合度量标准上的并发操作。
上图的各个组件的作用描述,有兴趣的可以参考官方的说明,这里不再赘述了。
Netdata可监控什么?
Netdata可以收集来自200多种流行服务和应用程序的指标,以及数十种与系统相关的指标,例如CPU,内存,磁盘,文件系统,网络等。我们将这些收集器称为,它们由插件管理,该插件支持多种编程语言,包括Go和Python。
流行的收集器包括Nginx,Apache,MySQL,statsd,cgroups(容器,Docker,Kubernetes,LXC等),Traefik,Web服务器access.log文件等。
详细的支持列表请参考下面的说明:https://github.com/netdata/ne...
Netdata安装
1、直接安装
首先需要更新升级系统内核和一些依赖库文件
[root@CentOS7-1 ~]# yum update -y
如果没有操作,你在直接安装时会出现下面的提示,输入y让系统自动更新也是可以的。
执行完更新操作后,直接执行下面的命令进行安装Netdata。
[root@CentOS7-1 ~]# bash <(curl -Ss https://my-netdata.io/kickstart.sh)
然后,程序会自动执行安装动作,去下载一系列的包进行安装,中间需要确认操作一次,如下:
可能会由于访问国外的资源,和根据你的网络关系,等待的时间或长或短。
一些关键的信息,从安装过程中也是可以看的出来的,如上图。
从上图信息可以看出访问方法,启动、停止服务的命令。
安装完成如下图
显示Netdata已经启动完成,我们可以使用命令来查看一下是否启动完成?
[root@CentOS7-1 ~]# lsof -i :19999
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
netdata 14787 netdata 4u IPv4 27995 0t0 TCP *:dnp-sec (LISTEN)
netdata 14787 netdata 5u IPv6 27996 0t0 TCP *:dnp-sec (LISTEN)
[root@CentOS7-1 ~]# ps -ef|grep netdata
netdata 14787 1 2 23:24 ? 00:00:06 /usr/sbin/netdata -P /var/run/netdata/netdata.pid -D
netdata 14800 14787 0 23:24 ? 00:00:00 /usr/sbin/netdata --special-spawn-server
netdata 14954 14787 0 23:24 ? 00:00:01 bash /usr/libexec/netdata/plugins.d/tc-qos-helper.sh 1
netdata 14974 14787 0 23:24 ? 00:00:02 /usr/bin/python /usr/libexec/netdata/plugins.d/python.d.plugin 1
root 14975 14787 1 23:24 ? 00:00:04 /usr/libexec/netdata/plugins.d/ebpf.plugin 1
netdata 14976 14787 0 23:24 ? 00:00:01 /usr/libexec/netdata/plugins.d/go.d.plugin 1
netdata 14977 14787 1 23:24 ? 00:00:05 /usr/libexec/netdata/plugins.d/apps.plugin 1
root 15277 1149 0 23:29 pts/0 00:00:00 grep --color=auto netdata
2、Docker方式安装
首先准备Docker环境,然后直接执行下面的命令即可完成安装操作。
docker run -d --name=netdata
-p 19999:19999
-v netdatalib:/var/lib/netdata
-v netdatacache:/var/cache/netdata
-v /etc/passwd:/host/etc/passwd:ro
-v /etc/group:/host/etc/group:ro
-v /proc:/host/proc:ro
-v /sys:/host/sys:ro
-v /etc/os-release:/host/etc/os-release:ro
--restart unless-stopped
--cap-add SYS_PTRACE
--security-opt apparmor=unconfined
netdata/netdata
安装完成后,就可以通过下面的方式进行访问了。
界面展示
1、总体数据界面
2、内存
3、CPU
4、磁盘
5、网络
6、应用
7、网络接口
8、数据同步功能
Netdata仪表板上的图表彼此同步,没有主图表。可以随时平移或缩放任何图表,其他所有图表也将随之出现。
通过使用鼠标拖动可以平移图表。当鼠标指针悬停在图表上时,可以使用SHIFT+ 放大/缩小mouse wheel图表。
Netdata强大之处
之所以如此强大,是因为它与各类应用的配合与支持,直接上图说明:
Netdata集群管理方案
上面展示的只是单一服务器的监控数据,而且netdata有一个缺点就是所有被监控的服务器都需要安装agent,所以,这里就是出现一个问题,就是如何将监控数据统一管理与展示?
netdata官方并没设计主从模式,像zabbix那样,可以一台做为主服务器,其它的做为从服务器,将数据收集到主服务器统一处理与展示,但是,官方也给出了相关的解决方案。
- 1、netdata.cloud
使用自带的 netdata.cloud,也就是每一个安装节点WEB界面右上角的signin。只要我们使用同一个账号登录netdata.cloud(需要kexue上网),之后各个节点之间就可以轻松通过一个账号控制。每个节点开启19999端口与允许管理员查看数据,然后控制中心通过前端从各节点的端口收集的数据,传给netdata.cloud记录并展示。
这是一种被动的集群监控,本质上还是独立的机器,且不方便做自定义的集群dashboard。
- 2、stream 插件
所以,为了解决上面这种方案的弊端,netdata又提供了另一种方法,将各节点的数据集中汇总到一台(主)服务器,数据处理也在这台服务器上,其它节点无需开放19999端口。 算是一种主动传输模式,把收集到的数据发送到主服务器上,这样在主服务器上可以进行自定义的dashboard开发。
缺点:主服务器流量、负载都会比较大(在集群服务器数量较多的情况下),如果主服务器负载过高,我们可以通过设置节点服务器的数据收集周期(update every)来解决这个问题。
Netdata集群监控配置
很多文章都只是介绍了其安装与一些界面的展示结果,并没有提供集群监控这一解决方案与其具体的配置,民工哥也是查了很多的资料,现在将其配置过程分享给大家。
对于streaming的配置不熟悉的可以参考官方的文档说明:https://docs.netdata.cloud/st...
1、节点服务器配置
[root@CentOS7-1 ~]# cd /etc/netdata/
[root@CentOS7-1 netdata]# vim netdata.conf
#修改配置如下
[global]
memory mode = none
hostname = [建议修改成你的主机名]
[web]
mode = none
然后,在/etc/netdata/目录下新建一个文件stream.conf,然后将其配置为如下:
[stream]
enabled = yes
destination = MASTER_SERVER_IP:PORT
api key = xxxx-xxxx-xxxx-xxxx-xxxx #参数说明如下
destination = MASTER_SERVER_IP:PORT 主服务器地址与端口
api key 必需为uuid的字符串,Linux系统中可以使用下面的命令自动生成。
[root@CentOS7-1 netdata]# uuidgen
480fdc8c-d1ac-4d6f-aa26-128eba744089
配置完成之后,需要重启节点的netdata服务即可完成整个配置。
[root@CentOS7-1 ~]# systemctl restart netdata
2、主服务器配置
在netdata.conf的同一目录下新建stream.conf并写入如下配置:
[API_KEY]/[480fdc8c-d1ac-4d6f-aa26-128eba744089]
enabled = yes
default history = 3600
default memory mode = save
health enabled by default = auto
allow from = *
[API_KEY]
enabled = yes
default history = 3600
default memory mode = save
health enabled by default = auto
allow from = *
#其中,API_KEY对应节点服务器的api key(字符串),allow from可以设置数据流的允许来源以保证安全。
#如果有多个节点服务器,则一起写在stream.conf里面
完成配置后重启netdata:
systemctl restart netdata
所有的配置完成后,就可以在主服务器的WEB界面右上角看到下拉菜单(主机名),点击即可看到相关的监控信息了。
如果需要自定义控制面板,可以参考官方的文档,去修改xml文件。 原文地址:https://docs.netdata.cloud/we...
到这里,这款实用、酷炫的服务器性能实时监控工具就介绍完了,原创不易,如有帮助,请点在赞、转发分享支持一下民工哥,你们支持是我最大的创作动力。
界面酷炫,功能强大!这款 Linux 性能实时监控工具超好用!的更多相关文章
- Netdata 是一款 Linux 性能实时监测工具
具体的netdata介绍请参照GIT:https://github.com/firehol/netdata/wiki 以下只介绍centos下的netdata的安装与使用: 1.安装Netdata需要 ...
- Netdata安装和使用(Linux 性能实时监测工具)
Netdata 是一款 Linux 性能实时监测工具..以web的可视化方式展示系统及应用程序的实时运行状态(包括cpu.内存.硬盘输入/输出.网络等linux性能的数据). Netdata文档地址: ...
- Linux性能实时监测工具netdata安装配置
netdata:功能强大的实时性能检测工具,展示地址. github地址:https://github.com/firehol/netdata 本文介绍在CentOS 6.7下安装netdata 1. ...
- Linux CPU实时监控工具
注:ubuntu需要安装sysstat: sudo apt install sysstat [root@testDb ~]# mpstat 1 10 ---显示操作系统内核版本 以及硬件配置 ...
- Linux性能实时监测工具 Netdata
http://www.oschina.net/p/netdata?fromerr=hjJMgUjE#rd
- Netdata Linux下性能实时监测工具
导读 本文将介绍一款非常好用的工具——Netdata,这是一款Linux性能实时监测工具,为一款开源工具,我对其英文文档进行了翻译,水平有限,有翻译错误的地方欢迎大家指出,希望本文对大家有所帮助,谢谢 ...
- WSingle主题 – 可能是最好的WordPress小说主题,美观大方,功能强大
今天,waitig给大家带来了一款强大WordPress小说主题 – WSingle主题. 一.概览 WSingle主题2.0版本已经发布,点击查看详情:[重磅]WSingle主题2.0版本发布,新增 ...
- Linux 性能分析工具汇总合集
出于对Linux操作系统的兴趣,以及对底层知识的强烈欲望,因此整理了这篇文章.本文也可以作为检验基础知识的指标,另外文章涵盖了一个系统的方方面面.如果没有完善的计算机系统知识,网络知识和操作系统知识, ...
- 20个常用Linux性能监控工具/命令
20个常用Linux性能监控工具/命令 对于 Linux/Unix 系统管理员非常有用的并且最常用的20个命令行系统监视工具.这些命令可以在所有版本的 Linux 下使用去监控和查找系统性能的实际原因 ...
随机推荐
- 教会舍友玩 Git (再也不用担心他的学习)
舍友长大想当程序员,我和他爷爷奶奶都可高兴了,写他最喜欢的喜之郎牌Git文章,学完以后,再也不用担心舍友的学习了(狗头)哪里不会写哪里 ~~~ 一 先来聊一聊 太多东西属于,总在用,但是一直都没整理的 ...
- 4.FFMPEG-AVFrame
在ffmpeg中,解码前的数据结构体为AVPacket(参考:3.AVPacket使用),而解码后的数据为AVFrame(视频的YUV, RGB, 音频的PCM,数据量更大) 1.AVFrame介绍 ...
- latex tips
latex tips latex 插入图片 主要是插入图片位置的问题,代码中的 bb= 决定了插入 fig2.eps 图片的某一方形区域,其中 表示该方形区域的左下角像素坐标是 0 0 ...
- [程序员代码面试指南]二叉树问题-找到二叉树中的最大搜索二叉树(树形dp)
题意 给定一颗二叉树的头节点,已知所有节点的值都不一样,找到含有节点最多的搜索二叉子树,并返回这个树的头节点. 题解 在后序遍历过程中实现. 求解步骤按树形dp中所列步骤.可能性三种:左子树最大.右子 ...
- 升级微服务架构1:搭建Eureka Server服务中心
Spring Cloud中使用Eureka来做服务注册和发现,来统一管理微服务实例. 1.使用IDEA创建一个空的Maven项目做父模块 (也可以不用父项目,所有模块都用平行结构) 删除父模块src文 ...
- 对OAuth2.0协议的理解和测试demo
1. 什么是OAuth OAuth(开放授权)是一个开放标准,允许用户授权第三方网站访问他们存储在另外的服务提供者上的信息,而不需要将用户名和密码提供给第三方网站或分享他们数据的所有内容. OAuth ...
- 数据库SQL调优的几种方式
1.创建索引 (1) 要尽量避免全表扫描,首先应考虑在where 及order by涉及的列上建立索引 (2) 在经常需要进行检索的字段上创建索引,一个表中的索引最好不要超过6个 2.避免在索引上使用 ...
- Socket 核心原理分享
Socket 的个人故事.希望通过这篇文章让你弄懂什么是 Socket,明白 TCP 和 UDP 协议的通讯,明白长连接和短连接的优缺点,明白 BIO.NIO.AIO的区别. Socket 大家好,我 ...
- Tomcat 8.5集群配置
示例 <Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster" channelSendOptions= ...
- Python-组织结构-目录结构、包导入、__init__文件、模块内置变量、* 导入限制
__pycache__ .pyc文件,中间代码,提升python运行效率 目录 分档和归类 Python项目组织结构 包 模块 类 函数.变量 # 层级依次往下都是一对多关系 Python项目目录结构 ...