热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

docker 搭建基于prometheus的监控体系步骤实现

本文主要介绍了docker 搭建基于prometheus的监控体系步骤实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

Prometheus是一个时间序列数据库。但是,它不仅仅是一个时间序列数据库。

它涵盖了可以绑定的整个生态系统工具集及其功能。

Prometheus主要用于对基础设施的监控。包括服务器,数据库,VPS,几乎所有东西都可以通过Prometheus进行监控。Prometheus希望通过对Prometheus配置中定义的某些端点执行的HTTP调用来检索度量标准。

普罗米修斯的主要特点是:

1. 一个多维数据模型,其中包含通过度量标准名称和键/值对标识的时间序列数据
2.PromQL,一种灵活的查询语言 ,可利用此维度
3.不依赖分布式存储;单服务器节点是自治的
4.时间序列收集通过HTTP上的拉模型进行
5.通过中间网关支持推送时间序列
6.通过服务发现或静态配置发现目标
7.多种图形和仪表板支持模式

需要下载镜像:

  • prom/mysqld-exporter(监控mysql)
  • prom/prometheus
  • prom/node-exporter(监控node节点整机状态)

prometheus原理

1.启动prometheus容器服务

启动前需要先手动在当前目录下创建prometheus.yml文件:touch prometheus.yml,不然会报挂在文件创建失败的错误,因为docker run时默认创建的挂载点是目录,不是文件。

docker run -d --name prometheus -p 9090:9090 -v ${PWD}/prometheus.yml:/etc/prometheus/prometheus.yml prom/prometheus

2.启动成功后,公网访问该9090端口进入普罗米修斯主页

3.部署mysqld-exporer监控mysql数据库(想监控什么就部署对应的exporter即可)

a.先部署mysql服务(有监控对象)

docker run -d --name my-mysql -v /home/gaofei/test/mysql:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=1qaz9ol. -p 8888:3306 mysql:5.5

b.进入prometheus.io/download下载对应的exporter

docker run -d --name mysql-exporter -p 9104:9104 -e DATA_SOURCE_NAME="root:1qaz9ol.@(mysql主机ip:888)/mysql" prom/mysqld-exporter

配置prometheus.yml文件

global:
  scrape_interval:     15s
  evaluation_interval: 15s
 
rule_files:
  - rules/*.rules
 
 
scrape_configs:
  - job_name: 'prometheus'
    scrape_interval: 5s
    static_configs:
    - targets: ['localhost:9090']
 
  - job_name: 'node_exporter'
    scrape_interval: 10s
    static_configs:
      - targets: ['ip:9100']
 
  - job_name: 'mysql'
    scrape_interval: 10s
    static_configs:
      - targets: ['ip:9104']

4.重启prometheus服务

docker restart prometheus

5.访问prometheus主页查看mysql的监控

点击mysql---show more

由上可见,是通过一个metrics的接口来传输数据的,此时mysql和node都处于可监控的状态了。

6.将监控数据通过grafana面板展示

a.启动grafana服务

docker run -d --name=grafana -p 3000:3000 grafana/grafana

b.访问grafana首页(默认用户和密码:admin/admin)

c.选择数据源

只需要配置URL即可

d.制作对应服务的仪表盘

将id粘贴后点击load

点击import

同理配置node-exporter监控

grafana中搜索

配置好grafana面板后发现没有数据

是因为在服务端没有启动node-exporter 服务,直接下载二进制文件然后启动(方便,因为node_exporter设计用于监控主机系统。不建议将其部署为Docker容器,因为它需要访问主机系统)

将该文件上传至宿主机后,执行以下1,2,3步,可使用nohup./node_exporter--web.listen-address=":9100"&命令后台启动

启动后公网访问9100端口即可验证是否可用

然后再访问grafana中node-exporter就有node宿主机的系统监控数据了

OK,

大功告成

后期可结合jmeter使用,可以边压测,边观察服务资源利用率等数据~~~~~

到此这篇关于docker 搭建基于prometheus的监控体系步骤实现的文章就介绍到这了,更多相关docker搭建prometheus内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!


推荐阅读
  • 浅析对象 VO、DTO、DO、PO 概念
    作者|CatQi链接|cnblogs.comqixuejiap4390086.html前言由于此订阅号换了个皮肤,导致用户接受文章不及时。读者可以打开订阅号「Web项 ... [详细]
  • 关于我们EMQ是一家全球领先的开源物联网基础设施软件供应商,服务新产业周期的IoT&5G、边缘计算与云计算市场,交付全球领先的开源物联网消息服务器和流处理数据 ... [详细]
  • 本文介绍了OpenStack的逻辑概念以及其构成简介,包括了软件开源项目、基础设施资源管理平台、三大核心组件等内容。同时还介绍了Horizon(UI模块)等相关信息。 ... [详细]
  • {moduleinfo:{card_count:[{count_phone:1,count:1}],search_count:[{count_phone:4 ... [详细]
  • 讨伐Java多线程与高并发——MQ篇
    本文是学习Java多线程与高并发知识时做的笔记。这部分内容比较多,按照内容分为5个部分:多线程基础篇JUC篇同步容器和并发容器篇线程池篇MQ篇本篇 ... [详细]
  • 2048小游戏小记
    1。游戏界面布局由textview1与textview2来显示分数,2048游戏主界面由gridlayout组成,底部添加Button重启游戏。2.创建游戏主类Gameview在构 ... [详细]
  • 在我们编写的程序中,如果想要实现对浏览器打开的网页进行监视、模拟操纵、动态提取用户输入、动态修改等功能,那么请你抽出宝贵的时间,继续往下阅读。本文介绍的知识和示例程序都 ... [详细]
  • 开发笔记:Prometheus监控系列最佳实践
    Prometheus是继kubernetes第二个从CNCF中毕业的项目,个人也是非常的喜欢这款通过数据指标发现和预测告警的开源监控平台,官方的话就不多说了,根据官网的 ... [详细]
  • 最近有一件事件让我印象特地粗浅,作为引子和大家唠一唠:咱们在外部做一些极其的流量回归仿真试验时,在TiKV(TiDB的分布式存储组件)上观测到了异样的CPU使用率,然而从咱们的GrafanaMetrics、日志输入外面并没有看到异样,因而也一度困惑了好几天,最初靠一位老司机盲猜并联合profiling才找到真凶,真凶呈现 ... [详细]
  • 本文讨论了在使用Git进行版本控制时,如何提供类似CVS中自动增加版本号的功能。作者介绍了Git中的其他版本表示方式,如git describe命令,并提供了使用这些表示方式来确定文件更新情况的示例。此外,文章还介绍了启用$Id:$功能的方法,并讨论了一些开发者在使用Git时的需求和使用场景。 ... [详细]
  • 云原生应用最佳开发实践之十二原则(12factor)
    目录简介一、基准代码二、依赖三、配置四、后端配置五、构建、发布、运行六、进程七、端口绑定八、并发九、易处理十、开发与线上环境等价十一、日志十二、进程管理当 ... [详细]
  • RabbitMQ的消息持久化处理
    1、RabbitMQ的消息持久化处理,消息的可靠性是RabbitMQ的一大特色,那么RabbitMQ是如何保证消息可靠性的呢——消息持久化。2、auto ... [详细]
  • #ifndef__MUSICLAYER_H__#define__MUSICLAYER_H__#includecocos2d.husingnamespacestd;usingna ... [详细]
  • 篇首语:本文由编程笔记#小编为大家整理,主要介绍了Mongodb副本集+分片集群搭建相关的知识,希望对你有一定的参考价值。环境需求: ... [详细]
  • Prometheus Grafana实现对Linux Kubernetes Nginx  的监控系统
    2019独角兽企业重金招聘Python工程师标准用Prometheus配合Grafana实现多用途的服务监控系统。一.Prometheus简介Prometheus是一个开源监 ... [详细]
author-avatar
宫金丹865
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有