linux下安装prometheus

前言

环境:centos7.9

prometheus 架构图

在这里插入图片描述

我们来解读一下prometheus 的架构图:
1、prometheus server是最重要的核心部分,它使用一个叫做TSDB的数据库(时间序列数据库)作为存储。
2、时间序列数据 (TimeSeries Data) : 按照时间顺序记录系统、设备状态变化的数据被称为时序数据 。
3、prometheus 可以有两种方式获取数据,一种是主动拉取数据,即pull拉取目标对象的数据指标,另外一种是在目标主机上编写采集脚本,将数据推送给pushgateway,pushgateway将数据推送给Prometheus Server。大多数情况下我们推荐prometheus 使用pull主动拉取数据的方式,这样可以减轻目标主机的业务负担,把负担交给prometheus server。
4、prometheus server要拉去哪些目标主机的数据呢,我们即可以在prometheus server中静态的配置要拉去的目标主机数据,也可以使用prometheus 的自动服务发现功能来自动获取目标主机,在k8s中就会使用服务发现机制来自动配置目标主机。
5、prometheus 获取到了指标数据,需要定义告警规则,然后根据构建规则产生告警,prometheus 会将告警发送给altermanager,由altermanager发送告警信息给邮箱、钉钉、微信等通信工具。
6、prometheus 的web UI并不是十分漂亮,所以需要一个展示数据的图形化界面,grafana就是用于展示数据的,grafana通过获取prometheus server的数据来展示友好的图形化页面。

下载prometheus 官方软件

prometheus 官方提供了预编译的二进制文件和Docker 镜像,这里我们下载预编译的二进制包即可,预编译的二进制包下载解压就可以直接使用,不需要编译安装。
prometheus 官方网站:https://prometheus.io/
下载prometheus的包:https://github.com/prometheus/prometheus/releases/download/v2.32.1/prometheus-2.32.1.linux-amd64.tar.gz

环境准备

准备3台服务器,都能上外网,IP与主机名如下所示:

#IP主机名 
192.168.118.128  server  
192.168.118.129  agent1 
192.168.118.130  grafana 
#同步时间关闭防火墙,3台都做同样的操作
systemctl enable --now ntpd	
systemctl disable --now firewalld

安装prometheus

下面来安装prometheus服务端:

mkdir /prometheus_soft/
cd prometheus_soft/
wget https://github.com/prometheus/prometheus/releases/download/v2.5.0/prometheus-2.5.0.linux-amd64.tar.gz
tar  -zxvf prometheus-2.5.0.linux-amd64.tar.gz -C /usr/local/
cd /usr/local/prometheus-2.5.0.linux-amd64/
ll
#安装完成,由于prometheus提供的是二进制包,所以解压即可,都不需要编译安装

启动prometheus

启动prometheus 很简单,直接命令启动即可,默认加载配置文件就是当前目录的prometheus.yml配置文件,默认开启端口是9090,,如下所示:

cd /usr/local/prometheus-2.5.0.linux-amd64
#查看帮助文档
./prometheus --help
#启动普罗米修斯,后台运行
./prometheus &
lsof  -i:9090

web网页访问普罗米修斯

在这里插入图片描述
在这里插入图片描述
以上,我们发现,需要执行查询语句(普罗米修斯有自己的查询语句),然后点击执行就能得到图形或控制台 输出结果。

client客户端安装node_exporter采集数据

prometheus的监控不同的应用需要不同的exporter包,如监控Linux的CPU负载等性能指标,就需要安装官网的node_exporter-0.16.0.linux-amd64.tar.gz包,监控mysql服务器就需要安装mysqld_exporter包。
下面开始安装node_exporter-0.16.0.linux-amd64.tar.gz包,演示在客户端安装exporter,下载地址:https://github.com/prometheus/node_exporter/releases/download/v1.3.1/node_exporter-1.3.1.linux-amd64.tar.gz.

# 联网下载包
wget https://github.com/prometheus/node_exporter/releases/download/v1.3.1/node_exporter-1.3.1.linux-amd64.tar.gz
tar xf node_exporter-0.16.0.linux-amd64.tar.gz -C /usr/local/
cd /usr/local/node_exporter-0.16.0.linux-amd64
#启动node_exporter,后台运行
nohup ./node_exporter &
#默认启动的端口是9100
lsof -i:9100

prometheus服务端配置pull拉取客户端指标数据

客户端的node_exporter已经安装完毕,下面来配置prometheus服务端,如下所示:

cd /usr/local/prometheus-2.5.0.linux-amd64
#编辑主配置文件,添加一个客户端的配置
vim prometheus.yml			 
# my global config
global:
  scrape_interval:     15s # Set the scrape interval to every 15 seconds. Default is every 1 minute.
  evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute.
  # scrape_timeout is set to the global default (10s).

# Alertmanager configuration
alerting:
  alertmanagers:
  - static_configs:
    - targets:
      # - alertmanager:9093

# Load rules once and periodically evaluate them according to the global 'evaluation_interval'.
rule_files:
  # - "first_rules.yml"
  # - "second_rules.yml"

# A scrape configuration containing exactly one endpoint to scrape:
# Here it's Prometheus itself.
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: ['localhost:9090']


  - job_name: 'client1'									#复制一个job_name的标签,与上面那个job_name对其,client1是job_name,可自定义
    static_configs:
    - targets: ['192.168.118.135:9100']					#填写客户端的IP和node_export的端口

#注意:普罗米修斯的配置文件时yml格式的,yml语法标签对齐,空格等都要非常严格的语法

#关闭prometheus服务
kill -9 34937
#重启prometheus服务
./prometheus &	

查看普罗米修斯能否正常监控客户端:
在这里插入图片描述
查看客户端的1分钟负载:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值