小知识:docker 搭建基于prometheus的监控体系步骤实现

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

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

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

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

1. 一个多维数据模型,其中包含通过度量标准名称和键/值对标识的时间序列数据

2.PromQL,一种灵活的查询语言 ,可利用此维度

3.不依赖分布式存储;单服务器节点是自治的

4.时间序列收集通过HTTP上的拉模型进行

5.通过中间网关支持推送时间序列

6.通过服务发现或静态配置发现目标

7.多种图形和仪表板支持模式

需要下载镜像

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

prometheus原理

%小知识:docker 搭建基于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

%小知识:docker 搭建基于prometheus的监控体系步骤实现-1猿站网-插图

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

%小知识:docker 搭建基于prometheus的监控体系步骤实现-2猿站网-插图

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 搭建基于prometheus的监控体系步骤实现-3猿站网-插图

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

%小知识:docker 搭建基于prometheus的监控体系步骤实现-4猿站网-插图

配置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的监控

%小知识:docker 搭建基于prometheus的监控体系步骤实现-5猿站网-插图

%小知识:docker 搭建基于prometheus的监控体系步骤实现-6猿站网-插图

点击mysql—show more

%小知识:docker 搭建基于prometheus的监控体系步骤实现-7猿站网-插图

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

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

a.启动grafana服务

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

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

%小知识:docker 搭建基于prometheus的监控体系步骤实现-8猿站网-插图

c.选择数据源

%小知识:docker 搭建基于prometheus的监控体系步骤实现-9猿站网-插图

%小知识:docker 搭建基于prometheus的监控体系步骤实现-10猿站网-插图

%小知识:docker 搭建基于prometheus的监控体系步骤实现-11猿站网-插图

只需要配置URL即可

%小知识:docker 搭建基于prometheus的监控体系步骤实现-12猿站网-插图

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

%小知识:docker 搭建基于prometheus的监控体系步骤实现-13猿站网-插图

%小知识:docker 搭建基于prometheus的监控体系步骤实现-14猿站网-插图

id粘贴后点击load

%小知识:docker 搭建基于prometheus的监控体系步骤实现-15猿站网-插图

%小知识:docker 搭建基于prometheus的监控体系步骤实现-16猿站网-插图

点击import

%小知识:docker 搭建基于prometheus的监控体系步骤实现-17猿站网-插图

同理配置node-exporter监控

grafana中搜索

%小知识:docker 搭建基于prometheus的监控体系步骤实现-18猿站网-插图

%小知识:docker 搭建基于prometheus的监控体系步骤实现-19猿站网-插图

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

%小知识:docker 搭建基于prometheus的监控体系步骤实现-20猿站网-插图

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

%小知识:docker 搭建基于prometheus的监控体系步骤实现-21猿站网-插图

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

%小知识:docker 搭建基于prometheus的监控体系步骤实现-22猿站网-插图

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

%小知识:docker 搭建基于prometheus的监控体系步骤实现-23猿站网-插图

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

%小知识:docker 搭建基于prometheus的监控体系步骤实现-24猿站网-插图

OK,

大功告成

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

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

原文地址:https://blog.csdn.net/qq_40132294/article/details/120255930

声明: 猿站网有关资源均来自网络搜集与网友提供,任何涉及商业盈利目的的均不得使用,否则产生的一切后果将由您自己承担! 本平台资源仅供个人学习交流、测试使用 所有内容请在下载后24小时内删除,制止非法恶意传播,不对任何下载或转载者造成的危害负任何法律责任!也请大家支持、购置正版! 。本站一律禁止以任何方式发布或转载任何违法的相关信息访客发现请向站长举报,会员发帖仅代表会员个人观点,并不代表本站赞同其观点和对其真实性负责。本网站的资源部分来源于网络,如有侵权烦请发送邮件至:2697268773@qq.com进行处理。
建站知识

小知识:jenkins+docker+nginx+nodejs持续集成部署vue前端项目

2023-3-6 18:18:17

建站知识

小知识:关于VirtualBox安装Kali的教程图解

2023-3-6 18:25:15

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索