prometheus-入门

Prometheus 是由 SoundCloud 开源监控告警解决方案2015 年在 github 上开源以来,已经吸引了 很多大公司的使用;2016 年 Prometheus 成为继 k8s 后,第二名 CNCF(Cloud Native Computing Foundation) 成员。

实战

安装prometheus软件

cd /usr/local/src/
wget https://github.com/prometheus/prometheus/releases/download/v1.7.1/prometheus-1.7.1.linux-amd64.tar.gz
tar -zxf prometheus-1.7.1.linux-amd64.tar.gz
mv prometheus-1.7.1.linux-amd64 /data/app/
ln -s /data/app/prometheus-1.7.1.linux-amd64/ /data/app/prometheus

修改配置文件

global:
scrape_interval: 15s
evaluation_interval: 15s
external_labels:
monitor: 'codelab-monitor'
rule_files:
scrape_configs:
- job_name: 'prometheus'
static_configs:
- targets: ['localhost:9090']
- job_name: 'linux'
static_configs:
- targets: ['192.168.56.12:9100']
labels:
alias: linux-node2

启动prometheus并访问

./prometheus -config.file=prometheus.yml

安装exporter 端

wget https://github.com/prometheus/mysqld_exporter/releases/download/v0.10.0/mysqld_exporter-0.10.0.linux-amd64.tar.gz
wget https://github.com/prometheus/node_exporter/releases/download/v0.14.0/node_exporter-0.14.0.linux-amd64.tar.gz
tar -zxf mysqld_exporter-0.10.0.linux-amd64.tar.gz
tar -zxf node_exporter-0.14.0.linux-amd64.tar.gz
mv node_exporter-0.14.0.linux-amd64 /data/app/
mv mysqld_exporter-0.10.0.linux-amd64 /data/app/
ln -s /data/app/node_exporter-0.14.0.linux-amd64/ /data/app/node_exporter
ln -s /data/app/mysqld_exporter-0.10.0.linux-amd64/ /data/app/mysqld_exporter

启动node_exporter

screen -R node_exporter
cd /data/app/node_exporter
./node_exporter

登录图像页面检查服务是否配置成功

  • http://localhost:9090/metrics: 监控指标
  • http://localhost:9090/graph: 图像界面

metrics返回的结果包含多个标签的值。如果想只看延迟是0.99的值可以输入如下参数:

prometheus_target_interval_length_seconds{quantile="0.99"}

你也可以对返回结果做个count值:

count(prometheus_target_interval_length_seconds)

输入以下表达式来绘制在Prometheus中发生的所有存储块操作的每秒速率:

rate(prometheus_local_storage_chunk_ops_total[1m])

你也可以输出其他参数查看监控后服务器的信息,比如:使用up参数判断linux-node2是否存活。

up{job="linux-node2"}

其他高级的例子

avg(rate(rpc_durations_seconds_count[5m])) by (job, service)

级联同步数据

promtheus 配置文件中增加如下内容:

scrape_configs:
- job_name: 'federate'
scrape_interval: 15s honor_labels: true
metrics_path: '/federate' params:
'match[]': ##定义要同步的监控项
- '{job="prometheus"}'
- '{__name__=~"job:.*"}'
- '{job="node_discovery"}' static_configs:
- targets:
- 'linux-node1:9090' ## 目标库可以写多行。

参考文档

prometheus-官网

Prometheus 实战

PROMETHEUS 监控系统介绍与实践总结

prometheus-监控mysql

prometheus中文文档

官方容器站

Prometheus 监控方案

prometheus-入门尝试的更多相关文章

  1. GPG入门尝试

    GPG入门尝试 参考:阮一峰的网络日志 在所附链接中,对大多数信息的解释说明已经较为详细,在此只补充实际操作中的一些问题和解决方法 gpg --decrypt demo.en.txt --output ...

  2. Prometheus 入门教程(一):Prometheus 快速入门

    文章首发于[陈树义]公众号,点击跳转到原文:https://mp.weixin.qq.com/s/ZXlBPHGcWeYh2hjBzacc3A Prometheus 是任何一个高级工程师必须要掌握的技 ...

  3. Prometheus入门教程(二):Prometheus + Grafana实现可视化、告警

    文章首发于[陈树义]公众号,点击跳转到原文:https://mp.weixin.qq.com/s/56S290p4j9KROB5uGRcGkQ Prometheus UI 提供了快速验证 PromQL ...

  4. Prometheus : 入门

    Prometheus 是一个开源的监控系统.支持灵活的查询语言(PromQL),采用 http 协议的 pull 模式拉取数据等特点使 Prometheus 即简单易懂又功能强大. Prometheu ...

  5. Prometheus 入门与实践

    原文链接:https://www.ibm.com/developerworks/cn/cloud/library/cl-lo-prometheus-getting-started-and-practi ...

  6. Prometheus入门

    什么是TSDB? TSDB(Time Series Database)时序列数据库,我们可以简单的理解为一个优化后用来处理时间序列数据的软件,并且数据中的数组是由时间进行索引的. 时间序列数据库的特点 ...

  7. Prometheus入门到放弃(7)之redis_exporter部署

    redis监控,prometheus需要使用redis_exporter客户端. 这里我们采用docker方式部署,既可以部署在redis所在服务器,也可以部署在其他机器: docker镜像地址:ht ...

  8. Prometheus入门到放弃(6)之AlertManager进阶

    前面几个篇幅,我们介绍了alertmanger报警配置,在实际运维过程中,我们都会遇到,报警的重复发送,以及报警信息关联性报警.接下来我们就介绍下通过alertmanger对告警信息的收敛.一.告警分 ...

  9. Prometheus入门到放弃(5)之AlertManager部署

    alertmanager与exporters.cadvisor一样,都是独立于prometheus项目,这里我们也使用docker方式部署alertmanager. 1.下载镜像 镜像地址:https ...

  10. Prometheus入门到放弃(4)之cadvisor监控docker容器

    Prometheus监控docker容器运行状态,我们用到cadvisor服务,cadvisor我们这里也采用docker方式直接运行. 1.下载镜像 [root@prometheus-server ...

随机推荐

  1. mysql 表支持事务的方法

    1.在mysql客户管,如:Navicate.SQLyog在导航面板中选择要转换为InnoDB存储引擎类型的数据库,例如选择db_yunping数据库.如下图所示: 2. 在查询窗口中输入 show ...

  2. Xcode 8 媒体权限

  3. 【5】Builder模式(构建者模式)

    一.引言 在软件系统中,有时需要创建一个复杂对象,并且这个复杂对象由其各部分子对象通过一定的步骤组合而成.例如一个采购系统中,如果需要采购员去采购一批电脑时,在这个实际需求中,电脑就是一个复杂的对象, ...

  4. cakephp引入其他控制器封装方法

  5. Fastify 系列教程二 (中间件、钩子函数和装饰器)

    Fastify 系列教程: Fastify 系列教程一 (路由和日志) Fastify 系列教程二 (中间件.钩子函数和装饰器) Fastify 系列教程三 (验证.序列化和生命周期) Fastify ...

  6. 有用的linux指令(资料转载)

    对 Linux 新手非常有用的20个命令                                                                    你打算从Windows换 ...

  7. MySQL的索引与优化

    写在前面:索引对查询的速度有着至关重要的影响,理解索引也是进行数据库性能调优的起点.考虑如下情况,假设数据库中一个表有10^6条记录,DBMS的页面大小为4K,并存储100条记录.如果没有索引,查询将 ...

  8. Android设置日期DatePickerDialog

    设置日期DatePickerDialog package com.example.testview; import java.util.Calendar; import java.util.Date; ...

  9. linux 获取shell内置命令帮助信息 help xx

    shell,命令解释器 shell内置命令有cd/umask/pwd等 help shell内置命令适用于所有用户获取shell内置命令的帮助信息help umaskhelp if

  10. Pig parallel reduce并行执行数

    parallel语句可以附加到Pig Latin中任一个关系操作符后面,然后它会控制reduce阶段的并行,因此只有对与可以触发reduce过程的操作符才有意义.     可以触发reduce过程的操 ...