发现了一个单机监控的Netdata,眼前着实为之一亮。 令人印象非常之深刻的个主要特性:

  1. 界面酷炫,实时监控
  2. 零配置,即装即用

官网地址在这里: https://my-netdata.io/

Netdata的特点

netdata的主要功能,主要有几点(详细的可查看github上的说明):

  1. interactive bootstrap dashboards, 酷炫(主要是dark主题,light主题就没这感觉了)
  2. 匪夷所思的快。。。所有请求每个metreic都在0.5ms内响应,即便是一台烂机器
  3. 非常高效,每秒采集数千个指标,但仅占cpu单核1%,少量MB的内存以及完全没有磁盘IO
  4. 提供复杂的、各种类型的告警,支持动态阈值、告警模板、多种通知方式等
  5. 可扩展,使用自带的插件API(比如bash, python, perl, node.js, java, go, ruby等)来收集任何可以衡量的数据
  6. 零配置:安装后netdata会自动的监测一切
  7. 零依赖:netdata有自己的web server, 提供静态web文件和web API
  8. 零维护:只管跑上!
  9. 支撑多种时间序列后端服务,比如graphite, opentsdb, prometheus, json document DBs

Netdata监控项也很多,比如CPU, 内存,磁盘,网络这些基础的之外,还可以有IPC, netfilter/iptables Linux firewall, fping, Processes, NFS, Network QoS, Applications, Apache web server, Nginx, Tomcat, mysql, postgres, redis, mongodb, elasticsearch, SNMP devices等等。

安装Netdata

[root@nfs ~]# yum install epel-release -y

[root@nfs ~]# yum install netdata -y

配置相关文件

[root@nfs ~]# vim /etc/netdata/netdata.conf

请添加图片描述

执行service netdata start启动服务

访问

浏览器访问192.168.1.130:19999(注意你的ip不一定是跟我一样的啊)
请添加图片描述

可能会遇到的问题

查看端口:

[root@nfs ~]# netstat -anplut|grep netdata
tcp        0      0 127.0.0.1:8125          0.0.0.0:*               LISTEN      6572/netdata        
tcp        0      0 127.0.0.1:19999         0.0.0.0:*               LISTEN      6572/netdata        
tcp6       0      0 ::1:8125                :::*                    LISTEN      6572/netdata        
tcp6       0      0 ::1:19999               :::*                    LISTEN      6572/netdata        
udp        0      0 127.0.0.1:8125          0.0.0.0:*                           6572/netdata        
udp6       0      0 ::1:8125                :::*                                6572/netdata 

或者执行lsof -i:19999(若没有lsof命令,就yum install lsof)

若无法访问,一般可能是防火墙的原因:添加一条防火墙规则,执行这条代码:
再重启服务!!!注意!!!

[root@nfs ~]# iptables -I INPUT -p tcp --dport 19999 -j ACCEPT
[root@nfs ~]# service netdata restart
Redirecting to /bin/systemctl restart netdata.service

监控页面

再来看看监控页面,除了配色酷炫,监控项种类繁多之外,页面元素的实时响应、告警设置等都极具亮点。为了更好的展示页面,在这里会盗用github上netdata官方的几个动态图来show一下.

System overview

Disks

Network interfaces

Alarms

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1SwxJrA5-1678797666453)(http://o75oehjrs.bkt.clouddn.com/image/blog/netdata%20alarm.png?watermark/2/text/YmxvZy55d2hlZWwuY24=/font/5b6u6L2v6ZuF6buR/fontsize/500/fill/I0Y1RUZFRg==/dissolve/100/gravity/SouthEast/dx/10/dy/10)]

Netdata backend

Netdata也可以后台服务收集监控指标,多服务器的监控指标汇总到前台展示,或者归档汇总后提供给其他工具如grafana, 如下图:

Netdata支持如下几个backends:

    1. graphite;
    1. opentsdb;
    1. json document DBs.

并能够提供3种计算模式:

    1. as collected;
  • 2)average;
    1. sum or volume。

具体的可以到netdata wiki查看。利用这种方式,应该也较容易能够折腾出来一个集群监控的解决方案,并且netdata和grafana的界面看起来都非常的酷炫(又一次印证了一个观点:大屏监控系统就得是暗色系!)

看到roadmap里面提到:monitor more applications (hadoop and friends, postgres, etc). 也希望hadoop这方面的监控能早日实现,又可以多一个可选方案啦~

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐