prometheus监控

介绍

Prometheus是一个开源监控系统,它前身是SoundCloud的警告工具包。从2012年开始,许多公司和组织开始使用Prometheus。该项目的开发人员和用户社区非常活跃,越来越多的开发人员和用户参与到该项目中。目前它是一个独立的开源项目,且不依赖与任何公司。为了强调这点和明确该项目治理结构,Prometheus在2016年继Kurberntes之后,加入了Cloud Native Computing Foundation。

安装步骤

  • 安装prometheus,监控服务
  • 安装node-exporter,节点数据收集服务
  • 安装alertmanager,报警服务
  • 安装grafana,图形化展示服务

一、安装prometheus

下载
wget https://github.com/prometheus/prometheus/releases/download/v2.12.0/prometheus-2.12.0.linux-amd64.tar.gz
tar xf prometheus-2.12.0.linux-amd64.tar.gz
cd prometheus-2.12.0.linux-amd64
根据下面yml配置文件配置需要信息
vim prometheus.yml
启动
./prometheus
访问prometheus
http://192.168.1.24:9090

配置修改:prometheus.yml

global:
  # 每隔15秒向pushgateway采集一次指标数据
  scrape_interval:    15s
  # 每隔15秒根据所配置的规则集,进行规则计算
  evaluation_interval: 15s

alerting:
  alertmanagers:
  - static_configs:
  # 设置altermanager的地址,altermanager报警规则服务
    - targets: ['192.168.1.24:9093']

  # 指定所配置报价模板文件,下面给出模板配置
rule_files:
  - "rules.yml"

scrape_configs:
  # 用于获取被控主机数据,可以添加多条
  - job_name: '测试-25'
    static_configs:
    - targets: ['192.168.1.25:9100']

使用systemctl管理

vi  /etc/systemd/system/prometheus.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

二、监控机安装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
cd node_exporter-0.18.1.linux-amd64
启动
./node_exporter
访问
http://192.168.1.24:9100

使用systemctl管理

–collector.systemd 开启system 服务的监控

vi  /etc/systemd/system/node_exporter.service
[Unit]
Description=node_exporter service

[Service]
ExecStart=/usr/local/node_exporter/node_exporter \
    --collector.systemd \
    --collector.systemd.unit-whitelist=(chronyd|sshd|nginx).service

TimeoutStopSec=10
Restart=on-failure
RestartSec=5

[Install]
WantedBy=multi-user.target

常用查询

prometheus监控
  • cpu使用总量
node_cpu_seconds_total
  • mode标签值为idle的为空闲
node_cpu_seconds_total{mode='idle'}
  • 获取5分钟内的CPU平均空闲情况
avg(irate(node_cpu_seconds_total{mode='idle'}[5m])) by (instance)
  • 获取CPU5分钟内使用率
100 - (avg(irate(node_cpu_seconds_total{mode='idle'}[5m])) by (instance) *100)
  • 获取空闲内存
(node_memory_MemFree_bytes+node_memory_Cached_bytes+node_memory_Buffers_bytes)
  • 获取空闲内存率
(node_memory_MemFree_bytes+node_memory_Cached_bytes+node_memory_Buffers_bytes) / node_memory_MemTotal_bytes * 100
  • 获取内存使用率
100 - ((node_memory_MemFree_bytes+node_memory_Cached_bytes+node_memory_Buffers_bytes) / node_memory_MemTotal_bytes * 100)
  • 剩余磁盘空间
node_filesystem_free_bytes
  • 磁盘空间总大小
node_filesystem_size_bytes
  • 获取磁盘空闲率
node_filesystem_free_bytes{fstype=~"ext4|xfs",mountpoint="/"} / node_filesystem_size_bytes{fstype=~"ext4|xfs",mountpoint="/"} *100
  • 获取磁盘使用率
100 - (node_filesystem_free_bytes{fstype=~"ext4|xfs",mountpoint="/"} / node_filesystem_size_bytes{fstype=~"ext4|xfs",mountpoint="/"} *100)
  • 配置node_exporter启动参数
--collector.systemd --collector.systemd.unit-whitelist=(chronyd|sshd|nginx).service
  • 查询nginx状态
node_systemd_unit_state{name="nginx.service", state="active"}

说明:

存活状态
node_systemd_unit_state使用这个监控项查看,里面也有很多标签,
name=”docker.service”,标签name表示服务的名称,
state=”active”,state表示服务的状态,active表示活动的,对应的监控值也是1,如果为1则表示正常,不为1表示异常

Original: https://www.cnblogs.com/outsrkem/p/14402492.html
Author: Outsrkem
Title: prometheus监控

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/578475/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • Centos 7 升级内核

    【背景说明】 在公司进行部署产品时,发公司内部的服务内核资源并不能满足于产品部署条件,于是我和内核就进行了一场风花雪月般的交互,在操作前,本人小白一枚,就在浩瀚的互联网海洋中搜索升…

    Linux 2023年5月27日
    096
  • Spring事务基础入门及AOP陷阱分析

    更新说明: 2021-12-28 6.2.1 章节更新了代理说明图,调整了说明顺序,修复了错误说明 转载请注明出处: https://www.cnblogs.com/qnlcy/p…

    Linux 2023年6月6日
    078
  • 安装 Ubuntu 20.04 之后要做的事(持续更新中)

    以 Ubuntu 20.04 LTS 为例,在安装完操作系统后,应进行以下操作,以方便我们日常的工作。 1. SSH 远程登录相关设置 安装 Ubuntu 操作系统之后,首先应该按…

    Linux 2023年5月27日
    086
  • 4-初识Django Admin

    初识Django Admin Django Admin是Django为我们提供的网站后台管理应用,通常网站,个人博客,CMS等都会有个后台管理界面,这个界面只有管理员权限的用户才能…

    Linux 2023年6月7日
    086
  • node.js和vue cli脚手架下载安装配置方法

    一、node.js安装以及环境配置 1、下载vue.js 下载地址: https://nodejs.org/en/ 2、安装node.js 下载完成后,双击安装包开始安装。安装地址…

    Linux 2023年6月7日
    0101
  • 维修数列代码及简易题解

    总体方案:将左右端点分别转到根和根的右儿子,将目标序列挤到以根的右儿子的左儿子为根的子树中,然后进行一系列骚操作即可 建树:用类似线段树的方法建树,递归即可,注意加两个边界点 插入…

    Linux 2023年6月6日
    0114
  • linux系统编码修改

    查看当前系统默认采用的字符集locale 查看系统当前编码echo $LANG如果输出为:en_US.UTF-8 英文zh_CN.UTF-8 中文 查看系统是否安装中文字符集loc…

    Linux 2023年6月6日
    091
  • PHP 获取数组长度

    count()函数,默认是获取一维数组,参数为:COUNT_NORMAL,添加第二个参数:COUNT_RECURSIVE,则可以获取多维关联数组的长度(意思为递归获取),例如:co…

    Linux 2023年6月7日
    0116
  • Centos-Stream 配置本地yum源和配置阿里云yum源

    镜像下载、域名解析、时间同步请点击阿里云开源镜像站 一、配置本地yum源 1. 挂载iso 2.创建目录并挂载iso 该文件按以下方式修改,有六处更改 [En] The file …

    Linux 2023年5月27日
    0116
  • WEB自动化-02-Cypress 安装

    2 Cypress 安装 2.1 安装要求 2.1.1 系统要求 在操作系统满足以下要求时,才能进行安装,具体要求如下所示: MacOS 10.9+(仅支持64位版本) Linux…

    Linux 2023年6月7日
    0102
  • Pytorch Tensor 维度的扩充和压缩

    维度扩展 x.unsqueeze(n) 在 n 号位置添加 一个维度 例子: import torch x = torch.rand(3,2) x1 = x.unsqueeze(0…

    Linux 2023年6月7日
    082
  • 北京思特奇2023年校招笔试(Java)

    北京思特奇2023年校招笔试(Java) 1、表达式 (short)10/10.2*2 运算后结果是什么类型? 答案:double,浮点数默认是double,自动类型向上转换为浮点…

    Linux 2023年6月14日
    091
  • exec

    exec 函数 exec()函数通过运行其他程序来替换当前进程。 新程序启动后PID和老程序一样,就像两个程序接力跑,你的程序把进程交接给了新程序。 exec函数众多,可以分为两种…

    Linux 2023年6月7日
    094
  • 用无感知的方式为你的数据加上一层缓存

    前言 本篇文章会介绍一个我自己写的库,库地址在这里,主要作用是提供一个注解,在你方法上使用这个注解,库提供的功能会帮你把数据自动缓存起来,下次再调用这个方法只要入参是一致的则直接会…

    Linux 2023年6月14日
    0125
  • NoteOfMySQL-11-权限管理

    一、权限系统 MySQL数据库中使用3种不同类型的安全检查:登录验证、授权、访问控制。 二、权限表 MySQL权限表存储在名为mysql的数据库中,常用的表有user、db、tab…

    Linux 2023年6月14日
    075
  • 继承、封装、多态的实现原理

    欢迎来到Java学习之继承、封装、多态的实现原理 目录 从JVM结构开始谈多态 JVM 的结构 Java 的方法调用方式 常量池(constant pool) 图 2. 常量池各表…

    Linux 2023年6月13日
    099
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球