如何快速搭建一个 linux 全方位资源监控系统并带有炫酷的表盘图形统计?
如何快速搭建一个 linux 全方位资源监控系统并带有炫酷的表盘图形统计?
使用prometheus、grafana或者zabbix 这些监控软件,也是非常不错的一个选择,但是还有更简单、更小巧的统计监控系统。
简介
Netdata是一个分布式实时性能监测工具,可以运行在 Linux、FreeBSD、MacOS等系统上,安装简单,使用方便。
Netdata项目地址:https://github.com/firehol/netdata
Netdata安装指南:https://github.com/firehol/netdata/wiki/Installation
Netdata在线演示:http://my-netdata.io/#demosites
官方架构图:
监测内容
下面是Netdata目前检测的内容(大多数都不需要进行配置,安装后即可开始监测,基本满足大部分需求了)
1.CPU的使用率,中断,软中断和频率(总量和每个单核)
2.RAM,互换和内核内存的使用率(包括KSM和内核内存deduper)
3.硬盘输入/输出(每个硬盘的带宽,操作,整理,利用等)
4.IPv4网络(数据包,错误,分片):
TCP:连接,数据包,错误,握手
UDP:数据包,错误
广播:带宽,数据包
组播:带宽,数据包
5.Netfilter/iptables Linux防火墙(连接,连接跟踪事件,错误等)
6.进程(运行,受阻,分叉,活动等)
7.NFS文件服务器,v2,v3,v4(输入/输出,缓存,预读,RPC调用)
8.网络服务质量(唯一一个可实时可视化网络状况的工具)
9.应用程序,通过对进程树进行分组(CPU,内存,硬盘读取,硬盘写入,交换,线程,管道,套接字等)
10.Apache Web服务器状态(v2.2, v2.4)
11.Nginx Web服务器状态
12.Mysql数据库(多台服务器,单个显示:带宽,查询/s, 处理者,锁,问题,临时操作,连接,二进制日志,线程,innodb引擎等)
13.ISC Bind域名服务器(多个服务器,单个显示:客户,请求,查询,更新,失败等)
14.Postfix邮件服务器的消息队列(条目,大小)
15.Squid代理服务器(客户带宽和请求,服务带宽和请求)
16.硬件传感器(温度,电压,风扇,电源,湿度等)
17.NUT UPSes(负载,充电,电池电压,温度,使用指标,输出指标)
可以监测任意数量的SNMP服务,不过你需要进行配置,还可以对此软件进行扩展,可以使用任何语言编写插件,以此来从任何来源收集数据
netdata搭建
源码搭建
github上也有编译好的二进制文件,有相应架构的可以直接下载使用:
1、安装git
yum -y install git
2、克隆仓库
git clone https://github.com/firehol/netdata.git
3、安装依赖包
yum -y install epel-release
yum -y install zlib-devel libuuid-devel libmnl-devel gcc gcc-c++ make git autoconf autogen automake pkgconfig libuv-devel cmake
4、切换到 netdata 目录,运行 netdata-installer.sh 脚本
cd netdata
./netdata-installer.sh --install /opt #指定安装到/opt下面
然后就会提示你按回车键,开始安装程序。如果要继续,就按下回车。
到这表示安装成功:
检测端口服务:
之后可以通过下面的命令行进行服务的管理:
service netdata start/stop/restart # 启动/停止/重启
5、如果开启了防火墙,需要放行下19999端口
firewall-cmd --zone=public --add-port=19999/tcp --permanent
firewall-cmd --reload
firewall-cmd --zone=public --list-ports #查看防火墙端口是否开启成功
实测掩码编译会有比较多的坑(如下),建议使用下面的docker方式部署
docker搭建
docker run -d --name=netdata \
-p 19999:19999 \
-v netdataconfig:/etc/netdata \
-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
访问
netdata默认监听是19999端口,配置文件:/etc/netdata/netdata.conf(可修改端口配置等),效果如图,基本该有的都有了:
在这里还有汉化补丁:
https://gitee.com/DXLinux/Netdata-chinese-patch
拓展
netdata也不只是可以监控单机,也可以对接grafana及后端的存储等:
具体的可以到netdata wiki查看。利用这种方式,应该也较容易能够折腾出来一个集群监控的解决方案,并且netdata和grafana的界面看起来都非常的酷炫! 只不过目前这不是主流的监控方案,个人感觉用来监控单机还是不错的。
相关文章
- [linux]磁盘监控程序并且发EMail
- Linux(Centos)下安装MySQL
- 每天一个linux命令(24):Linux文件类型与扩展名
- [Linux]linux下取消用户名和密码直接登录
- linux免交互登陆远程主机并执行命令(密钥对和Expect)
- Linux基础之linux常用命令之文本替换
- linux screen 命令详解
- python2案例:为Linux主机设置登陆成功的邮件提醒
- Qt编写跨平台视频监控系统(64通道占用7%CPU/支持win_linux_mac等)
- linux监控平台搭建-磁盘
- 成功解决解决VM软件安装Linux的Ubuntu过程,打开时 Operating System not found
- 【Linux 内核 内存管理】RCU 机制 ④ ( RCU 模式下更新链表项 list_replace_rcu 函数 | 链表操作时使用 smp_wmb() 函数保证代码执行顺序 )
- 解决linux centos debian 中文乱码
- L60.linux命令每日一练 -- 第九章 Linux进程管理命令 -- top和nice
- L49.linux命令每日一练 -- 第八章 Linux磁盘与文件系统管理命令 -- fdisk和partprobe
- L33.linux命令每日一练 -- 第五章 Linux信息显示与搜索文件命令 -- du和date
- 使用docker搭建linux dash 轻量级监控工具
- Linux基本功系列之usermod命令实战
- linux ln 软链接
- linux 磁盘UUID
- linux nmon 安装使用 监控linux
- 第四章 linux字符设备的编写一
- ZYNQ - 嵌入式Linux开发 -08- linux应用程序开发
- prometheus使用node_exporter监控Linux主机CPU、内存、磁盘、服务运行状况(六)
- 嵌入式Linux开发,去掉内核kernel开机画面logo屏幕上的光标
- 02 从头开始atac项目 ubuntu20 install r4.2 Linux系统环境配置 服务器版本的rstudio r install in linux /ubuntu/centos
- Linux平台OpenGL之helloworld(十)