摘要

简单了解一下企业级监控系统Prometheus

正文

Prometheus监控系统

一、概述

常见监控系统

Prometheus是Go语言开发的一套开源监控、报警、时间序列数据库的组合。适合监控Docker容器。

因为Kubernetes(俗称K8S)的流行带动了Prometheus的发展。

时间序列数据:按照时间顺序记录系统、设备状态变化的数据。

应用场景

  • 无人驾驶汽车行驶记录,如经度、纬度、速度、方向
  • 证券行业实时交易数据
  • 实时运维监控数据

基于时间序列数据特点

  1. 性能好
  2. 存储成本低

Prometheus的特征

  1. 多维度数据模型
  2. 灵活的查询语言
  3. 不依赖分布式存储,单个服务器节点是自主的
  4. 以HTTP方式,通过pull模型拉取时间序列数据
  5. 通过中间网关支持push模型
  6. 支持多种多样的图表和界面展示

架构图

2022-10-25_222756.png

二、入门

2.1 环境准备

准备三台服务器

  1. grafana服务器
  2. prometheus服务器
  3. 被监控服务器

1.png

2.2 安装prometheus

下载

shell
1
wget https://github.com/prometheus/prometheus/releases/download/v2.27.1/prometheus-2.27.1.linux-amd64.tar.gz

解压

shell
1
tar -zxvf prometheus-2.27.1.linux-amd64.tar.gz

移动

shell
1
mv prometheus-2.27.1.linux-amd64.tar.gz /opt/module/prometheus

启动

shell
1
./prometheus --config.file="prometheus.yml"

通过ip地址:9090访问界面

查看监控目标

2.png

通过prometheus查看cpu监控

为了避免时区的混乱,prometheus所有的组件内部都强制使用Unix时间,对外展示使用UTC时间。

采用Grafana可以避免这个问题。

3.png

三、监控Linux主机

3.1 安装

下载安装node_exporter

shell
1
wget https://github.com/prometheus/node_exporter/releases/download/v1.1.2/node_exporter-1.1.2.linux-amd64.tar.gz

解压

shell
1
tar -zxvf node_exporter-1.1.2.linux-amd64.tar.gz

移动

shell
1
mv node_exporter-1.1.2.linux-amd64.tar.gz /opt/module/node_exporter

启动

shell
1
2
nohup ./node_exporter &
# nohup和& 表示后台执行

查看是否执行成功,看端口是否被占用

shell
1
ss -naltp|grep 9100

输入ip:端口号/metrics查看监控数据

3.2 添加prometheus监控

修改配置文件

yaml
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
scrape_configs:
  # The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.
  - job_name: 'prometheus'

    # metrics_path defaults to '/metrics'
    # scheme defaults to 'http'.

    static_configs:
    - targets: ['192.168.10.100:9090']
  - job_name: 'server02'
    static_configs:
    - targets: ['192.168.10.101:9100']

四、Grafana界面

4.1 安装

下载

shell
1
2
wget https://dl.grafana.com/oss/release/grafana-8.0.2-1.x86_64.rpm
sudo yum install grafana-8.0.2-1.x86_64.rpm

启动

shell
1
systemctl start grafana-server

查看启动结果

shell
1
ss -naltp|grep 3000

4.2 使用

ip地址:3000进行登录,默认用户名和密码都是admin

4.3 添加prometheus的数据源

添加数据源

4.png

做图形展示

点击+号,选择dashboard,添加监控1分钟、15分钟的负载情况

5.png

进行保存