官方网址:
GitHub网址:
软件下载地址:
第三方中文介绍:
prometheus介绍
Prometheus是一个开源的系统监控和报警的工具包,最初由SoundCloud发布。
特点:
- 多维数据模型(有metric名称和键值对确定的时间序列)
- 灵活的查询语言
- 不依赖分布式存储
- 通过pull方式采集时间序列,通过http协议传输
- 支持通过中介网关的push时间序列的方式
- 监控数据通过服务或者静态配置来发现
- 支持图表和dashboard等多种方式
组件:
- Prometheus 主程序,主要是负责存储、抓取、聚合、查询方面。
- Alertmanager 程序,主要是负责实现报警功能。
- Pushgateway 程序,主要是实现接收由Client push过来的指标数据,在指定的时间间隔,由主程序来抓取。
- *_exporter 这类是不同系统已经实现了的集成。
架构:
prometheus部署
1、下载安装包prometheus-1.6.2.linux-amd64.tar.gz
2、解压
tar -xvf prometheus-1.6.2.linux-amd64.tar.gzcd 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页面。
备注:参考文章
grafana部署
1、安装
wget https://s3-us-west-2.amazonaws.com/grafana-releases/release/grafana-4.2.0-1.x86_64.rpmsudo yum install initscripts fontconfig -ysudo rpm -Uvh grafana-4.2.0-1.x86_64.rpm
2、启动服务service grafana-server start
3、访问页面http://localhost:3000 ,默认账号、密码admin/admin
4、Prometheus 和 Grafana 的对接
参考文章:
MySQL的dashboards(Grafana)
git clone https://github.com/percona/grafana-dashboards.gitcp -r grafana-dashboards/dashboards /var/lib/grafana/dashboards
编辑Grafana配置文件
vi /etc/grafana/grafana.ini[dashboards.json]enabled = truepath = /var/lib/grafana/dashboards
重启service grafana-server restart
mysql监控部署
在需要监控的mysql上安装 node_exporter和 mysqld_exporter
下载
tar -xvf node_exporter-0.14.0.linux-amd64.tar.gzcd node_exporter-0.14.0.linux-amd64nohup ./node_exporter &
tar -xvf mysqld_exporter-0.10.0.linux-amd64.tar.gzcd mysqld_exporter-0.10.0.linux-amd64vi .my.cnf[client]user=rootpassword=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监控部署
下载
tar -xvf redis_exporter-v0.11.linux-amd64.tar.gznohup /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.gzcd redis_exporter-0.11 cp *json /var/lib/grafana/dashboards/
服务端配置,文件prometheus.yml
scrape_configs: # The job name is added as a label `job=` 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