普罗米修斯-docker安装

news2024/10/7 17:33:15

prometheus 监控原理

1、prometheus :虽然说是监控平台,但是实际上是一套数据库
2、mysql_exporter: 可以理解成程序或者软件,他是工作在我们要监控的目标服务器上,主要是用于监控mysql的数据。
3、node_exporter: 他的作用主要是收集性能测试的数据,如cpu、内存磁盘网络等信息,然后将数据保存到prometheus,相当于将数据存入到数据库中。
4、prometheus 只能用于做数据存储,不能做展示,因此我们需要用到grafana组件。
5、grafana 主要是用于数据展示,并且可以做到定时读取数据

1、只有一台服务器,所以使用docker来进行试验
在这里插入图片描述

#安装docker
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun


#查看安装版本
 docker --version
#查看安装是否成功
 docker ps -a

如果报以下错误,是因为docker没启动

Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?

#启动docker
systemctl restart docker
#查看docker 
docker ps -a 
#输出
CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES

2、安装普罗米修斯

Prometheus Server
Prometheus组件中的核心部分,收集和存储时间序列数据,提供PromQL查询语言的支持。内置的 Express Browser UI,通过这个 UI 可以直接通过 PromQL 实现数据的查询以及可视化。

Exporters
将监控数据采集的端点通过HTTP服务的形式暴露给Prometheus Server,Prometheus Server通过访问该Exporter提供的Endpoint端点,即可以获取到需要采集的监控数据

PushGateway
主要是实现接收由 Client push 过来的指标数据,在指定的时间间隔,由主程序来抓取。由于 Prometheus 数据采集基于 Pull 模型进行设计,因此在网络环境的配置上必须要让 Prometheus Server 能够直接与 Exporter 进行通信。当这种网络需求无法直接满足时,就可以利用 PushGateway 来进行中转。可以通过 PushGateway 将内部网络的监控数据主动 Push 到 Gateway 当中。而 Prometheus Server 则可以采用同样 Pull 的方式从 PushGateway 中获取到监控数据。
Alertmanager
管理告警,主要是负责实现报警功能。在 Prometheus Server 中支持基于 PromQL 创建告警规则,如果满足PromQL定义的规则,则会产生一条告警,而告警的后续处理流程则由 AlertManager 进行管理。在 AlertManager 中我们可以与邮件,Slack 等等内置的通知方式进行集成,也可以通过 Webhook 自定义告警处理方式。AlertManager 即 Prometheus 体系中的告警处理中心
在这里插入图片描述
docker 拉取镜像

#下载镜像
#收集服务器硬件和操作系统信息(被监控)
docker pull prom/node-exporter
#收集mysql使用情况数据信息
docker pull prom/mysqld-exporter
#负责收集服务器运行的docker容器信息(被监控)
docker pull google/cadvisor
#普罗米修斯监控服务
docker pull prom/prometheus
#用于展示普罗米修斯监控的图形化界面
docker pull grafana/grafana
 

拉取镜像结束

docker images
 
REPOSITORY             TAG       IMAGE ID       CREATED        SIZE
grafana/grafana        latest    e9fdff47a6dd   7 days ago     293MB
prom/prometheus        latest    8c01021bb2f4   2 weeks ago    211MB
prom/mysqld-exporter   latest    121b8a7cd052   4 months ago   17.8MB
prom/node-exporter     latest    1dbe0e931976   7 months ago   20.9MB
google/cadvisor        latest    eb1210707573   3 years ago    69.6MB

安装监控

# 安装Node Exporter 来收集硬件信息
docker run -d -p 9100:9100 \
-v "/proc:/host/proc" \
-v "/sys:/host/sys" \
-v "/:/rootfs" \
-v "/etc/localtime:/etc/localtime" \
--net=bridge \
prom/node-exporter \
--path.procfs /host/proc \
--path.sysfs /host/sys \
--collector.filesystem.ignored-mount-points "^/(sys|proc|dev|host|etc)($|/)"
 
# 安装cAdvisor 来收集容器信息 所有节点运行以下命令来安装cAdvisor
docker run -d \
--volume=/:/rootfs:ro \
--volume=/var/run:/var/run:ro \
--volume=/sys:/sys:ro \
--volume=/var/lib/docker/:/var/lib/docker:ro \
--volume=/dev/disk/:/dev/disk:ro \
--publish=8080:8080 \
--detach=true \
--name=cadvisor \
--privileged=true \
-v "/etc/localtime:/etc/localtime" \
google/cadvisor:latest
 
# 查看docker的ip地址
ifconfig | grep -A 1 docker0
 
 
# prometheus.yml的内容如下
# 其中targets中的网址是对应服务器所在的地址
global:
  scrape_interval:     20s
  evaluation_interval: 20s
scrape_configs:
  - job_name: 'prometheus'
    static_configs:
    - targets: ['localhost:9090']
      labels:
          instance: 'prometheus'
  - job_name: 'linux'
    static_configs:
    - targets: ['localhost:9100']
  - job_name: 'cadvisor'
    static_configs:
    - targets: ['localhost:8080']
# 创建prometheus容器
docker run -itd --name prometheus -p 9090:9090 \
-v /opt/prometheus/prometheus.yml:/etc/prometheus/prometheus.yml \
-v /opt/prometheus/rules/:/etc/prometheus/rules/ \
-v /etc/localtime:/etc/localtime:ro \
prom/prometheus
在DockerMachine上运行Grafana, http://机器地址:3000,登录用admin 密码为刚创建Grafana时的admin8888,
docker run -d -i -p 3000:3000 \
-v "/etc/localtime:/etc/localtime" \
-e "GF_SERVER_ROOT_URL=http://grafana.server.name" \
-e "GF_SECURITY_ADMIN_PASSWORD=admin8888" \
--net=bridge \
grafana/grafana

验证安装是否成功
浏览器访问:http://promethus所在的服务器地址:9090

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/512509.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Java 3种IO模型,一次搞懂

大家好,我是老三,上一节我们讨论了Linux的五种IO模型,接下来,我们从Java语言层面,来看看对IO的实现。 在Java中,一共有三种IO模型,分别是阻塞IO(BIO)、非阻塞IO(NIO)和异步IO(AIO)。 Java BIO …

IDEA “Cannot resolve symbol” 解决办法

系列文章目录 文章目录 系列文章目录前言一、Cannot resolve symbol是什么问题?二、第一步:检查Maven配置三、第二步:检查target四、 第三步:检查 project五、第四步:lombok 问题总结 前言 请耐心读完,也许…

FE_Vue框架的重要属性讲解【ref props mixin】

1 ref属性 对于传统的HTML而言,id 和 ref确实没有什么差别,但是对于组件来说就不一样了。给组件加id,打印出获取的结果为组件所对应的完整DOM结构。给组件加ref,打印出获取的结果就是VueComponent实例。 被用来给元素或子组件注册…

【SpringCloud微服务实践】注册与发现(Eureka)

注册与发现(Eureka) 注册与发现初实践,注册中心采用SpringCloud全家桶中的Eureka,并配合RestTemplate从Euraka调用微服务。 在前置章节的电影票-用户服务组的基础上升级,摒弃硬编码微服务地址的方案,使用eureka实现微服务的动态…

计算机毕业论文选题推荐|软件工程|系列三

文章目录 导文题目导文 计算机毕业论文选题推荐|软件工程 (***语言)==使用其他任何编程语言 例如:基于(***语言)门窗账务管理系统的设计与实现 得到:基于JAVA门窗账务管理系统的设计与实现 基于vue门窗账务管理系统的设计与实现 等等 题目 基于(***语言) 一体化智慧停车…

86.qt qml-多种粒子特效按钮实现

截图如下所示: 动图如下所示: 支持黑白模式: 1.实现原理 配合之前我们学习的: 82.qt qml-2D粒子系统、粒子方向、粒子项(一)_诺谦的博客-CSDN博客 83.qt qml-初步学习2D粒子影响器(二)_诺谦的博客-CSDN博客 即可实现出来。 以按钮特效3按钮为例:

Google I/O 2023 - Flutter 3.10 发布,快来看看有什么更新吧

核心部分原文链接:https://medium.com/flutter/whats-new-in-flutter-3-10-b21db2c38c73 虽然本次 I/O 的核心 keynote 主要是 AI ,但是按照惯例依然发布了新的 Flutter 稳定版,不过并非大家猜测的 4.0,而是 3.10 ,Flu…

PING命令的高级用法

对于Windows下ping命令相信大家已经再熟悉不过了,但是能把ping的功能发挥到最大的人却并不是很多,当然我也并不是说我可以让ping发挥最大的功能,我也只不过经常用ping这个工具,也总结了一些小经验,现在和大家分享一下。…

studioone6离线下载电脑版

随着技术的不断进步,音乐家不再将作曲编曲局限在手绘和实体乐器演奏上,各类编曲软件和插件在模拟乐器中无限接近实质,大大简化了编曲作曲的工作。 Studio One6就是其中的佼佼者之一,它不仅支持用户对音频进行剪切编辑混音等后期处…

#VERDI# 关于Verdi如何使用reverse调试

前言 今天我们 一起学习Verdi的一种回退仿真机制。也即:reverse 为了使用verdi reverse debug 机制,以下注意事项必须满足: (1)Reverse Debug page 必须设置为交互模式:tools-》preferences->Intera…

修改图片大小尺寸如何操作?修改图片大小尺寸的作用

图片在不同场合下需要具备适当的尺寸和分辨率,如果不满足要求,就会影响到其质量和效果。因此,修改图片大小尺寸是一种常见的处理方法,可以让图片更好地适应不同的需求和场景。 修改图片的大小和尺寸可以带来以下几个好处&#xf…

【来点小剧场--爪哇岛寻宝】java实现网络编程,UDP协议写一个简易的回显服务程序

作者:困了电视剧 专栏:《JavaEE初阶》 文章分布:这是一篇关于网络编程的文章,在这篇文章中我会剖析一段回显服务程序的执行步骤和代码编程,希望对你有所帮助! 目录 客户端 服务端 总结 客户端 现在我们…

安卓机上 4G 内存跑 Alpaca,欢迎试用轻量级 LLM 模型推理框架 InferLLM

从 LLM 火爆以来,社区已经出现了非常多优秀的模型,当然他们最大的特点就是体积大。最近为了让大模型可以在更低端的设备上运行,社区做了非常多的工作, gptq 实现了将模型进行低比特量化,因此降低了运行大模型对 CPU 内…

Install4j V10安装及简单使用

版本 install4j v10.0(附激活流程) 下载地址 脚本之家夸克网盘 安装 点击Crack生成License 安装后粘贴在最后一步: 实战 准备 之前做过一个git-agent的demo, 本意是用来学习Netty的, 其中包括git-server和git-cli, 我们以git-server为原材料(可执行jar包)进行演示, …

【数据结构与算法】树状数组

Fenwick Tree 树状数组(Binary Indexed Tree,又称 Fenwick Tree)是一种基于数组实现的数据结构,用于高效地动态维护前缀和。 树状数组可以在 O ( log ⁡ n ) O(\log n) O(logn) 的时间复杂度内进行单点修改和前缀求和操作&#x…

Android studio使用glade7.5编译通过opencv官方例程camera_calibration

Opency官方例程是用glade4.2.1构建的,所以想使用glade7对官方例程重新构建。由于自己对android studio的glade架构不熟悉,走了不少弯路,刚开始使用glade7重新编译opencv官方例程,编译能通过,但是app总是会闪退。 下面这…

ArcGIS API for JavaScript 3.x 添加动态波纹标注

模拟波纹效果基于 arcgis 3.x, 先看效果图: 实现思路 波纹是由两个图层组成,圆点动态圆,主要借助于esri/geometry/Point和esri/symbols/SimpleMarkerSymbol,这两个类。 Point创建点, SimpleMarkerSymbol创建一个圆&#xff0c…

理化生实验室常用实验仪器清单及用途说明

理化生实验室除了常见的玻璃器皿,作为实验室中同样重要的一部分,实验仪器也是不可或缺,其可以有效地提高实验精度与效率。下面,就为大家盘点一下实验室都有哪些常见的实验仪器。 显微镜的用途主要用于放大微小物体成为人的肉眼所…

Acceptance-Rejection Sampling

Acceptance-Rejection Sampling 文章目录 Acceptance-Rejection Sampling[toc]1 接受拒绝采样2 Acceptance-Rejection 采样实现 1 接受拒绝采样 给定随机变量 X X X服从pdf为 f ( x ) f(x) f(x)的分布,例如 f ( x ) f(x) f(x)为正态概率密度函数,我们可…

js 字符串拼接的4种方法

一、使用连接符 把想要连接的字符串串起来 let shy 帅哥 let a 我是 shy console.log(a) // 我是帅哥 二、模板字符串 模板字符串(template string)是增强版的字符串,用反引号()标识,特点&#xff1a…