• Prometheus监控实战应用


    1.Prometheus的主要特征及概述

    概述:

    Prometheus(由go语言(golang)开发)是一套开源的监控&报警&时间序列数据库的组合。适合监控docker容器。因为kubernetes(俗称k8s)的流行带动了prometheus的发展。
    
    时间序列数据特点:
    1.性能好
    2.存储成本低,高效的压缩算法,节省存储空间,有效降低IO。
    
    Prometheus有着非常高效的时间序列数据存储方法,每个采样数据仅仅占用3.5byte左右空间,上百万条时间序列,30秒间隔,保留60天,大概花了200多G(来自官方数据)
    

    特征:

    1.多维度数据模型
    2.灵活的查询语言
    3.不依赖分布式存储,单个服务器节点是自主的
    4.以HTTP方式,通过pull模型拉去时间序列数据
    5.也可以通过中间网关支持push模型
    6.通过服务发现或者静态配置,来发现目标服务对象
    7.支持多种多样的图表和界面展示
    

    2.普罗米修斯原理架构图

    3.下载安装启动Prometheus

    官网下载地址:https://prometheus.io/download/
    //下载
    wgt https://github.com/prometheus/prometheus/releases/download/v2.35.0/prometheus-2.35.0.linux-amd64.tar.gz
    //解压
    tar -xf prometheus-2.35.0.linux-amd64.tar.gz -C /usr/local
    //改名
    mv prometheus-2.35.0.linux-amd64 prometheus
    //默认启动
    nohup ./prometheus --config.file="/usr/local/prometheus/prometheus.yml" &
    //端口检查
    lsof -i:9090
    ss -naltp |grep 9090
     
    //浏览器访问192.168.0.215:9090
    

    4.web客户端操作

    //浏览器访问192.168.0.215:9090
    默认监控本机
    
    

    5.默认图像

    6.目录解释

    console_libraries目录:
    consoles目录:
    LICENSE问价:
    NOTICE文件:
    prometheus文件:默认启动的可执行文件
    prometheus.yml配置文件:默认配置文件
    promtool文件:
    

    7.配置文件

    vi prometheus.yml

    global:
      scrape_interval:     60s # 拉取时间间隔
      evaluation_interval: 60s # 告警时间间隔
    
    - job_name: "prometheus"  #监控名称取名字
        static_configs:
          - targets: ["localhost:9090"] #被监控机器的ip和端口
    

    8.监控指标

    指标配置下载:https://prometheus.io/download/
    

    8.1.监控其他机器node_exporter

    在其他机器安装node_exporter,端口9100
    

    第一步:下载安装node_exporter

    //下载
    wget https://github.com/prometheus/node_exporter/releases/download/v1.3.1/node_exporter-1.3.1.linux-amd64.tar.gz
    //解压
    tar -xf node_exporter-1.3.1.linux-amd64.tar.gz -C /usr/local/
    //改名
    mv node_exporter-1.3.1.linux-amd64 node_exporter
    //启动
    nohup /usr/local/node_exporter/node_exporter &
    //浏览器输入,监控数据,端口9100
    http://192.168.0.216:9100/metrics
    

    第二步:配置到prometheus

    vi /usr/local/prometheus/prometheus.yml
    
      - job_name: "node"
        static_configs:
          - targets: ["192.168.0.216:9100"]
            labels:
              instance: 192.168.0.216
              group: node
          - targets: ["192.168.0.247:9100"]
            labels:
              instance: 192.168.0.247
              group: node
          - targets: ["192.168.0.235:9100"]
            labels:
              instance: 192.168.0.235
              group: node
          - targets: ["192.168.0.236:9100"]
            labels:
              instance: 192.168.0.236
              group: node
    
    //重启prometheus
    lsof -i:9090
    kill -9 xxxx
    nohup ./prometheus &
    

    查看:

    8.2监控mysql指标mysqld_exporter

    第一步:下载安装mysqld_exporter

    端口:9104

    //下载
    wget https://github.com/prometheus/mysqld_exporter/releases/download/v0.14.0/mysqld_exporter-0.14.0.linux-amd64.tar.gz
    
    //解压
    tar -xf mysqld_exporter-0.14.0.linux-amd64.tar.gz -C /usr/local/
    //改名
    mv mysqld_exporter-0.14.0.linux-amd64 mysqld_exporter
    //创建mysqld_exporter需要使用mysql的用户名和密码,文件需要手动创建
    vi /usr/local/mysqld_exporter/my.cnf
    [client]
    host=192.168.0.215
    user=root
    password=123456
    port=3306
    //启动mysqld_exporter
    nohup ./mysqld_exporter --config.my-cnf=./my.cnf &
    //检查端口
    lsof -i:9104
    

    第二步:配置到prometheus

    vi /usr/local/prometheus/prometheus.yml
    
    - job_name: "sg-215-mysql"
        static_configs:
          - targets: ["192.168.0.215:9104"]
    
    //重启prometheus
    lsof -i:9090
    kill -9 xxxx
    nohup ./prometheus &
    

    查看:

    8.3监控postgres指标postgres_exporter

    第一步:下载安装postgres_exporter

    //下载
    wget https://github.com/prometheus-community/postgres_exporter/releases/download/v0.10.1/postgres_exporter-0.10.1.linux-386.tar.gz
    //解压
    tar -xf postgres_exporter-0.10.1.linux-386.tar.gz -C /usr/local/
    //改名
    mv postgres_exporter-0.10.1.linux-386 postgres_exporter
    //添加环境变量
    export DATA_SOURCE_NAME="postgresql://postgres:iLoveShark@192.168.0.247:32432/postgres?sslmode=disable"
    //启动
    nohup ./postgres_exporter &
    //浏览器输入:http://192.168.0.215:9187/metrics
    

    第二步:配置到prometheus

    - job_name: "postgreSql"
        static_configs:
          - targets: ["192.168.0.215:9187"]
            labels:
              instance: 192.168.0.247:32432
              group: postgreSql
          - targets: ["192.168.0.216:9187"]
            labels:
              instance: hk-center.pg.rds.aliyuncs.com:5432
              group: postgreSql
    

    8.4监控redis指标redis_exporter

    第一步:下载安装redis_exporter

    //下载
    wget https://github.com/oliver006/redis_exporter/releases/download/v1.37.0/redis_exporter-v1.37.0.linux-386.tar.gz
    //解压
    tar -xf redis_exporter-v1.37.0.linux-386.tar.gz -C /usr/local/
    //改名
    mv redis_exporter-v1.37.0.linux-386 redis_exporter
    //启动
    ./redis_exporter -help //查看参数
    nohup ./redis_exporter -redis.addr 192.168.0.247:30279 & //无密码
    nohup ./redis_exporter -redis.addr 192.168.0.247:30279 -redis.password 123456 & //有密码
    
    //浏览器输入:http://192.168.0.215:9121/metrics
    

    第二步:配置到prometheus

    - job_name: "redis"
        static_configs:
          - targets: ["192.168.0.215:9121"]
            labels:
              instance: 192.168.0.247:30279
              group: redis
    

    9.监控站点

    9.1blackbox_exporter应用场景

    HTTP 测试: 定义 Request Header 信息、判断 Http status / Http Respones Header / Http Body 内容
    TCP 测试:  业务组件端口状态监听、应用层协议定义与监听
    ICMP 测试: 主机探活机制
    POST 测试: 接口联通性
    SSL证书过期时间
    

    9.2下载安装blackbox_exporter

    https://prometheus.io/download/
    

    //下载
    wget https://github.com/prometheus/blackbox_exporter/releases/download/v0.20.0/blackbox_exporter-0.20.0.linux-amd64.tar.gz
    //解压
    tar -xf blackbox_exporter-0.20.0.linux-amd64.tar.gz -C /usr/local/
    //改名
    mv blackbox_exporter-0.20.0.linux-amd64 blackbox_exporter
    //启动
    nohup ./blackbox_exporter &
    //浏览器输入http://192.168.0.215:9115/
    

    9.3网站监控-prometheus配置

    vi /usr/local/prometheus/prometheus.yml

    //重启prometheus
    lsof -i:9090
    kill -9 xxxx
    nohup ./prometheus &

    网站监控:

      - job_name: 'http_status'
        metrics_path: /probe
        params:
          module: [http_2xx]
        static_configs:
          - targets: ['https://admin.d.blueshark.com']
            labels:
              instance: admin.d.blueshark.com
              group: web
          - targets: ['https://admin.k.blueshark.com']
            labels:
              instance: admin.k.blueshark.com
              group: web
        relabel_configs:
          - source_labels: [__address__]
            target_label: __param_target
          - target_label: __address__
            replacement: 192.168.0.215:9115
    

    9.4ping检测-prometheus配置

    ping检测:

      - job_name: 'ping_status'
        metrics_path: /probe
        params:
          module: [icmp]
        static_configs:
          - targets: ['192.168.0.249']
            labels:
              instance: 'ping_status'
              group: 'icmp'
        relabel_configs:
          - source_labels: [__address__]
            target_label: __param_target
          - target_label: __address__
            replacement: 192.168.0.215:9115
    

    9.5端口检测--prometheus配置

    端口检测:

      - job_name: 'port_status'
        metrics_path: /probe
        params:
          module: [tcp_connect]
        static_configs:
          - targets: ['192.168.0.215:80', '192.168.0.216:80', '192.168.0.217:80']
            labels:
              instance: 'port_status'
              group: 'port'
        relabel_configs:
          - source_labels: [__address__]
            target_label: __param_target
          - target_label: __address__
            replacement: 192.168.0.215:9115
    
  • 相关阅读:
    优化VUE Element UI的上传插件
    Softether详解(三)——Softether管理端安装与设置
    Jenkins集成Terraform实现阿里云CDN自动刷新
    c/c++内存管理
    会议OA项目待开会议、所有会议功能
    HTML语言(概述及常用标签)
    配置https接口
    浅谈游戏机制
    html 标签简介
    宝宝用的洗衣液该怎么选
  • 原文地址:https://www.cnblogs.com/guyouyin123/p/16220484.html