prometheus + grafana安装部署(centos6.8)
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