发现了一个单机监控的Netdata,眼前着实为之一亮。 令人印象非常之深刻的个主要特性:
- 界面酷炫,实时监控
- 零配置,即装即用
官网地址在这里: https://my-netdata.io/
Netdata的特点
netdata的主要功能,主要有几点(详细的可查看github上的说明):
- interactive bootstrap dashboards, 酷炫(主要是dark主题,light主题就没这感觉了)
- 匪夷所思的快。。。所有请求每个metreic都在0.5ms内响应,即便是一台烂机器
- 非常高效,每秒采集数千个指标,但仅占cpu单核1%,少量MB的内存以及完全没有磁盘IO
- 提供复杂的、各种类型的告警,支持动态阈值、告警模板、多种通知方式等
- 可扩展,使用自带的插件API(比如bash, python, perl, node.js, java, go, ruby等)来收集任何可以衡量的数据
- 零配置:安装后netdata会自动的监测一切
- 零依赖:netdata有自己的web server, 提供静态web文件和web API
- 零维护:只管跑上!
- 支撑多种时间序列后端服务,比如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:
- graphite;
- opentsdb;
- json document DBs.
并能够提供3种计算模式:
- as collected;
- 2)average;
- sum or volume。
具体的可以到netdata wiki查看。利用这种方式,应该也较容易能够折腾出来一个集群监控的解决方案,并且netdata和grafana的界面看起来都非常的酷炫(又一次印证了一个观点:大屏监控系统就得是暗色系!)
看到roadmap里面提到:monitor more applications (hadoop and friends, postgres, etc). 也希望hadoop这方面的监控能早日实现,又可以多一个可选方案啦~