Prometheus的安装与配置

一、什么是Prometheus

Prometheus是由SoundCloud开发的开源监控报警系统和时序列数据库(TSDB)。Prometheus使用Go语言开发,是Google BorgMon监控系统的开源版本。2016年由Google发起Linux基金会旗下的原生云基金会(Cloud Native Computing Foundation), 将Prometheus纳入其下第二大开源项目。Prometheus目前在开源社区相当活跃。Prometheus和Heapster(Heapster是K8S的一个子项目,用于获取集群的性能数据。)相比功能更完善、更全面。Prometheus性能也足够支撑上万台规模的集群。其架构图如下:

二、服务端prometheus安装 

1、下载

wget https://github.com/prometheus/prometheus/releases/download/v2.19.2/prometheus-2.19.2.linux-amd64.tar.gz
tar zxvf prometheus-2.19.2.linux-amd64.tar.gz
mv prometheus-2.19.2.linux-amd64 /usr/local/prometheus

2、创建用户

groupadd prometheus
useradd -g prometheus -m -d /var/lib/prometheus -s /sbin/nologin prometheus
chown prometheus.prometheus -R /usr/local/prometheus

3、创建Systemd服务

cat > /etc/systemd/system/prometheus.service <<EOF
[Unit]
Description=prometheus
After=network.target
[Service]
Type=simple
User=prometheus
ExecStart=/usr/local/prometheus/prometheus --config.file=/usr/local/prometheus/prometheus.yml --storage.tsdb.path=/var/lib/prometheus/data 
Restart=on-failure
[Install]
WantedBy=multi-user.target
EOF

4、启动Prometheus

systemctl daemon-reload
systemctl start prometheus
systemctl status prometheus
systemctl enable prometheus

5、访问WEB界面

访问http://10.207.10.248:9090

三、节点端node_exporter安装

1、下载

wget https://github.com/prometheus/node_exporter/releases/download/v1.0.1/node_exporter-1.0.1.linux-amd64.tar.gz
tar zxvf node_exporter-1.0.1.linux-amd64.tar.gz
mv node_exporter-1.0.1.linux-amd64 /usr/local/node_exporter

2、创建用户

groupadd prometheus
useradd -g prometheus -m -d /var/lib/prometheus -s /sbin/nologin prometheus
chown prometheus.prometheus -R /usr/local/node_exporter

3、创建Systemd服务

cat > /etc/systemd/system/node_exporter.service <<EOF
[Unit]
Description=node_exporter
After=network.target
[Service]
Type=simple
User=prometheus
ExecStart=/usr/local/node_exporter/node_exporter
Restart=on-failure
[Install]
WantedBy=multi-user.target
EOF

4、启动node_exporter

systemctl daemon-reload
systemctl start node_exporter
systemctl status node_exporter
systemctl enable node_exporter

5、验证启动成功

curl 127.0.0.1:9100
curl 127.0.0.1:9100/metrics

四、服务端配置

prometheus的服务端通过pull向各个node_exporter节点端抓取信息,需要在各个node上安装exporter。可以利用 Prometheus 的 static_configs 来拉取 node_exporter 的数据。

编辑prometheus.yml文件,添加内容:

- job_name: 'node'
    static_configs:
    - targets: ['XXX.XXX.XXX.XXX:9100']

完整配置如下:

[root@localhost prometheus]# cat 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: 'server248'

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

    static_configs:
    - targets: ['172.17.10.248:9090']

  - job_name: 'node247'
    static_configs:
    - targets: ['172.17.10.247:9100']
  - job_name: 'node246'
    static_configs:
    - targets: ['172.17.10.246:9100']
  - job_name: 'node244'
    static_configs:
    - targets: ['172.17.10.244:9100']

重启prometheus,然后在Prometheus页面中的Targets中就能看到新加入的node:

systemctl restart prometheus

然后再次查询web界面如下:

访问http://10.207.10.248:9090

 

热门文章

暂无图片
编程学习 ·

Nginx系列(7):Nginx高并发初探

目录1、场景设置 — NGINX进程模型二、为什么框架如此重要?三、NGINX是如何运作的呢?四、NGINX内部工作进程五、NGINX是一个真正的大师六、更新配置文件升级NGINX七、结语原文出处:https://www.cnblogs.com/dz11/p/10215089.htmlNGINX 在网络应用中表现超群,在于其独特的设…
暂无图片
编程学习 ·

好程序员web前端培训分享HTMLCSS学习笔记BFC

好程序员web前端培训分享HTMLCSS学习笔记BFC,BFC(Block formatting context)直译为“块级格式化上下文”。它是一个独立的渲染区域,只有Block-level box(块)参与, 它规定了内部的Block-level Box如何布局,并且与这个区域外部毫不相干。 BFC的布局规则 一、内部的Box会在垂…
暂无图片
编程学习 ·

SQL Server将查询结果输出到文件中保存

1. 手动方法在SSMS中,查询出结果后,右键点击"copy/copy with headers"可以复制结果,打开空白csv/Excel后粘贴即可在SSMS中,查询出结果后,右键点击"save result as"(结果另存为)并保存即可 注意按照这种方法保存的结果是没有字段名称的,相当于上一种…
暂无图片
编程学习 ·

vue中的keep-alive使用总结

在平常开发中,有些组件只需要加载一次,后面的数据将不存在变化,亦或者是组件需要缓存状态,滚动条位置等,这个时候,keep-alive的用处就立刻凸显出来了。1.App.vue中使用keep-alive,include表示需要缓存的页面,exclude表示不需要缓存的页面,你可以只设置其中一个即可,但…
暂无图片
编程学习 ·

记录 之 最近阅读的动作识别(action recognition)工作

介绍:其中C3D是3d卷积的比较有意义的开端,I3d在C3D之后做了一系列研究,包括引入双流网络,和LSTM网络,并使用已经训练好的2D图像分类模型的参数维数扩充后用做3D网络的预训练模型。S3D是在I3D的基础上,探索了卷积拆分,使得模型的量级下降,并在后续的工作中加入了Graph C…
暂无图片
编程学习 ·

LeetCode题解(0762):二进制表示中质数个计算置位(Python)

题目:原题链接(简单)解法 时间复杂度 空间复杂度 执行用时Ans 1 (Python) O(N)O(N)O(N) O(1)O(1)O(1) 200ms (99.05%)Ans 2 (Python)Ans 3 (Python)LeetCode的Python执行用时随缘,只要时间复杂度没有明显差异,执行用时一般都在同一个量级,仅作参考意义。解法一:【思路】…
暂无图片
编程学习 ·

Easyui网上书城需求分析

Easyui网上书城分析背景/价值模块划分前台后台前台用户模块前台分类模块前台书籍模块前台购物车模块前台订单模块后台书籍模块后台权限模块后台订单模块数据库设计 背景/价值 对老板而言:方便管理,有助于书城的推广 对顾客而言:方便购买、查阅书籍 对图书的销售和采购提供了…
暂无图片
编程学习 ·

当我们谈论算法我们在谈论什么:由疫情核酸检测想到的分治算法(Divide-and-Conquer)

原文转载自「刘悦的技术博客」https://v3u.cn/a_id_159 北京的疫情一波未平一波又起,由此看来,战“疫”将是一场旷日持久的战争,绝不能掉以轻心、轻易言胜。病毒随时都会死灰复燃,以生命为代价换来的经验教训值得我们每一个人久久深思。笔者所在的小区也开始组织居民批量进…
暂无图片
编程学习 ·

flutter textfield设置高度后内容无法居中

Container(height: 50,width: MediaQuery.of(context).size.width * 2 / 3,alignment: Alignment.center,child: TextField(autofocus: true,decoration: InputDecoration(//这行代码是关键,设置这个之后,居中contentPadding: EdgeInsets.all(2),hintText: 请输入手机号,pref…
暂无图片
编程学习 ·

linux 修改时间并永久生效

Centos系统,必须同时修改系统时间和硬件时间,才可以保证修改有效,单纯的使用date命令修改系统时间,是立即生效,重启后系统还原。具体操作如下:1.date {查看目前本地的时间}2.hwclock --show {查看硬件的时间}3.如果硬件时间和系统时间不同,那就对硬件的时间进行修改4.hw…
暂无图片
编程学习 ·

flink on yarn启动流程分析

本文主要分析提交一个flink on yarn的任务的流程,以job模式为例子CliFront作为提交命令行的入口 一个命令行runJob的整体调用链路如下run -> runProgram -> executeProgram -> ClusterClient.run其中yarn相关的流程就在runProgram方法中 // 获取激活的customCommandL…
暂无图片
编程学习 ·

程序媛审美测评——控制台256种颜色搭配及控制台改变界面颜色的方法

改变控制台颜色的方法+程序媛审美色调推荐前言改变颜色der方法程序媛颜色审美测评初筛42种搭配复试4种出挑 前言 C语言小学期做大作业,感觉黑底白字略显单调,想换个颜色change一下枯燥的程序(然并卵)。对,前景和背景色各16种,笔者挨个测过去,一共测了256次。在此过程中,…
暂无图片
编程学习 ·

Java开发面试知识点-长期更新

前言:本节内容长期更新,专门为了扫清盲点复习。采取链接前置,内容后置。内容可能较为杂碎。 参考链接: Java基础知识面试题(2020最新版) 1、Java开发基础面试知识点 2、equals和HashCode深入理解以及Hash算法原理 长期更新1、String、StringBuilder、StringBuffer区别2、…
暂无图片
编程学习 ·

day1

入职第一天 早早去了公司,等了一会儿,hr来带我们入职,准备材料签合同,领办公用品。 根据入职文档及手册进行一系列配置(比较简单,跟着做一般不会出错) 在同事小姐姐的帮助下申请种种权限,下载要用到的软件,搭配环境(最难), 使用的是linux命令进行一系列操作: 打开…
暂无图片
编程学习 ·

JavaScript作用域--总结

JavaScript作用域是什么?咋一问让人确实很懵逼。作用域这个词耳熟能详,但作用域是什么,经常用却不知怎么说起。先从定义上来说,我觉得《不知道的JavaScript》一书说得很清晰,作用域是一套查找变量的规则。查找又从何说起?又是怎么一个查找法?说起这个不得不说JavaScript…
暂无图片
编程学习 ·

Spring Boot内嵌Tomcat临时目录问题

最近发现线上一个项目日志突然报错,最终找到解决方法记录一下原因参考 https://github.com/spring-projects/spring-boot/issues/5009tmpwatch – removes files which haven’t been accessed for a period of time如上所言,删除指定的目录中一段时间未访问的文件。一般对于…
暂无图片
编程学习 ·

XGBoost学习总结

XGBoost学习总结极端梯度提升算法XGBoost是2014年提出的基于CART回归树的一种boosting集成算法,是对梯度提升决策树(GBDT)算法的一种改进.它的目标是建立t棵回归树使得树群对样本的预测值尽可能接近样本的真实值,并且具有一定的泛化能力.本文是对XGBoost学习的总结与思考,通过总…
暂无图片
编程学习 ·

MySQL数据库的备份与恢复(4)——mysqldump参数详解

MySQL数据库的备份与恢复(4)——mysqldump参数详解 mysqldump是MySQL自带的逻辑备份命令,备份文件包含一组SQL语句,可以通过执行这些语句来生成备份前的数据库对象定义和表数据。mysqldump命令还可以生成CSV,其他分隔文本或XML格式的输出。 mysqldump命令的格式如下: mys…
暂无图片
编程学习 ·

Html常用标签和属性(包含Html5)

常用标签和属性 基本标签<title></title> 标签用于定义文档中的标题,是在所有 HTML 文档中必需的。里面的标题内容会出现在浏览器的标签页,是影响搜索引擎排名的重要内容。 <style></style> 是定义 HTML 文档样式的标签。用于为页面书写内部样式表…