构建Docker容器监控系统(2)(Cadvisor +Prometheus+Grafana)

Cadvisor产品简介

Cadvisor是Google开源的一款用于展示和分析容器运行状态的可视化工具。通过在主机上运行Cadvisor用户可以轻松的获取到当前主机上容器的运行统计信息,并以图表的形式向用户展示。

接着上一篇来继续

部署Cadvisor

被监控主机上部署Cadvisor容器

清空原来的

[root@agent ~]# docker rm -f $(docker ps -aq)

c78b7f80fd41

a76c56a3155b

14c0398f35a2

a0010d5c535f

[root@agent ~]#  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 \

> google/cadvisor:latest

fbd537636358169b4bcbce652b94211b06c4c7aee41362ceeb456004510b7e82

访问cAdvisor页面

访问http://192.168.50.50:8080 cAdvisor页面可以看到收集到的数据

 

 

Prometheus产品简介

Prometheus是一个最初在SoundCloud上构建的开源系统监视和警报工具包。自2012年成立以来,很多公司和组织都采用了Prometheus,该项目拥有非常活跃的开发者和用户社区。 它现在是一个独立的开源项目,可以独立于任何公司进行维护。 为了强调这一点,并阐明项目的治理结构,Prometheus于2016年加入Cloud Native Computing Foundation(云原生基金会),作为继Kubernetes之后的第二个托管项目。

Prometheus的主要特征有:

  1. 多维度数据模型-由指标键值对标识的时间序列数据组成
  2. PromQL,一种灵活的查询语言
  3. 不依赖分布式存储; 单个服务器节点是自治的
  4. 以HTTP方式,通过pull模型拉取时间序列数据
  5. 支持通过中间网关推送时间序列数据
  6. 通过服务发现或者静态配置,来发现目标服务对象
  7. 支持多种多样的图表和界面展示

部署Prometheus 

[root@agent ~]# docker pull prom/prometheus

Using default tag: latest

*latest: Pulling from prom/prometheus

3cb635b06aa2: Pull complete

34f699df6fe0: Pull complete

33d6c9635e0f: Pull complete

f2af7323bed8: Pull complete

c16675a6a294: Pull complete

827843f6afe6: Pull complete

3d272942eeaf: Pull complete

7e785cfa34da: Pull complete

05e324559e3b: Pull complete

170620261a59: Pull complete

ec35f5996032: Pull complete

5509173eb708: Pull complete

Digest: sha256:cb9817249c346d6cfadebe383ed3b3cd4c540f623db40c4ca00da2ada45259bb

Status: Downloaded newer image for prom/prometheus:latest

docker.io/prom/prometheus:latest

 配置prometheus.yml

一定注意格式很容易出错

[root@agent ~]# vim /tmp/prometheus.yml# my global configglobal:scrape_interval:     15s # Set the scrape interval to every 15 seconds. Default is every 1 minute.evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute.#       # scrape_timeout is set to the global default (10s).# Alertmanager configurationalerting:alertmanagers:- static_configs:- targets:# - alertmanager:9093# Load rules once and periodically evaluate them according to the global 'evaluation_interval'.rule_files:# - "first_rules.yml"# - "second_rules.yml"# A scrape configuration containing exactly one endpoint to scrape:# Here it's Prometheus itself.scrape_configs:# The job name is added as a label `job=<job_name>` 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: 'docker'      ##定义一个叫docker的组static_configs:- targets: ['192.168.50.50:8080']   ##填写一个或多个cadvisor的主机地址用逗号隔开

运行容器

[root@agent ~]# docker run -d \

> --name=prometheus  -p 9090:9090  \

> -v /tmp/prometheus.yml:/etc/prometheus/prometheus.yml \

>  -v /etc/localtime:/etc/localtime \

> prom/prometheus

a8d8416ff184232a062a71fa4ee458c904b74f6f7b86313539708fe435bd4dd1

查看有没有启动

[root@agent ~]# docker ps -a

CONTAINER ID   IMAGE                    COMMAND                   CREATED         STATUS         PORTS                                       NAMES

a8d8416ff184   prom/prometheus          "/bin/prometheus --c…"   2 minutes ago   Up 2 seconds   0.0.0.0:9090->9090/tcp, :::9090->9090/tcp   prometheus

7c5c6cae02da   google/cadvisor:latest   "/usr/bin/cadvisor -…"   3 minutes ago   Up 3 minutes   0.0.0.0:8080->8080/tcp, :::8080->8080/tcp   cadvisor

 访问prometheus页面

http://192.168.50.50:9090

 看到docker组状态up为正常

 

 查询都可以查

 

 部署Granfana

[root@agent ~]# docker run -d \
> --name=grafana \
>  -p 3000:3000 \
> grafana/grafana
91f8dea9a3970f374e521eeb9203fab24e9ef766b8f95bb0672ea1706daa2e7d
[root@agent ~]# docker run --name=nginx -d -p 80:80 nginx
accb1ec5c8c9f711ba8d023474746beb32c041929b934029d41248c7c81c64d8

访问http://192.168.50.50:3000默认账户admin 密码 admin首次登陆需要修改密码

 

 配置数据源

 

 

 

导入模板

 

 选择对应的数据源,点击导入,就可以看到被监控主机的数据

 准备测试容器

[root@agent ~]# docker run --name=nginx -d -p 80:80 nginx
accb1ec5c8c9f711ba8d023474746beb32c041929b934029d41248c7c81c64d8

可以看到成功了

右上角保存

 

到此Cadvisor +Prometheus+Grafana基本架构部署完毕

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Flink多流处理之Broadcast(广播变量)

写过Spark批处理的应该都知道,有一个广播变量broadcast这样的一个算子,可以优化我们计算的过程,有效的提高效率;同样在Flink中也有broadcast,简单来说和Spark中的类似,但是有所区别,首先Spark中的broadcast是静态的数据,而Flink中的broadcast是动态的,也就是源源不断的数据流.在…

Docker 安装和架构说明

Docker 并非是一个通用的容器工具&#xff0c;它依赖于已存在并运行的Linux内核环境。 Docker实质上是在已经运行的Liunx下制造了一个隔离的文件环境&#xff0c;因此他的执行效率几乎等同于所部署的linux主机。因此Docker必须部署在Linux内核系统上。如果其他系统想部署Docke…

阿里云服务器部署Drupal网站教程基于CentOS系统

阿里云百科分享如何在CentOS 7操作系统的ECS实例上搭建Drupal电子商务网站。Drupal是使用PHP语言编写的开源内容管理框架&#xff08;CMF&#xff09;&#xff0c;它由内容管理系统&#xff08;CMS&#xff09;和PHP开发框架&#xff08;Framework&#xff09;共同构成。它用于…

LeetCode 206.反转链表

文章目录 &#x1f4a1;题目分析&#x1f4a1;解题思路&#x1f6a9;方法1: 反转指针指向&#x1f514;接口源码&#xff1a;&#x1f6a9;方法2:取节点头插&#x1f514;接口源码&#xff1a; 题目链接&#x1f449;LeetCode 206.反转链表&#x1f448; &#x1f4a1;题目分析…

2023网络安全常用工具汇总(附学习资料+工具安装包)

几十年来&#xff0c;攻击方、白帽和安全从业者的工具不断演进&#xff0c;成为网络安全长河中最具技术特色的灯塔&#xff0c;并在一定程度上左右着网络安全产业发展和演进的方向&#xff0c;成为不可或缺的关键要素之一。 话不多说&#xff0c;网络安全10款常用工具如下 1、…

【PostgreSQL内核学习(十一)—— OpenGauss源码学习(CopyTo)】

可优化语句执行 概述什么是列存储&#xff1f;列存的优势 相关函数CopyToCStoreCopyToCopyStatetupleDescCStoreScanDesc CStoreBeginScanRelationSnapshotProjectionInfo GetCStoreNextBatchRunScanFillVecBatchCStoreIsEndScan CStoreEndScan 声明&#xff1a;本文的部分内容…

Centos 从0搭建grafana和Prometheus 服务以及问题解决

下载 虚拟机下载 https://customerconnect.vmware.com/en/downloads/info/slug/desktop_end_user_computing/vmware_workstation_player/17_0 cenos 镜像下载 https://www.centos.org/download/ grafana 服务下载 https://grafana.com/grafana/download/7.4.0?platformlinux …

【C语言】结构体详解

现实生活中一个事物&#xff0c;会有许多属性连接起来。而C语言引入一种构造数据类型——结构体 将属于一个事物的多个数据组织起来以体现其内部联系。 一、结构体类型的定义 结构体类型 是一种 构造类型&#xff0c;它是由若干成员组成的&#xff0c;每个成员可以是一个基本…

springBoot集成caffeine,自定义缓存配置 CacheManager

目录 springboot集成caffeine Maven依赖 配置信息&#xff1a;properties文件 config配置 使用案例 Caffeine定制化配置多个cachemanager springboot集成redis并且定制化配置cachemanager springboot集成caffeine Caffeine是一种基于服务器内存的缓存库。它将数据存储在…

零拷贝详解

1、在没有DMA技术之前的I/O过程是这样的&#xff1a; CPU发出对应的指令给磁盘控制器&#xff0c;然后返回磁盘控制器收到指令后&#xff0c;于是就开始准备数据&#xff0c;会把数据放入到磁盘控制器的内部缓冲区&#xff0c;然后产生中断CPU收到中断信号后&#xff0c;停下手…

springBoot的日志文件

日志是程序的重要组成部分&#xff0c;主要可以用来定位和排查问题。除此之外&#xff0c;还可以用来&#xff1a; 1. 记录用户的登录日志&#xff0c;方便分析用户是正常登录还是恶意破解&#xff1b; 2. 记录系统的操作日志&#xff0c;方便数据恢复和定位操作人&#xff1b;…

过滤器,监听器与拦截器的区别

过滤器&#xff0c;监听器与拦截器的区别 ​ 过滤器和监听器不是Spring MVC中的组件&#xff0c;而是Servlet的组件&#xff0c;由Servlet容器来管理。拦截器是Spring MVC中的组件&#xff0c;由Spring容器来管理 ​ Servlet过滤器与Spring MVC 拦截器在Web应用中所处的层次如…

javaWeb项目--二级评论完整思路

先来看前端需要什么吧&#xff1a; 通过博客id&#xff0c;首先需要显示所有一级评论&#xff0c;包括评论者的头像&#xff0c;昵称&#xff0c;评论时间&#xff0c;评论内容 然后要显示每个一级评论下面的二级评论&#xff0c;包括&#xff0c;评论者的头像&#xff0c;昵称…

【Spring】-Spring中Bean对象的存取

作者&#xff1a;学Java的冬瓜 博客主页&#xff1a;☀冬瓜的主页&#x1f319; 专栏&#xff1a;【Framework】 主要内容&#xff1a;往spring中存储Bean对象的三大方式&#xff1a;XML方式(Bean标签)&#xff1b;五大类注解&#xff1b;方法注解。从spring中取对象的两种方式…

查看单元测试用例覆盖率新姿势:IDEA 集成 JaCoCo

1、什么是 IDEA IDEA 全称 IntelliJ IDEA&#xff0c;是 Java 编程语言开发的集成环境。IntelliJ 在业界被公认为最好的 Java 开发工具&#xff0c;尤其在智能代码助手、代码自动提示、重构、JavaEE 支持、各类版本工具(git、SVN 等)、JUnit、CVS 整合、代码分析、 创新的 GUI…

DNS:使用 bind9 配置主从权威DNS服务器

写在前面 分享一些 使用 bind9 配置主从权威名称服务器的笔记理解不足小伙伴帮忙指正 对每个人而言&#xff0c;真正的职责只有一个&#xff1a;找到自我。然后在心中坚守其一生&#xff0c;全心全意&#xff0c;永不停息。所有其它的路都是不完整的&#xff0c;是人的逃避方式…

ML类CFAR检测器在不同环境中检测性能的分析

摘要&#xff1a;该文是楼主翻阅书籍以及一些论文总结出来的关于ML(均值)类CFAR检测器在不同环境中的性能对比&#xff0c;以及优缺点的总结&#xff0c;可以帮助大家面对不同情形如何选择CFAR问题。由于楼主见识短浅&#xff0c;文中难免出现不足之处&#xff0c;望各位指出。…

怎么做Tik Tok海外娱乐公会呢?新加坡市场怎么样?

一、为什么选择TikTok直播 1. 海外市场潜力巨大 • 自2016年始&#xff0c;多家直播平台陆续拓展至东南亚、中东、俄罗斯、日韩、欧美、拉美等地区。 • 海外市场作为直播发展新蓝海&#xff0c;2021年直播行业整申请cmxyci体规模达百亿美元&#xff0c;并维持高速增长。 &a…

geeemap学习总结(1)——Anaconda-VSCode-geemap环境安装与配置

配置conda geemap 环境 通过Anaconda配置geemap环境较为方便&#xff0c;首先需在系统中完成 Anaconda安装。创建名为geemap的环境conda create -n geemap切换到新建的环境conda activate geemap安装geemap依赖包conda install -c conda-forge geemap 安装mambaconda install …

网络编程 tcp udp http编程流程 网络基础知识

讲解 网络基础知识网络编程tcp编程流程图示理解bind和accept函数理解监视套接字和链接套接字理解linux和window下的编程实现tcp特点 udp编程流程图示理解udp特点 http编程流程图示理解编程实现-网站服务器 网络基础知识 OSI分层&#xff1a;应用层 表示层 会话层 传输层 网络层…