prometheus + grafana安装部署(centos6.8)

官方网址:https://prometheus.io/

GitHub网址:https://github.com/prometheus/prometheus

软件下载地址:https://prometheus.io/download/

第三方中文介绍:https://github.com/1046102779/prometheus

 

prometheus介绍

       Prometheus是一个开源的系统监控和报警的工具包,最初由SoundCloud发布。

特点:

  • 多维数据模型(有metric名称和键值对确定的时间序列)
  • 灵活的查询语言
  • 不依赖分布式存储
  • 通过pull方式采集时间序列,通过http协议传输
  • 支持通过中介网关的push时间序列的方式
  • 监控数据通过服务或者静态配置来发现
  • 支持图表和dashboard等多种方式

组件:

  • Prometheus 主程序,主要是负责存储、抓取、聚合、查询方面。
  • Alertmanager 程序,主要是负责实现报警功能。
  • Pushgateway 程序,主要是实现接收由Client push过来的指标数据,在指定的时间间隔,由主程序来抓取。
  • *_exporter 这类是不同系统已经实现了的集成。

架构:

prometheus部署

1、下载安装包prometheus-1.6.2.linux-amd64.tar.gz

https://github.com/prometheus/prometheus/releases/tag/v1.6.2

2、解压

tar -xvf prometheus-1.6.2.linux-amd64.tar.gz
cd prometheus-1.6.2.linux-amd64

3、配置prometheus.yml 

  • scrape_interval: 15s   # 默认15秒到目标处抓取数据

4、启动

nohup ./prometheus -config.file=prometheus.yml &
或
nohup /opt/prometheus-1.6.2.linux-amd64/prometheus &

5、WEB页面访问http://localhost:9090/ ,可以看到Prometheus的graph页面。

备注:参考文章 http://www.cnblogs.com/vovlie/p/Prometheus_install.html

 

grafana部署

http://docs.grafana.org/installation/rpm/

1、安装

wget https://s3-us-west-2.amazonaws.com/grafana-releases/release/grafana-4.2.0-1.x86_64.rpm
sudo yum install initscripts fontconfig -y
sudo rpm -Uvh grafana-4.2.0-1.x86_64.rpm

2、启动服务service grafana-server start

3、访问页面http://localhost:3000 ,默认账号、密码admin/admin

4、Prometheus 和 Grafana 的对接

https://prometheus.io/docs/visualization/grafana/

参考文章:http://www.cnblogs.com/sfnz/p/6566951.html

 

MySQL的dashboards(Grafana)

https://github.com/percona/grafana-dashboards

git clone https://github.com/percona/grafana-dashboards.git
cp -r grafana-dashboards/dashboards /var/lib/grafana/dashboards

编辑Grafana配置文件

vi /etc/grafana/grafana.ini
[dashboards.json]
enabled = true
path = /var/lib/grafana/dashboards

重启service grafana-server restart

 

mysql监控部署

在需要监控的mysql上安装 node_exporter和 mysqld_exporter

下载 https://prometheus.io/download/

tar -xvf node_exporter-0.14.0.linux-amd64.tar.gz
cd node_exporter-0.14.0.linux-amd64
nohup ./node_exporter &
tar -xvf mysqld_exporter-0.10.0.linux-amd64.tar.gz
cd mysqld_exporter-0.10.0.linux-amd64

vi .my.cnf
[client]
user=root
password=root

./mysqld_exporter -config.my-cnf=".my.cnf" &

服务端配置,文件prometheus.yml

scrape_configs:
  - job_name: 'prometheus'
    static_configs:
      - targets: ['localhost:9090']

  - job_name: 'mysql'
    static_configs:
      - targets: ['10.10.83.162:9104']
        labels:
          instance: db-10.10.83.162

 

redis监控部署

下载 https://github.com/oliver006/redis_exporter/releases

tar -xvf redis_exporter-v0.11.linux-amd64.tar.gz
nohup /opt/redis_exporter -redis.addr "redis://10.10.83.162:16379" &

grafana配置

下载 redis_exporter-0.11.tar.gz

tar -xvf redis_exporter-0.11.tar.gz
cd redis_exporter-0.11 
cp *json /var/lib/grafana/dashboards/

服务端配置,文件prometheus.yml

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']

  - job_name: 'mysql'
    static_configs:
      - targets: ['10.10.83.162:9104']
        labels:
          instance: db-10.10.83.162

  - job_name: redis_exporter
    static_configs:
      - targets: ['10.10.83.162:9121']
        labels:
          instance: redis-10.10.83.162

 

posted @ 2017-05-19 14:25  shhnwangjian  阅读(21599)  评论(0编辑  收藏  举报