一、natdata 概述:
Netdata是一款秒级数据收集与可视化呈现的Linux服务器性能监测工具,对优化应用性能,保证服务器健康运行有着极为重要的作用,它可以监控服务器的健康运行参数及状态,包括CPU,内存,网络,磁盘等常用的监控指标,以及自己配置扩展监控项,如,redis, tomcat, mysql, nginx, elasticsearch等
Netdata特点:
高实时性,Netdata及插件为C编写,资源占用及效率都符合要求
不占系统IO,除日志系统,Netdata不使用任何磁盘的IO资源,也可以通过配置文件禁用日志系统
不需要root权限
自带Web服务
安装便捷、开箱即用,不需要额外写任何配置
动态图表化显示
告警系统,通过配置文件,可以配置Netdata在某些指标达到阀值时进行告警
二、安装搭建 Netdata
# 安装依赖
yum -y install autoconf automake curl gcc git libmnl-devel libuuid-devel
lm_sensors make MySQL-python nc pkgconfig python python-psycopg2
PyYAML zlib-devel
# 拉取 git 仓库
git clone https://github.com/netdata/netdata.git --depth=1
# 执行安装脚本
./netdata-installer.sh
# 执行中提示(回车安装就好)
It will be installed at these locations:
1. the daemon at /usr/sbin/netdata
2. config files in /etc/netdata
3. web files in /usr/share/netdata
4. plugins in /usr/libexec/netdata
5. cache files in /var/cache/netdata
6. db files in /var/lib/netdata
7. log files in /var/log/netdata
8. pid file at /var/run/netdata.pid
9. logrotate file at /etc/logrotate.d/netdata
三、集群
Netdata本身不存在主从服务,搭建集群需要在每一个节点上完整部署Netdata,流数据汇总到一台主服务器上。数据处理全部在主服务器上进行,各个节点服务器不打开19999端口供查看,只是把收集到的数据发送到主服务器上,具体参考官网文档。
A.从要节点服务器
1.修改 netdata.conf
vim /etc/netdata/netdata.conf
[global]
memory mode = none
hostname = slave-10
[web]
mode = none
[health]
enabled = no
关闭web,增加主机名
2.新增 stream.conf
vim /etc/netdata/stream.conf
[stream]
enabled = yes
destination = 10.10.10.10:19999
api key = b25a8036-6b4d-4108-b0bd-96937720f303
destination为主服务器的IP地址和netdata端口(默认19999);api key是一个uuid格式的字符串,可以使用uuidgen命令生成,主服务器需要使用。
B.主服务器
1.修改 netdata.conf
vim netdata.conf
[global]
hostname = Master
2.新增 stream.conf
vim stream.conf
[b25a8036-6b4d-4108-b0bd-96937720f303]
enabled = yes
default history = 3600
default memory mode = save
health enabled by default = auto
allow from = *
API_KEY对应节点服务器的api key(uuid)
C.重启服务器
systemctl restart netdata
访问http://IP:19999/访问即可,看到监控数据,在左上角可以对集群机器进行切换
本文参考:https://zhuanlan.zhihu.com/p/65048997