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)

大家都在看

  • redis 常用命令

    批量删除redis key redis-cli -a xxx keys “prefix_tb_supplier:spl_id*” | xargs redis…

    Linux 2023年5月28日
    098
  • 我叫Mongo,干了「索引探索篇」提升我的效率,值得您拥有

    这是mongo第四篇”索引探索”,后续会连续更新4篇 mongodb的文章总结上会有一系列的文章,顺序是先学会怎么用,在学会怎么用好,戒急戒躁,循序渐进,跟…

    Linux 2023年6月14日
    084
  • 博客园排名预测

    前言 之前写过一篇绘制博客园积分与排名趋势图的文章——《查看博客园积分与排名趋势图的工具》,使用那篇文章介绍的工具,可以通过趋势图直观的看出排名前进的走势。但是如果想看看自己积分达…

    Linux 2023年6月6日
    0102
  • Linux备份之远程同步—rsync

    一、备份 1.1 什么是备份? 备份就是把重要的数据或者文件复制一份保存到另一个地方,实现不同主机之间的数据同步 1.2 为什么做备份? 数据在公司中是很重要的!!!备份就是为了恢…

    Linux 2023年5月27日
    0108
  • LeetCode 155最小栈: 无额外占用空间-储存差值 |Min Stack with No extra space-Store as Difference

    Problem description Design a stack that supports push, pop, top, and retrieving the minimu…

    Linux 2023年6月13日
    098
  • Linux 进程卡住了怎么办?

    在我们使用 Linux 系统时,如果网络或者磁盘等 I/O 出问题,会发现进程卡住了,即使用 kill -9 也无法杀掉进程,很多常用的调试工具,比如 strace, pstack…

    Linux 2023年5月27日
    091
  • redis如何设置密码

    密码设置这里简单介绍一下redis如何设置密码redis密码设置有两种方式,一种需要重启redis服务,一种不需要重启redis服务。 首先,介绍一下需要重启redis服务的设置方…

    Linux 2023年5月28日
    0102
  • 小试牛刀:Linux中部署RabbitMQ

    一、下载地址 本人采用的是 RabbitMQ 3.8.20+ Erlang 23.3.4.16 1、Erlang下载:https://github.com/erlang/otp/r…

    Linux 2023年6月14日
    098
  • Docker私有仓库搭建

    Docker私有仓库搭建 1、Docker Registry 网上有很多的 Registry服务器都支持第三方用户注册,而后基于用户名去做自己的仓库,但是使用互联网上的 Regis…

    Linux 2023年6月7日
    0158
  • Centos7(非LVM)扩容根目录

    Centos7(非LVM)扩容根目录 系统安装在了VM上,so首先对虚拟机进行扩容: 1、进入VM,选择”虚拟机——>设置” 2、选择硬盘,看到扩展为…

    Linux 2023年6月8日
    0153
  • Pycharm设置python文件头

    设置路径为: File->Setting->Editor->File and code Templates->Python Script 可用的预定义文件模…

    Linux 2023年6月8日
    0116
  • redis压力测试【转】

    本文转自: https://segmentfault.com/a/1190000015571891 redis自带的redis-benchmark工具 Redis 自带了一个叫re…

    Linux 2023年5月28日
    075
  • Java基础系列–07_String、StringBuffer和StringBuilder

    String类(1)字符串:字符串是 常量;它们的值在 创建之后不能更改,存储在堆中。如果字符串多次赋值,其实是每次重新赋值的时候程序都先在内存中寻找已开辟的空间是否存在该值;如果…

    Linux 2023年6月7日
    082
  • [20211108]索引分裂块清除日志增加(唯一索引)2.txt

    [20211108]索引分裂块清除日志增加(唯一索引)2.txt –//链接http://blog.itpub.net/267265/viewspace-2840853…

    Linux 2023年6月13日
    090
  • cdn缓存顺序优先级

    posted @2022-09-26 17:28 爱折腾的大臭臭 阅读(10 ) 评论() 编辑 Original: https://www.cnblogs.com/linuxsh…

    Linux 2023年6月6日
    0122
  • CentOS——Redis消息订阅发布

    作用: 发布订阅类似于信息管道,用来进行系统之间消息解耦。类似于mq,rebbitmq,rocketmq,kafka,activemq 主要有消息发布者和消息订阅者。 比如:订单支…

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