Linux监控系统
-
监控架构
监控系统是由prometheus、grafana 、alertmanage 、netdata模块组成,可以对本机和多台机器进行监控,下面将对各个模块进行简单的介绍
netdata:netdata是用于数据采集,该模块将部署在被监控的机器上,也可以部署在控制机上对本机进行监控;部分人使用的是prometheus官方提供的exporter,如node_exporter等,不管你使用的是什么模块进行数据采集,这个影响不大,只要你能采集到数据就OK了,小编使用的netdata主要原因它采集到的数据比较全面prometheus:prometheus是一个开源的系统监控和报警的工具包,小编用它主要数据的存储和告警;prometheus会获取netdata采集回来的数据进行计算,然后根据设置的告警阀值进行对比,最后发出告警
grafana :grafana是用于界面展示,将数据可视化,它将prometheus存储的数据在界面上展示出来,方便我们查看
alertmanager:alertmanager是一个告警机制,更具不同的需要可以设置邮件告警、钉钉告警,这里小编使用的是钉钉告警;钉钉告警需要接入prometheus-webhook-dingtalk
这里是小编画的一个简单的架构图
-
部署各个模块
一、netdata部署
如果之前有安装,卸载方法:
寻找.environment文件,如果没有就创建,将下面内容写入(/etc/netdata/.environment)NETDATA_PREFIX="" # put what you used as a parameter to shell installed `–install` flag. Otherwise it should be empty
NETDATA_ADDED_TO_GROUPS="" # Additional groups for a user running netdata process下载卸载脚本
wget https://raw.githubusercontent.com/netdata/netdata/master/packaging/installer/netdata-uninstaller.sh
chmod +x ./netdata-uninstaller.sh
./netdata-uninstaller.sh --yes --env /etc/netdata/.environment or /opt/netdata/netdata-configs/.environment安装netdata
netdata依赖项很多,在安装前需要确认一下是否已经安装好了这些依赖项
zlib1g-dev uuid-dev libmnl-dev gcc make autoconf autoconf-archive autogen automake pkg-config curl$ git clone https://github.com/firehol/netdata.git --depth=1 ~/netdata #下载安装文件
$ cd ~/netdata
$ sudo ./netdata-installer.sh
如果你看到了上面这样的输出,说明你已经安装成功了netdata的配置文件在/etc/netdata/netdata.conf,需要将配置文件中的这两个地方改成如下所示
[global]
history = 3600(单位:SECONDS)
[plugins]
python.d = yes启动方式:service netdata start
停止方式:service netdata stop你可以看一下进程和19999端口
也可以在浏览器上打开http://localhost:19999 查看你的netdata的web端