0
点赞
收藏
分享

微信扫一扫

prometheus以及node exporter安装笔记

虽然可以使用docker安装,但是初次学习,要熟悉配置和架构,最好还是使用官方安装方法。

安装基于centos7以及deepin20.

使用清华镜像源

官网下载很慢,使用国内的清华开源软件镜像站,可以快速下载

https://mirrors.tuna.tsinghua.edu.cn/

下载最新版本,基于linux

prometheus以及node exporter安装笔记_数据


server端安装配置

下载完安装包后,解压安装。并配置服务自启动

mv prometheus-2.37.0.linux-amd64 /usr/local/prometheus
sudo mv prometheus-2.37.0.linux-amd64 /usr/local/prometheus
sudo cd /usr/local/prometheus/
vim /etc/systemd/system/prometheus.service #配置启动服务
#############以下是配置service###############
[Unit]
Description=Prometheus Monitoring System
Documentation=Prometheus Monitoring System

[Service]
ExecStart=/usr/local/prometheus/prometheus \
--config.file=/usr/local/prometheus/prometheus.yml \
--web.listen-address=:9090

[Install]
WantedBy=multi-user.target

##############
systemctl enable promethus
systemctl enable prometheus

配置完成后,访问本机9090端口即可

prometheus以及node exporter安装笔记_linux_02


配置node_export

在Prometheus的架构设计中,Prometheus Server并不直接服务监控特定的目标,其主要任务负责数据的收集,存储并且对外提供数据查询支持。因此为了能够能够监控到某些东西,如主机的CPU使用率,我们需要使用到Exporter。Prometheus周期性的从Exporter暴露的HTTP服务地址(通常是/metrics)拉取监控样本数据。

从上面的描述中可以看出Exporter可以是一个相对开放的概念,其可以是一个独立运行的程序独立于监控目标以外,也可以是直接内置在监控目标中。只要能够向Prometheus提供标准格式的监控样本数据即可。

这里为了能够采集到主机的运行指标如CPU, 内存,磁盘等信息。我们可以使用Node Exporter。

Node Exporter同样采用Golang编写,并且不存在任何的第三方依赖,只需要下载,解压即可运行。可以从https://prometheus.io/download/获取最新的node exporter版本的二进制包。

wget https://github.com/prometheus/node_exporter/releases/download/v0.18.1/node_exporter-0.18.1.linux-amd64.tar.gz
tar -xf node_exporter-0.18.1.linux-amd64.tar.gz
mv node_exporter-0.18.1.linux-amd64 /usr/local/node_exporter
vim /etc/systemd/system/node_exporter.service #添加启动服务
###########################以下是配置node_export#######
systemctl enable node_exporter
systemctl start node_exporter

检查访问状态

​​http://ip:9100/metrics​​

prometheus以及node exporter安装笔记_linux_03

每一个监控指标之前都会有一段类似于如下形式的信息:

# HELP node_cpu Seconds the cpus spent in each mode.
# TYPE node_cpu counter
node_cpu{cpu="cpu0",mode="idle"} 362812.7890625
# HELP node_load1 1m load average.
# TYPE node_load1 gauge
node_load1 3.0703125

其中HELP用于解释当前指标的含义,TYPE则说明当前指标的数据类型。在上面的例子中node_cpu的注释表明当前指标是cpu0上idle进程占用CPU的总时间,CPU占用时间是一个只增不减的度量指标,从类型中也可以看出node_cpu的数据类型是计数器(counter),与该指标的实际含义一致。又例如node_load1该指标反映了当前主机在最近一分钟以内的负载情况,系统的负载情况会随系统资源的使用而变化,因此node_load1反映的是当前状态,数据可能增加也可能减少,从注释中可以看出当前指标类型为仪表盘(gauge),与指标反映的实际含义一致。

相关指标项

  • node_boot_time:系统启动时间
  • node_cpu:系统CPU使用量
  • nodedisk*:磁盘IO
  • nodefilesystem*:文件系统用量
  • node_load1:系统负载
  • nodememeory*:内存使用量
  • nodenetwork*:网络带宽
  • node_time:当前系统时间
  • go_*:node exporter中go相关指标
  • process_*:node exporter自身进程相关运行指标

测试配置node与server

修改prometheus的配置文件Prometheus.yml,增加监控项目

scrape_configs:
- job_name: 'prometheus'
static_configs:
- targets: ['localhost:9090']
# 采集node exporter监控数据
- job_name: 'linux'
static_configs:
- targets: ['localhost:9100'] #安装实际情况填写node export地址

prometheus以及node exporter安装笔记_数据_04

重启prometheus server

访问​​http://localhost:9090​​,进入到Prometheus Server。如果输入“up”并且点击执行按钮以后,可以看到如下结果:

prometheus以及node exporter安装笔记_启动服务_05

up{instance="localhost:9090",job="prometheus"}    1
up{instance="localhost:9100",job="node"} 1

1代表正常,0代表异常

举报

相关推荐

0 条评论