zoukankan      html  css  js  c++  java
  • 基于Prometheus和Grafana监控redis,Oracle,mysql,pg以及sqlserver的方法总结

    基于Prometheus和Grafana监控redis,Oracle,mysql,pg以及sqlserver的方法总结


    • 简单记录一下方法

    1.获取相应的exporter


    1. redis
    docker pull  oliver006/redis_exporter
    2. Oracle
    docker pull iamseth/oracledb_exporter 
    3. mysql
    docker pull prom/mysqld_exporter
    4. pg
    docker pull quay.io/prometheuscommunity/postgres-exporter
    5.sqlserver
    docker pull awaragi/prometheus-mssql-exporter 
    
    • 注意可以选用其他的类型, 我这里为了简单起见 使用如此镜像.

    2. 容器化运行镜像的命令


    1. redis
    docker run -d --name redis_exporter6378 -p 9121:9121 oliver006/redis_exporter --redis.addr redis://yourip:yourredisport --redis.password 'YourRedisPassword'
    # 注意默认使用 9121 端口.
    2. Oracle
    docker run -d --name oracledb_exporter  --restart=always -p 9161:9161 -e DATA_SOURCE_NAME=sys/Mypassword@10.24.20.247/orcl iamseth/oracledb_exporter 
    # 注意必须要有斜线
    3. Mysql
    docker run -d --name mysql_exporter --restart always -p 9104:9104 -e DATA_SOURCE_NAME="root:password@(someip:3306)/"   prom/mysqld-exporter
    4. pg
    docker run -p 9187:9187 -d  -e DATA_SOURCE_NAME="postgresql://postgres:yourpassword@yourip:5432/postgres?sslmode=disable"  quay.io/prometheuscommunity/postgres-exporter
    # 注意如果使用非管理员用户 需要创建相关的表和视图.
    5. Sqlserver
    docker run -d -e SERVER=yourip -e USERNAME=SA -e PASSWORD=yourpassword -e DEBUG=app -p 4000:4000 --name prometheus-mssql-exporter172 awaragi/prometheus-mssql-exporter
    # 注意需要输入密码可以支持特殊字符
    

    3.启动prometheus


    • 注意prometheus 是 pull 的方式 , 所有的exporter都是准备好了相关的数据让prometheus进行拉取的, 所以这里不需要进行特别的设置只需要记住端口号就可以了
    • 定义配置文件为: 注意需要符合yaml的文件格式
    # Prometheus全局配置项
    global:
      scrape_interval:     15s # 设定抓取数据的周期,默认为1min
      evaluation_interval: 15s # 设定更新rules文件的周期,默认为1min
      scrape_timeout: 15s # 设定抓取数据的超时时间,默认为10s
      external_labels: # 额外的属性,会添加到拉取得数据并存到数据库中
       monitor: 'codelab_monitor'
    
    
    # Alertmanager配置
    alerting:
     alertmanagers:
     - static_configs:
       - targets: ["localhost:9093"] # 设定alertmanager和prometheus交互的接口,即alertmanager监听的ip地址和端口
         
    # rule配置,首次读取默认加载,之后根据evaluation_interval设定的周期加载
    rule_files:
     - "alertmanager_rules.yml"
     - "prometheus_rules.yml"
    
    # scape配置
    scrape_configs:
    - job_name: '202SQLSERVER' # job_name默认写入timeseries的labels中,可以用于查询使用
      scrape_interval: 15s # 抓取周期,默认采用global配置
      static_configs: # 静态配置
      - targets: ['10.110.80.19:4000']
    - job_name: '172SQLSERVER' # job_name默认写入timeseries的labels中,可以用于查询使用
      scrape_interval: 15s # 抓取周期,默认采用global配置
      static_configs: # 静态配置
      - targets: ['10.110.80.19:4001']
    
    • 启动promethues
    docker run -d -p 9093:9090 --name prometheusdb -v /prometheusdb/prometheus.yml:/etc/prometheus/prometheus.yml prom/prometheus --restart always
    # 注意可以启动多个prometheus 使用多个端口
    # 可以设置多个grafana的监控设置即可 
    

    4. grafana load json 展示界面.


    • 进入官网过滤查询, 然后load相关json 选择prometheus对应的datasource就可以了.
    • redis的监控界面
      image
    • oracle的监控界面
      image
    • mysql的监控界面
      image
    • oracle的监控界面
      image
    • sqlserver的监控界面
      image
  • 相关阅读:
    [BZOJ] IOI2015 Boxes纪念品盒
    [BZOJ] 聚会
    [BZOJ] 地精部落
    [BZOJ] 最长距离
    正则
    cookie实例 记住用户名密码
    cookie封装
    碎片整合 例子
    闭包 tab切换 实例
    闭包
  • 原文地址:https://www.cnblogs.com/jinanxiaolaohu/p/15154049.html
Copyright © 2011-2022 走看看