prometheus安装和使用记录

这篇具有很好参考价值的文章主要介绍了prometheus安装和使用记录。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Getting started | Prometheus

Configuration | Prometheus
Download | Prometheus
Download Grafana | Grafana Labs
 
# prometheus
mkdir
-m=777 -p /data/{download,app_logs,app/prometheus} cd /data/download wget https://github.com/prometheus/prometheus/releases/download/v2.45.0-rc.0/prometheus-2.45.0-rc.0.linux-amd64.tar.gz tar xvfz prometheus-*.tar.gz
ln -s /data/download/prometheus-2.45.0-rc.0.linux-amd64/prometheus /usr/bin/prometheus
cp
/data/download/prometheus-2.45.0-rc.0.linux-amd64/prometheus.yml /data/app/prometheus/prometheus.yml
prometheus --config.file=/data/app/prometheus/prometheus.yml --web.listen-address=:9090 --web.enable-lifecycle --storage.tsdb.path=/data/app/prometheus/data >>/data/app_logs/prometheus.log 2>&1 &

# node_exporter 在需要监控的服务器里安装
mkdir -m=777 -p /data/{download,app_logs,app/prometheus}
cd /data/download
wget https://github.com/prometheus/node_exporter/releases/download/v1.6.0/node_exporter-1.6.0.linux-amd64.tar.gz
tar xvfz node_exporter*
ln -s /data/download/node_exporter-1.6.0.linux-amd64/node_exporter /usr/bin/node_exporter
# 启动node_exporter,服务器暴露的端口是8080,同时服务器里有其他服务占用了8080端口,可以使用nginx将node_exporter获取指标的api暴露出去
# location /metrics {
# proxy_pass http://127.0.0.1:9000/metrics;
# }
node_exporter --web.listen-address 127.0.0.1:9000 >>/data/app_logs/node_exporter.log 2>&1 &
# 添加node_exporter之后,需要更新prometheus.xml添加targets,然后运行:curl -X PUT http://server_address:port/-/reload重新加载配置文件

#
alert_manager可以和prometheus安装到同一台服务器
cd /data/download
wget https://github.com/prometheus/alertmanager/releases/download/v0.25.0/alertmanager-0.25.0.linux-amd64.tar.gz
tar xvfz alertmanager*
ln -s /data/download/alertmanager-0.25.0.linux-amd64/alertmanager /usr/bin/alertmanager
cp /data/download/alertmanager-0.25.0.linux-amd64/alertmanager.yml /data/app/prometheus/alertmanager.yml
alertmanager --config.file=/data/app/prometheus/alertmanager.yml --web.listen-address 127.0.0.1:9001 >>/data/app_logs/node_exporter.log 2>&1 &
# 将alert_manager的地址添加到prometheus.yml里的alertmanagers的targets里,然后运行:curl -X PUT http://server_address:port/-/reload重新加载配置文件

测试报警邮件功能:设置如果安装exporter的服务器内存占用率超过50%或者tcp timewait超过10的时候就发邮件(在实际工作中需要设置一个合适的条件):

prometheus.yml里添加rule_files的路径:

# 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:
          - 127.0.0.1:9001

# Load rules once and periodically evaluate them according to the global 'evaluation_interval'.
rule_files:
  # - "first_rules.yml"
  # - "second_rules.yml"
  - "/data/app/prometheus/alert.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'.
    scrape_interval: 5s

    static_configs:
            - targets: ["node1_ip:8080"]
            - targets: ["node2_ip:8080"]
              labels:
                groups: 'container'

alert.rules.yml里添加具体的rule,node_socket_TCP_tw这些具体的指标通过http://node_exporter_ip:port/metrics可以获取到

groups:
- name: tcp-alert-group
  rules:
  - alert: TcpTimeWait
    expr: node_sockstat_TCP_tw > 10
    for: 10m
    labels:
      severity: warning
    annotations:
      summary: tcp time wait more than 10
      description: please check node_sockstat_TCP_tw metric
  - alert: MemoryUse
    expr: (node_memory_MemTotal_bytes-node_memory_MemFree_bytes-node_memory_Buffers_bytes-node_memory_Cached_bytes)/node_memory_MemTotal_bytes > 0.5
    for: 10m
    labels:
      severity: warning
    annotations:
      summary: memory use more than 50% for 10 min
      description: please check memory use

alertmanager.yml里配置告警邮件的信息:

global:
  resolve_timeout: 5m
  smtp_smarthost: your_smpt_host:port
  smtp_from: alertmanager@your_email_domain
  smtp_require_tls: false
route:
  group_by: ['alertname']
  group_wait: 30s
  group_interval: 5m
  repeat_interval: 10m
  receiver: 'email'
receivers:
  - name: 'email'
    email_configs:
    - to: 'receiver_email'
      send_resolved: true

yml文件一旦更新,需要重新加载配置:curl -X PUT http://server_address:port/-/reload

在Prometheus的界面可以看到添加的alert:

prometheus安装和使用记录

 当alert的条件满足后,alertmanager就会发邮件

prometheus安装和使用记录prometheus安装和使用记录

 

grafana的安装和启动:

# grafana可以和prometheus里安装到同一台服务器
yum install -y https://dl.grafana.com/enterprise/release/grafana-enterprise-10.0.0-1.x86_64.rpm
# grafana默认启动的端口号是3000,如果服务器没有暴露3000端口的话,需要修改grafana的配置文件
sed -i 's/3000/8080/g' /usr/share/grafana/conf/defaults.ini
grafana server >> /data/app_logs/grafana.log 2>&1 &
# grafana数据保存地址:/var/lib/grafana.db

grafana启动之后就可以在浏览器上打开对应的地址,初次登录用户名和密码:admin/admin

Data sources里添加prometheus,grafana和prometheus启动在同一台服务器里的话,地址就可以用localhost

prometheus安装和使用记录

 添加dashboard,在Explore里可以查询指标并且添加到dashboard

cpu使用率:avg(1-irate(node_cpu_seconds_total{mode="idle"}[1m])) by(instance)

内存使用率:(node_memory_MemTotal_bytes-node_memory_MemFree_bytes-node_memory_Buffers_bytes-node_memory_Cached_bytes)/node_memory_MemTotal_bytes

tcp连接数:node_sockstat_TCP_alloc

prometheus安装和使用记录

 dashboard:

prometheus安装和使用记录

 

 

注意点:文章来源地址https://www.toymoban.com/news/detail-490616.html

1.prometheus启动的时候添加--web.enable-lifecycle才允许通过调用/-/reload接口重新加载配置文件
2.prometheus启动的时候指定一个固定的数据存放位置--storage.tsdb.path=/data/app/prometheus/data,如果数据存放位置不一致,启动后查不到历史数据,历史数据做备份的话,prometheus启动的服务器还可以变更
3.grafana的数据保存地址:/var/lib/grafana.db,定期做备份,服务器发生系统错误无法使用的时候,在新的服务器里同步/var/lib/grafana.db文件之后,启动grafana之前的配置不会丢失

到了这里,关于prometheus安装和使用记录的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Telegraf介绍和使用(安装、使用、内部数据结构-InfluxDB行协议、配置、架构、Glob的使用、插件的集成和实现、集合Prometheus)

    Telegraf是一个基于插件的开源指标采集工具。本身是为InfluxDB(一款时序数据库)量身打造的数据收集器,但是它过于优秀,能够将抓取的数据写到很多地方,尤其在时序数据库领域,很多时序数据库都能够与它配合使用。通常,它每隔一段时间抓取一批指标数据(比如机器的

    2024年02月12日
    浏览(63)
  • pytest - Getting Start

    项目开发中有很多的功能,通常开发人员需要对自己编写的代码进行 自测 ,除了借助 postman 等工具进行测试外,还需要编写单元测试对开发的代码进行测试,通过单元测试来判断代码是否能够实现需求,本文介绍的 pytest 模块是一个非常好用的框架,不仅支持简单的测试也支

    2024年02月06日
    浏览(43)
  • Prometheus详解(四)——Prometheus简单使用

    今天继续给大家介绍Linux运维相关知识,本文主要内容是Prometheus简单使用。 在上文Prometheus详解(三)——Prometheus安装部署中,我们介绍了Prometheus的安装和部署。今天,我们就来介绍一下Prometheus的简单使用。 首先,我们先来介绍一下Prometheus的页面。Prometheus的页面如下所示

    2023年04月08日
    浏览(35)
  • Getting started with Java

    : 是Java中被赋予特殊意义的单词, 例如: class 定义了一个模块, 它的代码形式如下: 在class后面紧跟着类名, 类名后的大括号中是类实现的方法 字面量: 数据在程序中的书写格式 字面量类型 说明 举例 整数类型 不带小数点的数字 666, -88 小数类型 带小数点的数字

    2024年04月26日
    浏览(31)
  • Prometheus系列(一)安装

    官网:https://prometheus.io/ 下载:https://prometheus.io/download/ 手册:https://prometheus.io/docs/introduction/overview/ Prometheus 基于 Golang 编写,编译后的软件包,不依赖于任何的第三方依赖。只需要下载对应平台的二进制包,解压并且添加基本的配置即可正常启动 Prometheus Server。 1.1 下载安装

    2023年04月27日
    浏览(33)
  • Prometheus + Grafana安装

    Prometheus是一款基于时序数据库的开源监控告警系统,非常适合Kubernetes集群的监控。Prometheus的基本原理是通过HTTP协议周期性抓取被监控组件的状态,任意组件只要提供对应的HTTP接口就可以接入监控。不需要任何SDK或者其他的集成过程。这样做非常适合做虚拟化环境监控系统

    2024年02月14日
    浏览(36)
  • 3 Prometheus安装

    目录 1. 安装Prometheus 2. 基于linux安装Prometheus 下载安装包 将安装包放在合适的目录下  启动prometheus 访问 3. 配置Prometheus 3.1 global 3.2 alerting 3.3 rule_files 3.4 static_configs 4. 第一个指标 5 表达式浏览器 指标列表自动填充 指标名称筛选  指标条件筛选  6. 聚合时间序列 sum函数进行累

    2024年02月13日
    浏览(27)
  • Prometheus安装部署(主体)

    下载地址:https://github.com/prometheus/prometheus/releases 选择适合自己的,我这里是linux arm64 上传到服务器,并解压 编写系统服务 输入以下啊内容 相关参数说明 赋予权限 刷新服务配置并启动服务 查看启动状态 设置开机自启动 开启端口,centos可以参考:Linux常用命令(CentOS 7) 访

    2024年01月21日
    浏览(26)
  • Prometheus Operator 极简配置方式在k8s一条龙安装Prometheus 监控

    在k8s上 Prometheus(普罗米修斯) 监控,需要部署各种组件,比如Prometheus、Alertmanager、Grafana。同时各个组件的配置文件也是需要到处各个配置,Prometheus配置监控服务时,你还要知道各个监控服务的地址,地址换了还需要更新, 实在是麻烦。而今天的主角 Prometheus Operator 使用自

    2024年02月02日
    浏览(46)
  • Prometheus介绍安装和快速入门

    1.1 什么是 Prometheus? Prometheus(普罗米修斯)是古希腊的一个神明,名字的意思是「先见之明」。从它的名字可以看出, Prometheus 是做「先见之明」的监控告警用途。维基百科简单写了它的作用:Prometheus is a free software application used for event monitoring and alerting(Prometheus 是用来监控

    2024年02月10日
    浏览(41)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包