当前位置: 首页 > Linux

炫酷的界面和强大的功能!这款Linux性能实时监控工具超级好用!老Si机器做到了!

时间:2023-04-06 19:03:15 Linux

对于Linux系统的维护和管理,其性能监控非常重要,尤其是实时监控数据。这些数据有助于我们判断服务器的负载压力,及时调整资源分配,也有助于更好的为业务服务。那么,今天移民哥就给大家安利一款Linux性能实时监控工具:Netdata。先来个效果图,一起来看看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.可扩展的内置插件API7.支持的系统平台广泛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~]#如果yumupdate-y没有运行,直接安装会出现如下提示。也可以输入y让系统自动更新。执行更新操作后,直接执行以下命令安装Netdata。[root@CentOS7-1~]#bash<(curl-Sshttps://my-netdata.io/kickstart.sh)然后程序会自动执行安装动作下载一系列的包进行安装,并确认中间需要一个操作,如下:等待时间可能会因访问国外资源和您的网络关系而变长或变短。从安装过程中也可以看出一些关键信息,如上图所示。从上图中的信息我们可以看到访问方式,启动和停止服务的命令。安装完成后如下图,Netdata已经启动。我们可以通过命令查看启动是否完成?[root@CentOS7-1?~]#?lsof?-i?:19999COMMAND???PID????USER???FD???TYPE?DEVICE?SIZE/OFF?NODE?NAMEnetdata?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|grepnetdatanetdata147871223:24?00:00:06/usr/sbin/netdata-P/var/run/netdata/netdata.pid-Dnetdata1480014787023:24?00:00:00/usr/sbin/netdata--special-spawn-servernetdata1495414787023:24?00:00:01bash/usr/libexec.netddata/plug/tc-qos-helper.sh1netdata1497414787023:24?00:00:02/usr/bin/python/usr/libexec/netdata/plugins.d/python.d.plugin1root1497514787123:24?00:00:04/usr/libexec/netdata/plugins.d/ebpf.plugin1netdata1497614787023:24?00:00:01/usr/libexec/netdata/plugins.d/go.d.plugin1netdata1497714787123:24?00:00:05/usr/libexec/netdata/plugins.d/apps.plugin1root152771149023:29pts/000:00:00grep--color=autonetdata2.Docker安装首先准备Docker环境,然后直接执行以下命令完成安装dockerrun-d--name=netdata-p19999:19999-vnetdatalib:/var/lib/netdata-vnetdatacache:/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--restartunless-stopped--cap-addSYS_PTRACE--security-optapparmor=unconfinednetdata/netdata安装后,可以在下面进行参观的方式。界面展示1、整体数据界面2、内存3、CPU4、磁盘5、网络6、应用程序7、网络界面8、数据同步功能Netdata仪表盘上的图表相互同步,没有主图表。任何图表都可以随时平移或缩放,所有其他图表也会随之移动。可以通过用鼠标拖动来平移图形。当鼠标指针悬停在图表上时,您可以使用SHIFT+来放大/缩小鼠标滚轮图表。Netdata之所以如此强大,是因为它与各种应用程序的配合和支持。上图直接展示了:Netdata集群管理方案只展示了单台服务器的监控数据,而netdata的一个缺点是所有被监控的服务器都需要安装agent,所以这里有个问题,就是如何统一管理和展示监控数据?netdata官方并没有设计主从模式。和zabbix一样,一台可以作为masterserver,另外一台可以作为slaveserver,将数据采集到masterserver进行统一处理和展示。不过官方也给出了相关的解决方案。1、netdata.cloud使用自带的netdata.cloud,即每个安装节点WEB界面右上角的signin。只要我们使用同一个账号登录netdata.cloud(需要kexue上线),那么每个节点都可以很方便的被一个账号控制。各节点开放19999端口,允许管理员查看数据,然后控制中心将各节点端口采集的数据通过前端发送到netdata.cloud进行记录和展示。这是一个被动的集群监控,本质上是一个独立的机器,不方便做自定义的集群dashboard。2.Stream插件所以,为了解决上述方案的不足,netdata提供了另一种方法,将各个节点的数据收集到一个(主)服务器中,数据处理也在这个服务器上进行。其他节点不需要开放19999端口,是主动传输模式,将采集到的数据发送到主服务器,这样就可以在主服务器上进行自定义仪表盘开发。缺点:主服务器的流量和负载会比较大(在集群服务器数量较多的情况下),如果主服务器负载过高,我们可以通过设置数据采集周期(更新每)节点服务器。很多关于Netdata集群监控配置的文章只介绍了它的安装和部分界面的显示结果,并没有给出集群监控的解决方案和具体配置。民工也查了很多资料,现在把配置过程分享给大家。.如果对streaming配置不熟悉,可以参考官方文档:https://docs.netdata.cloud/st...1.节点服务器配置[root@CentOS7-1~]#cd/etc/netdata/[root@CentOS7-1netdata]#vimnetdata.conf#修改配置如下etc/netdata/目录下一个文件stream.conf,然后配置如下:[stream]enabled=yesdestination=MASTER_SERVER_IP:PORTapikey=xxxx-xxxx-xxxx-xxxx-xxxx#参数说明如下destination=MASTER_SERVER_IP:PORT主服务器地址和端口apikey必须是一串uuid,在linux系统下使用如下命令可以自动生成。[root@CentOS7-1netdata]#uuidgen480fdc8c-d1ac-4d6f-aa26-128eba744089配置完成后,需要重启节点的netdata服务,完成整个配置。[root@CentOS7-1~]#systemctlrestartnetdata2,主服务器配置在netdata.conf同目录下新建stream.conf,写入如下配置:[API_KEY]/[480fdc8c-d1ac-4d6f-aa26-128eba744089]enabled=yesdefaulthistory=3600defaultmemorymode=savehealthenableddefault=autoallowfrom=*[API_KEY]enabled=yesdefaulthistory=3600defaultmemorymode=默认保存allowfrom=*#其中API_KEY对应节点服务器的apikey(字符串),allowfrom可以设置允许的数据流来源,保证安全。#如果有多个node服务器,一起写在stream.conf中,配置完成后重启netdata:systemctlrestartnetdata所有配置完成后,可以看到右上角的下拉菜单(主机名)主服务器WEB界面,点击查看相关监控信息。如果需要自定义控制面板,可以参考官方文档修改xml文件。原文地址:https://docs.netdata.cloud/we...到这里,这款实用又酷炫的实时服务器性能监控工具的介绍就结束了。原创并不容易。如果有帮助,请点赞转发分享支持农民工,您的支持是我最大的创作动力。