0.前言
之前我们部署了夜莺监控平台,并且添加了数据源,但是目前监控平台还是无法使用的,因为我们并没有采集指标数据给到数据源,今天我们就来部署一下夜莺的数据采集器,采集服务器的基本信息,并添加一下服务器数据监控面板。
1.数据采集方式
使用过Prometheus的朋友们应该都知道,Prometheus是通过exporter暴露监控数据,然后prometheus server端pull指标数据。夜莺采集数据的方式和Prometheus略有不同。当前版本夜莺推荐使用Categraf作为数据采集器采集指标,然后将指标数据推送给夜莺服务端。Categraf是一个可以采集指标和日志的代理,Categraf使用 prometheus remote write
作为指标数据推送协议,因此可以将指标推送到夜莺,日志的话,Categraf 是对接写给 Kafka,目前我们只需要使用到Categraf的指标采集功能。
2.Categraf简介
Categraf 是一款 All-in-One 的数据采集器,支持指标、日志采集;支持物理机、虚拟机、交换机、容器、K8s、多种中间件/数据库的数据采集,支持混合云架构、云原生架构、多云架构。同时,Categraf 期望不止提供采集能力,还附带提供仪表盘和告警规则,力求开箱即用。
Categraf特点:
- 内置支持近百种采集插件,同时支持采集指标和日志,减少 agent 部署数量,降低维护成本
- 采用 PUSH 方式推送数据,对于网络策略要求较高的场景,可以减少对外部网络的依赖
- 采用 remote write 协议推送数据,支持将数据推送到 Nightingale、Prometheus、VictoriaMetrics 等后端
- 尽可能落地最佳实践,不需要采集的数据无需采集,针对可能会对时序库造成高基数的问题在采集侧做出处理 接下来我们就来部署一下Categraf,并使用一下Categraf的基础工能,看下是否真的有官方说的这么好用。
3.资源准备
本次实验就通过Categraf采集夜莺所在主机的监控指标。
3.1 服务器配置
操作系统 | IP地址 | CPU | 内存 |
---|---|---|---|
Rocky8 Linux | 10.173.100.15 | 8核 | 32G |
3.2 安装包
本次部署还是采用最新版本的Categraf。
下载地址:GitLab
Categraf版本:v0.4.13
安装包名称:categraf-v0.4.13-linux-amd64.tar.gz
4.Categraf部署
下载了最新的安装包之后(本次实验为categraf-v0.4.13-linux-amd64.tar.gz),将安装包上传到服务器,解压安装,然后启动服务即可。
4.1 上传安装包
将安装包上传到服务器指定位置,我是将其上传到/root/install,大家根据根据自己喜好放到任意位置。
ll /root/install/categraf-v0.4.13-linux-amd64.tar.gz
-rw-r--r--. 1 root root 39793329 Jul 2 16:00 /root/install/categraf-v0.4.13-linux-amd64.tar.gz
4.2 解压安装包
将安装包解压,然后根据自己喜好放置到指定目录,我这里是安装包/usr/local目录下,命令如下:
cd /root/install
tar xf categraf-v0.4.13-linux-amd64.tar.gz
mv categraf-v0.4.13-linux-amd64 /usr/local/categraf
ll /usr/local/categraf
-rwxr-xr-x. 1 1001 118 143388856 Jun 25 15:09 categraf
drwxr-xr-x. 91 root root 4096 Jul 4 14:56 conf
drwxr-xr-x. 2 root root 25 Jul 2 16:01 scripts
4.3 修改配置文件
上面通过查看Categraf的安装目录,可以看到categraf的配置文件存放在conf目录下,本次我们只修改主配置文件config.toml,主要修改配置项为n9e服务IP和端口。
配置项如下:
[[writers]]
url = "http://127.0.0.1:17000/prometheus/v1/write"
因为本次实验Categraf和n9e server部署在同一台服务器上,所以可以不用做任何修改,如果Categraf部署在其他服务器上就需要将配置项修改:
[[writers]]
url = "http://10.173.100.15:17000/prometheus/v1/write"
4.4 启动服务
配置项修改完成之后,就可以启动Categraf服务,命令如下:
cd /usr/local/categraf
nohup ./categraf &> stdout.log &
检查服务运行状态,命令如下:
ps -ef |grep categraf
root 1711 1 0 Jul01 ? 00:15:06 /usr/local/categraf/categraf -configs /usr/local/categraf/conf
root 49801 1 0 Jul02 ? 00:09:55 ./categraf
可以看到服务正常运行了。
5.查看监控指标
通过上面的操作,监控指标已经发送到n9e server上了,在n9e server平台可以查看数据。
5.1 机器信息
在n9e平台依次选择【基础设施】->【业务组】->【全部机器】,可以看到服务器的基础信息,如下图所示:
可以看到机器最基本的信息,包括IP地址、内存和CPU使用情况以及操作系统等。
5.2 快速查询
如果要单独查询某个指标的话,夜莺也是提供了界面并通过PromQL语句查询指标,依次选择【数据查询】->【指标】->【PromQL语句】 -> 【查询】如下图所示:
我这里输入的PromQL语句用于查询服务器的运行时间,如果想了解其他PromQL语句的,可以到Prometheus官网了解。
5.3 添加仪表盘
只是简单的查看机器信息,或者通过PromQL查看指标数据通常并不能满足大家的要求,好在n9e平台可以支持添加仪表盘,通过仪表盘查看监控指标,并且n9e平台还内置了仪表盘,让添加仪表盘更加简单。
依次选择【数据查询】->【仪表盘】->【Default Busi Group】->【导入】,如下图所示:
之后出现如下界面:
在组件选项框填入"Linux",会出现如下模板列表,然后选中第一个模板,并点击【导入】按钮,具体操作如下:
操作完成之后,就可以看到具体的仪表盘界面了,如下图所示:
到此,监控仪表盘也就添加完成了。
5.总结
我们今天通过Categraf采集了服务器的基本信息,并且通过添加仪表盘的方式查看了监控指标,可以看到夜莺平台还是很好用的,内置了许多的功能,帮助我们更快地搭建和使用监控平台。