界面酷炫,功能强大!这款 Linux 性能实时监控工具超好用!老斯机搞它!
点击上方“民工哥技术之路”,选择“设为星标”
回复“1024”获取独家整理的学习资料!
Netdata介绍
Netdata是一款Linux系统性能实时监控工具。是一个高度优化的Linux守护进程,可以对Linux系统、应用程序(包括但不限于Web服务器,数据库等)、SNMP服务等提供实时的性能监控。
Netdata用可视化的手段,将其被监控的信息展现出来,以便你清楚的了解到你的系统、程序、应用的实时运行状态,而且还可以与Prometheus,Graphite,OpenTSDB,Kafka,Grafana等相集成。
Netdata是免费的开源软件,目前可在Linux,FreeBSD和macOS以及从它们衍生的其他系统(例如Kubernetes和Docker)上运行。
Netdata仓库地址:https://github.com/netdata/netdata
Netdata特性
1、友好、美观的可视化界面
2、可自定义的控制界面
3、安装快速且高效
4、配置简单,甚至可零配置
5、零依赖
6、可扩展,自带插件API
7、支持的系统平台广
Netdata是如何工作的?
上图的各个组件的作用描述,有兴趣的可以参考官方的说明,这里不再赘述了。
Netdata可监控什么?
Netdata可以收集来自200多种流行服务和应用程序的指标,以及数十种与系统相关的指标,例如CPU,内存,磁盘,文件系统,网络等。我们将这些收集器称为,它们由插件管理,该插件支持多种编程语言,包括Go和Python。
流行的收集器包括Nginx,Apache,MySQL,statsd,cgroups(容器,Docker,Kubernetes,LXC等),Traefik,Web服务器access.log文件等。
详细的支持列表请参考下面的说明:https://github.com/netdata/netdata/blob/master/collectors/COLLECTORS.md
Netdata安装
[root@CentOS7-1 ~]# yum update -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
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、总体数据界面
Netdata仪表板上的图表彼此同步,没有主图表。可以随时平移或缩放任何图表,其他所有图表也将随之出现。
通过使用鼠标拖动可以平移图表。当鼠标指针悬停在图表上时,可以使用SHIFT+ 放大/缩小mouse wheel图表。
Netdata强大之处
之所以如此强大,是因为它与各类应用的配合与支持,直接上图说明:
Netdata集群管理方案
1、netdata.cloud
2、stream 插件
Netdata集群监控配置
[root@CentOS7-1 ~]# cd /etc/netdata/
[root@CentOS7-1 netdata]# vim netdata.conf
#修改配置如下
[global]
memory mode = none
hostname = [建议修改成你的主机名]
[web]
mode = none
[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
[root@CentOS7-1 ~]# systemctl restart netdata
[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里面
systemctl restart netdata