使用 docker 搭建 granfana+prometheus 监控平台监控测试服务器资源

互联网发展的今天,人们对互联网产品的用户体验要求也越来越高,企业为了能提供更优质的用户体验,就会绞尽脑汁想尽各种办法。而对于服务器的资源监控,搭建一个资源监控平台,就是一个很好的维护优质服务的保障平台。利用监控平台,监控服务器资源的使用情况,实时查看用户在使用企业产品服务时,基础支撑能力情况,发现监控异常,能够第一时间做出相应的调整决策,从而保障提供用户优质体验。

今天,就给大家讲解一种基于目前企业普遍使用的技术,快速搭建一个非常前沿、高大上的监控平台:docker + grafana + prometheus

 

docker

docker相信大家都已经在用了,因为现在大多企业中都在用。使用它来搭建环境,相比传统方式,速度要快非常非常多,同时,服务运行起来后,对资源的消耗也少很多,而且还能方便对各种服务进行定向扩容。而它的安装也非常的简单,准备一台linux机器,如centos7,只需要执行两个命令,就可以安装成功。

注意: 下面没有特别说明,默认linux机器防火墙是关闭的;linux机器与被测服务器网络是通的。

# centos7 安装docker 
# 安装依赖
yum install -y yum-utils device-mapper-persistent-data lvm2#安装docker
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun# 设置开机启动
systemctl enable docker

prometheus

Prometheus是一套开源的监控+预警+时间序列数据库的组合,现在越来越多的公司或组织开始采用Prometheus,现在常见的kubernetes容器管理系统,也会搭配Prometheus来进行监控。

Prometheus本身不具备收集监控数据功能,需要使用http接口来获取不同的export收集的数据,存储到时序数据库中。

使用docker方式安装Prometheus非常的简单

# 下载Prometheus镜像
docker pull prom/prometheus# 创建Prometheus容器
docker run -itd --name=docker_prometheus --restart=always -p 9090:9090 prom/prometheus

容器创建成功后,即可通过浏览器访问 http://prometheus机器ip:9090 查看

 

grafana

Grafana是一个跨平台的开源的度量分析和可视化工具,可以通过将采集的数据库查询后可视化的展示,并及时通知。官方提供了非常多的可视化模板,根据不同的数据源,选择不同的插件或模板即可。

使用docker安装,也是非常非常简单

# 下载镜像
docker pull grafana/grafana# 创建容器
docker run -itd --name=grafana \--restart=always \-p 3000:3000 \-v $PWD/grafana-storage:/var/lib/grafana \grafana/grafana

容器创建成功后,即可通过浏览器访问 http://grafana机器ip:3000,默认账号密码都是:admin

 

node_export

node_export是Prometheus的一个export,主要是用来收集服务器硬件资源使用情况的。所以这个往往会部署再被监控的服务器上。即:grafana、Prometheus会独立部署在一台机器上,node_export则被部署在被监控的服务器上,收集被监控的服务器资源数据,给Prometheus,然后再通过grafana展示出来。

node_export部署在被监控的服务器上,可以根据服务器的实际情况,选择直接安装,还是用docker安装。

  • 服务器上直接安装node_export 首先,用浏览器访问:https://github.com/prometheus/node_exporter/releases 这里能获得node_export所有的发布版本,可以根据自己服务器的实际情况,选择要下载的包 下载包后,上传到被监控的服务器上,解压 进入解压文件夹,直接启动./node_exporter
  • 服务器上用docker安装node_export
# 下载镜像
docker pull prom/node-exporter# 创建容器
docker run -itd --name=node-exporter \--restart=always \-p 9100:9100  \-v "/proc:/host/proc:ro" \-v "/sys:/host/sys:ro" \-v "/:/rootfs:ro" \prom/node-exporter

node-exporter部署启动好了后,在服务器的防火墙上开放9100端口,则可以通过浏览器访问 http://服务器ip:9100/metrics 查看监控收集的数据。

 

配置Prometheus+node_exporter

prometheus本身没有数据收集功能,需要用node_exporter收集,他们俩之间如何连接在一起呢?这就要修改Prometheus的配置文件,这个文件在Prometheus容器的 /etc/prometheus/prometheus.yml

# 从Prometheus容器中拷贝配置文件到宿主机
docker cp docker_prometheus:/etc/prometheus/prometheus.yml $PWD

修改prometheus.yml文件

vim prometheus.ymlscrape_configs:- job_name: prometheusstatic_configs:- targets: ['localhost:9090']labels:instance: prometheus- job_name: linuxstatic_configs:- targets: ['被监控的服务器ip:9100']labels:instance: localhost

注意 :yml文件的编辑,注意格式;想添加多个监控服务器时,可以在中括号中,用逗号分隔写多个

# 把修改后的Prometheus配置文件拷贝到容器中
docker cp $PWD/prometheus.yml docker_prometheus:/etc/prometheus/prometheus.yml

重启Prometheus容器

docker restart docker_prometheus

配置Grafana+Prometheus

现在,万事俱备,只欠东风了,只需要配置grafana+prometheus就能看到监控结果了。

用浏览器访问 http://grafana机器ip:3000 登录用户密码:admin

登录后,在首页,选择 "Add your first data source"

 

选择 Prometheus,填写相关信息

 

点击back按钮,回到首页

再点击 import

 

 

输入12884,点击 load

再页面底部,Prometheus数据库下拉框中,选择自己添加的数据源的名称,点击 import按钮,所有工作就都完成。

 

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

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

相关文章

8.Oracle中多表连接查询方式

表连接分类: 内连接、外连接、交叉连接、自连接 1 内连接 内连接是一种常见的多表关联查询方式,一般使用关键字INNER JOIN来实现。其中,INNER关键字可以省略,当只使用JOIN关键字时,语句只表示内连接操作。在使用内连…

LLMs之Code:SQLCoder的简介、安装、使用方法之详细攻略

LLMs之Code:SQLCoder的简介、安装、使用方法之详细攻略 目录 SQLCoder的简介 1、结果 2、按问题类别的结果 SQLCoder的安装 1、硬件要求 2、下载模型权重 3、使用SQLCoder 4、Colab中运行SQLCoder 第一步,配置环境 第二步,测试 第…

Mac Flutter web环境搭建

获取 Flutter SDK 下载以下安装包来获取最新的 stable Flutter SDK将文件解压到目标路径, 比如: cd ~/development $ unzip ~/Downloads/flutter_macos_3.13.0-stable.zip 配置 flutter 的 PATH 环境变量: export PATH"$PATH:pwd/flutter/bin" // 这个命…

【1++的数据结构】之AVL树

👍作者主页:进击的1 🤩 专栏链接:【1的数据结构】 文章目录 一,什么是AVL树二,AVL树的插入三,AVL树的旋转3.1 向左旋转3.2 向右旋转3.3 左右双旋3.4 右左双旋 四,验证AVL树是否平衡 …

LinkedList的顶级理解

目录 1.LinkedList的介绍 LinkedList的结构 2.LinkedList的模拟实现 2.1创建双链表 2.2头插法 2.3尾插法 2.4任意位置插入 2.5查找关键字 2.6链表长度 2.7遍历链表 2.8删除第一次出现关键字为key的节点 2.9删除所有值为key的节点 2.10清空链表 2.11完整代码 3.…

①matlab的命令掌握

目录 输入命令 命名变量 保存和加载变量 使用内置的函数和常量 输入命令 1.您可以通过在命令行窗口中 MATLAB 提示符 (>>) 后输入命令 任务 使用命令 3*5 将数值 3 和 5 相乘。 答案 3*5 2.除非另有指定,否则 MATLAB 会将计算结果存储在一个名为 ans…

php 文字生成图片保存到本地

你可以使用PHP的GD库来生成图片并保存到本地。首先,你需要确保你的PHP环境已经安装了GD库。然后,你可以使用GD库的函数来创建一个画布,并在上面绘制文字。最后,使用imagepng或imagejpeg函数将画布保存为PNG或JPEG格式的图片文件。…

POI groupRow 折叠分组,折叠部分不显示问题

折叠组是什么?如图就是用POI 实现的,代码很简单:sheet.groupRow(开始行,结束行)即可 但是万万没想到,最终实现出的结果,合并的组,有一部分并没有渲染出来,如下图: 因为我…

yum install libreoffice‘ returned a non-zero

The command ‘/bin/sh -c yum install libreoffice’ returned a non-zero code: 1 1. 异常信息 Is this ok [y/d/N]: Exiting on user command Your transaction was saved, rerun it with:yum load-transaction /tmp/yum_save_tx.2023-08-28.13-42.EftXfl.yumtx The comman…

基于蜜獾算法优化的BP神经网络(预测应用) - 附代码

基于蜜獾算法优化的BP神经网络(预测应用) - 附代码 文章目录 基于蜜獾算法优化的BP神经网络(预测应用) - 附代码1.数据介绍2.蜜獾优化BP神经网络2.1 BP神经网络参数设置2.2 蜜獾算法应用 4.测试结果:5.Matlab代码 摘要…

软件国产化之殇

今天又看到这么一个帖子讨论一款国产化软件,属实给我震撼到了。 对于国产化产品,一直主打的都是”自研“,难道是我对”自研“这个词的理解有误? 做一个产品,别人开源了,你拿过来使用,你可以说…

Android——基本控件(下)(十九)

1. 菜单:Menu 1.1 知识点 (1)掌握Android中菜单的使用; (2)掌握选项菜单(OptionsMenu)的使用; (3)掌握上下文菜单(ContextMenu&am…

Java doc等文件生成PDF、多个PDF合并

之前写过一遍文章是 图片生成PDF。 今天继续来对 doc等文件进行pdf合并以及多个pdf合并为一个pdf。 兄弟们&#xff0c;还是开箱即用。 1、doc生成pdf 依赖 <!-- doc生成pdf --><dependency><groupId>com.aspose</groupId><artifactId>aspose…

【会议征稿】2023智能通信与网络国际学术会议(ICN 2023)

2023智能通信与网络国际学术会议&#xff08;ICN 2023&#xff09; 2023 International Conference on Intelligent Communication and Networking (ICN2023) 2023智能通信与网络国际学术会议&#xff08;ICN 2023&#xff09;将于2023年11月10-12日在中国常州召开。ICN 2023…

Spring Boot 排除配置类的引用的方法

Spring Boot 提供的自动配置非常强大&#xff0c;某些情况下&#xff0c;自动配置的功能可能不符合我们的需求&#xff0c;需要我们自定义配置&#xff0c;这个时候就需要排除/禁用 Spring Boot 某些类的自动化配置了。 比如&#xff1a;数据源、邮件&#xff0c;这些都是提供…

设计模式——依赖倒转原则

文章目录 基本介绍应用实例依赖关系传递的三种方式和应用案例1, 接口传递&#xff0c;应用案例代码2, 构造方法传递&#xff0c;应用案例代码3, setter 方式传递&#xff0c;应用案例代码 依赖倒转原则的注意事项和细节 基本介绍 依赖倒转原则(Dependence Inversion Principle…

Vue3+TS+Vite中 vConsole 插件的使用

平时在web应用开发过程中&#xff0c;我们可以console.log去输出一些信息&#xff0c;但是在移动端&#xff0c;也就是在手机上&#xff0c;console.log的信息我们是看不到的&#xff0c;这时候就需要移动端调试工具vConsole 1. 依赖安装 npm install vconsole 或者 yarn ad…

扫雷小游戏

目录 一.扫雷小游戏 二.游戏主体一览 ​编辑 三.模块化设计扫雷游戏 3.1打印欢迎菜单 3.2创建两个二维数组 3.3棋盘稍加修改 3.4布置雷 3.5排查雷 四.游戏总体代码 4.1game.h头文件 4.2game.c函数实现源文件 4.3游戏main函数主体 五.游戏效果图 一.扫雷小游戏 这是…

Jmeter+ServerAgent

一、Jmeter 下载 https://jmeter.apache.org/download_jmeter.cgi选择Binaries二进制下载 apache-jmeter-5.6.2.tgz 修改配置文件 jmeter下的bin目录&#xff0c;打开jmeter.properties 文件 languagezh_CN启动命令 cd apache-jmeter-5.6/bin sh jmeter二、ServerAgent 监…

nginx 托管vue项目配置

server {listen 80;server_name your_domain.com;location / {root /path/to/your/vue/project;index index.html;try_files $uri $uri/ /index.html;} }奇怪的现象,在vue路由中/会跳转到/abc/def&#xff0c;但如果直接输入/abc/def会显示404&#xff0c;添加 try_files $uri…