助力工业物联网,工业大数据之服务域:Prometheus的介绍【三十六】

03:Prometheus的介绍

  • 目标:了解Prometheus的功能和特点

  • 路径

    • step1:功能
    • step2:特点
  • 实施

    • https://prometheus.io/

      image-20211005165514332

    • 功能:服务器性能指标监控及时序数据存储

      • Prometheus实现了高纬度数据模型,时间序列数据由指标名称和键值对指标组成。
      • PromQL允许对收集的时间序列数据进行切片和切块,生成ad-hoc图形、图表、告警
      • Prometheus有多种数据可视化模式:内置表达式浏览器,grafana集成、控制台模板语言
      • Prometheus使用有效的自定义格式将时间序列数据存储在内存中和本地磁盘,通过函数式分片和联邦进行弹性扩展。
      • 每个服务器都是独立的,仅依赖于本地存储。用go语言编写,所有二进制文件都是静态链接,易于部署。
      • 告警是基于PromQL灵活定义的,并保留维度信息,告警管理器控制告警信息的通知与否。
    • 特点

      • 多维度数据模型。
      • 灵活的查询语言。
      • 不依赖分布式存储,单个服务器节点是自主的。
      • 通过基于HTTP的pull方式采集时序数据。
      • 可以通过中间网关进行时序列数据推送。
      • 通过服务发现或者静态配置来发现目标服务对象。
      • 支持多种多样的图表和界面展示,比如Grafana等。
  • 小结

    • 了解Prometheus的功能和特点

04:Prometheus的架构

  • 目标了解Prometheus的架构

  • 实施

    image-20211005172848417

    • Prometheus server:Prometheus主服务器,它会收集并存储时间序列数据

    • Alalert manager:处理告警信息

    • Push gateway:支持短暂任务的推送网关

    • Client libraries:用于检测应用程序代码的客户端库

    • Exporters:特定的导出器服务,例如:HAProxy,StatsD,Graphite等服务。

  • 小结

    • 了解Prometheus的架构

05:Prometheus的部署

  • 目标实现Prometheus的部署

  • 实施

    • 上传解压

      cd ~
      rz
      # 解压安装包
      tar zxvf prometheus-2.26.0.linux-amd64.tar.gz -C /opt
      # 修改文件名
      mv /opt/prometheus-2.26.0.linux-amd64/ /opt/prometheus-2.26
      # 进入解压后的安装包
      cd /opt/prometheus-2.26
      
    • 验证

      ./prometheus --version
      
    • 查看配置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']
      
    • 注册系统服务

      vim /etc/systemd/system/prometheus.service
      
      [Unit]
      Description=Prometheus
      Documentation=Prometheus Monitoring System
      
      [Service]
      ExecStart=/opt/prometheus-2.26/prometheus --config.file=/opt/prometheus-2.26/prometheus.yml
      Restart=on-failure
      [Install]
      WantedBy=multi-user.target
      
    • 启动

      # 设置开机自启动
      systemctl enable prometheus
      # 启动服务
      systemctl start prometheus
      # 查看服务状态
      systemctl status prometheus
      
    • 验证:node1:9090

      image-20211005174237698

  • 小结

    • 实现Prometheus的部署

猜你喜欢

转载自blog.csdn.net/xianyu120/article/details/132326826
今日推荐