zoukankan      html  css  js  c++  java
  • Prometheus和Grafana

    1.安装和启动Prometheus
    需要下载3个压缩包,在下面链接:
    http://cactifans.hi-www.com/prometheus/

    prometheus就是用来部署监控系统自己的,然后node_exporter是用来采集MySQL数据库所在机器的CPU、内存、网络、磁盘之类的监控数据的:

    prometheus-2.1.0.linux-amd64.tar.gz
    node_exporter-0.15.2.linux-amd64.tar.gz 

    下面的链接下载第三个压缩包:mysqld_exporter-0.10.0.linux-amd64.tar.gz

    这个mysqld_exporter就是用来采集MySQL数据库自己的一些监控数据的,比如SQL性能、连接数量之类的

    https://github.com/prometheus/mysqld_exporter/releases/download/v0.10.0/mysqld_exporter-0.10.0.linuxamd64.tar.gz
    或者
    链接:https://pan.baidu.com/s/1xxv9dGfqd1US9ivB80A-Ew 密码:txsp

    安装步骤

    mkdir /data
    mkdir /root
    tar xvf prometheus-2.1.0.linux-amd64.tar.gz -C /data
    tar xf node_exporter-0.15.2.linux-amd64.tar.gz -C /root
    tar xf mysqld_exporter-0.10.0.linux-amd64.tar.gz -C /root
    
    cd /data
    mv prometheus-2.1.0.linux-amd64 prometheus
    cd prometheus/
    
    修改prometheus的配置文件,其实主要是在scrape_configs下面加入一大段自定义的配置,因为他需要去采集MySQL数据库本身和MySQL所在机器的监控数据:
    
    vim prometheus.yml
    --------------------------------------------------------------
    # 全局配置
    global:
      scrape_interval:     15s # 设置抓取间隔,默认为1分钟
      evaluation_interval: 15s #估算规则的默认周期,每15秒计算一次规则。默认1分钟
      # scrape_timeout  #默认抓取超时,默认为10s
    
    # Alertmanager相关配置
    alerting:
      alertmanagers:
      - static_configs:
        - targets:
          # - alertmanager:9093
    
    # 规则文件列表,使用'evaluation_interval' 参数去抓取
    rule_files:
      # - "first_rules.yml"
      # - "second_rules.yml"
    
    #  抓取配置列表
    scrape_configs:
      - job_name: 'prometheus'
        static_configs:
        - targets: ['localhost:9090']
    
    #targets为部署prometheus的服务器ip
    --------------------------------------------------------------
    在scrape_configs下面可以新增如下配置:
      - job_name: 'linux'
        static_configs:
        - targets: ['xxxxxxxxxxx:9100']
          labels:
          instance: yanglin3
          
      - job_name: 'mysql'
        static_configs:
        - targets: ['xxxxxxxxxxx:9104']
          labels:
          instance: yanglin3
          
    #targets为部署node_exporter和mysql的服务器ip,instance为服务器,jobname为服务
        
    配置启动:    
    vim /etc/systemd/system/prometheus.service
    [Unit]
    Description=Prometheus
    Documentation=https://prometheus.io/
    After=network.target
    [Service]
    Type=simple
    User=root
    ExecStart=/data/prometheus/prometheus --config.file=/data/prometheus/prometheus.yml --storage.tsdb.path=/data/prometheus/data
    Restart=on-failure
    [Install]
    WantedBy=multi-user.target
    
    上面的配置定义了启动的命令,可以定义数据存储路径,否则默认会在prometheus二进制的目录的data下
    
    启动:
    systemctl start prometheus
    systemctl status prometheus
    systemctl enable prometheus
    
    现在可以打开web页面:
    http://IP:9090

    2.部署Grafana

    https://s3-us-west-2.amazonaws.com/grafana-releases/release/grafana-4.6.3.linux-x64.tar.gz
    
    tar xf grafana-4.6.3.linux-x64.tar.gz -C /data/prometheus
    cd /data/prometheus
    mv grafana-4.6.3 grafana
    cd /data/prometheus/grafana
    ./bin/grafana-server &
    
    通过浏览器访问3000端口,默认的用户名和密码是admin/admin。接着在Grafana左侧菜单栏里有一个Data Sources,点击里面的一个按钮是Add data source,就是添加一个数据源。
    
    在界面里输入你的数据源的名字是Prometheus,类型是Prometheus,HTTP URL地址是http://127.0.0.1:9090,其他的都用默认的配置就行了,接下来Grafana就会自动从Prometheus里获取监控数据和展示了。
    
    接着需要安装Grafana的仪表盘组件,首先需要下载grafana-dashboards-1.6.1.tar.gz,用如下的链接即可:
    
    https://github.com/percona/grafana-dashboards/archive/v1.6.1.tar.gz
    
    安装grafana-dashboard组件
    yum -y install mlocate
    tar xvf grafana-dashboards-1.6.1.tar.gz
    cd grafana-dashboards-1.6.1
    updatedb
    locate json |grep dashboards/
    
    会看到一大堆的json文件,就是各种不同的仪表盘对应的json配置文件,后面需要通过浏览器上传他们。
    在grafana页面中,可以看到最上面有一个Home按钮,点击一下进入一个界面,Import Dashboard的按钮,就是说可以导入一些仪表盘,这个时候就是要导入刚才看到的一大堆的json文件。
    点击Upload json file按钮,就会出现一个界面上传一个一个的json文件,依次上传,接着grafana中就会出现一大堆的仪表盘了,比如机器的CPU使用率的仪表盘,磁盘性能仪表盘,磁盘空间仪表盘,MySQL监控仪表盘,等等。
    
    或者
    官网下载Dashboard的json格式然后使用这种方式导入:
    官网下载地址:https://grafana.com/grafana/dashboards
    
    左侧是选择条件,右侧是筛选结果,在data source那里选择mysql,然后可以选择Zentao Dashboard 报告图表,下载json文件,上传granfana同上

    3.添加MySQL机器的监控

    要让Prometheus去采集MySQL机器的监控数据(CPU、内存、磁盘、网络,等等),然后让Grafana可以展示出来,那么就必须先添加Prometheus对MySQL机器的监控
    在MySQL机器上解压缩和启动node_exporter,这启动之后是个linux进程,他会自动采集这台linux机器上的CPU、磁盘、内存、网络之类的各种监控数据
    
    tar xf node_exporter-0.15.2.linux-amd64.tar
    mv node_exporter-0.15.2.linux-amd64 node_exporter
    cd node_exporter
    nohup ./node_exporter &

    4.添加MySQL数据库的监控

    同样需要在MySQL所在机器上再启动一个mysqld_exporter的组件,他负责去采集MySQL数据库自己的一些监控数据
    
    tar xf mysqld_exporter-0.10.0.linux-amd64.tar
    mv mysqld_exporter-0.10.0.linux-amd64 mysqld_exporter
    
    接着需要配置一些环境变量,去设置mysqld_exporter要监控的数据库的地址信息,看下面配置了账号、密码以及地址和端口号
    export DATA_SOURCE_NAME='root:root@(127.0.0.1:3306)/'
    echo "export DATA_SOURCE_NAME='root:root@(127.0.0.1:3306)/'" >> /etc/profile
    
    接着启动mysqld_exporter
    cd mysqld_exporter
    nohup ./mysqld_exporter --collect.info_schema.processlist --collect.info_schema.innodb_tablespaces --collect.info_schema.innodb_metrics --collect.perf_schema.tableiowaits --collect.perf_schema.indexiowaits --collect.perf_schema.tablelocks --collect.engine_innodb_status --collect.perf_schema.file_events --collect.info_schema.processlist --collect.binlog_size --collect.info_schema.clientstats --collect.perf_schema.eventswaits &
    
    这个mysqld_exporter进程就会自动采集MySQL自己的监控数据了
  • 相关阅读:
    barnes-hut算法 && Fast Multipole Methods算法
    最大独立集问题-maximal independent set problem
    kernighan lin算法
    浅析Struts2中的OGNL和ValueStack
    Python框架之Django学习笔记(十四)
    C++抓网页/获取网页内容
    SpiderMonkey-让你的C++程序支持JavaScript脚本
    关于职位的解释---转CSDN的文章
    优雅的css写法
    linux
  • 原文地址:https://www.cnblogs.com/hbxZJ/p/15672954.html
Copyright © 2011-2022 走看看