乐趣区

关于linux:界面酷炫功能强大这款-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/kicksta…

而后,程序会主动执行装置动作,去下载一系列的包进行装置,两头须要确认操作一次,如下:

可能会因为拜访国外的资源,和依据你的网络关系,期待的工夫或长或短。

一些要害的信息,从装置过程中也是能够看的进去的,如上图。

从上图信息能够看出拜访办法,启动、进行服务的命令。

装置实现如下图

显示 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…

到这里,这款实用、酷炫的服务器性能实时监控工具就介绍完了,原创不易,如有帮忙,请点 在赞 转发分享 反对一下民工哥,你们反对是我最大的创作能源。

退出移动版