使用 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按钮,所有工作就都完成。
相关文章:
使用 docker 搭建 granfana+prometheus 监控平台监控测试服务器资源
互联网发展的今天,人们对互联网产品的用户体验要求也越来越高,企业为了能提供更优质的用户体验,就会绞尽脑汁想尽各种办法。而对于服务器的资源监控,搭建一个资源监控平台,就是一个很好的维护优质服务的保障平台。利用…...
一、MQ的基本概念
1、初识MQ MQ全称是Message Queue,消息队列,多用于系统之间进行异步通信。队列的概念数据结构中有详细介绍过,先进先出,消息队列就是存储消息的数据结构。 同步调用和异步调用两者之间的区别: 同步调用:发…...
Android面试题:MVC、MVP、MVVM
MVC模式: MVC结构: 1.MVC(Model-View-Controller) 2.Model:对数据库的操作、对网络等的操作都应该在Model里面处理,当然对业务计算,变更等操作也是必须放在的该层的。 3.View:主要包括一下View及ViewGroup控件,可以是…...
vue js 回调函数 异步处理 为什么要 let that = this
1 异步就是开个事务(只有主线程 等主线程空闲),用that 值 做处理,然后返回处理结果,而that的值是开启事务那一刻的this的值.而在主线程处理的时候,this的一直在变化, that的值保留在那一刻 ps 或是将本obj 传递给其他的obj使用处理 ps 开启新事务或开启新子线程都是 在新的ob…...
前端面试:【算法与数据结构】常见数据结构解析
在计算机科学中,数据结构是组织和存储数据的方式。精通常见的数据结构对于解决计算机科学和编程问题至关重要。本文将深入探讨常见的数据结构:数组、链表、栈、队列和哈希表,以帮助你建立坚实的数据结构基础。 1. 数组(Array&…...
RTSP/Onvif视频服务器EasyNVR安防视频云服务平台出现崩溃并重启的情况解决方案
EasyNVR安防视频云服务平台的特点是基于RTSP/Onvif协议将前端设备统一接入,在平台进行转码、直播、处理及分发,在安防监控场景中,EasyNVR可实现实时监控、云端录像、云存储、告警、级联等视频能力,极大满足行业的视频监控需求。 有…...
软考高级系统架构设计师系列论文九十四:论计算机网络的安全性设计
软考高级系统架构设计师系列论文九十四:论计算机网络的安全性设计 一、计算机网络安全性设计相关知识点二、摘要三、正文四、总结一、计算机网络安全性设计相关知识点 软考高级系统架构设计师:计算机网络...
jenkins Linux如何修改jenkins 默认的工作空间workspace
由于jenkins默认存放数据的目录是/var/lib/jenkins,一般这个var目录的磁盘空间很小的,就几十G,所以需要修改jenkins的默认工作空间workspace 环境 jenkins使用yum安装的 centos 7 正题 1 查看jenkins安装路径 [rootlocalhost jenkins_old_data]# rpm…...
Mysql报错 mysqladmin flush-hosts
出现这个的原因是错误连接达到数据库设置的最大值。 此时需要释放重置连接最大值。 进入mysql使用命令 flush-hosts;环境说明: 内网测试服务器192.168.18.251 为WEB服务器,安装了mysql; 内网音视频转码服务器192.168.18.253安装了转码工具࿰…...
javaee idea创建maven项目,使用el和jstl
如果使用el表达式出现下图问题 解决办法 这是因为maven创建项目时,web.xml头部声明默认是2.3,这个默认jsp关闭el表达式 办法1 在每个需要用到el和jstl的页面的上面加一句: <% page isELIgnored"false" %> 方法2 修改web.xml文件开…...
同一个服务器发布两个前端(网站)
一开始怎么设置都是505,后来把网站文件的位置换到原已经发布成功的网站位置,就成功了。考虑应该是权限问题 server {listen 80;server_name localhost;# https配置参考 start#listen 443 ssl;# 证书直接存放 /docker/nginx/cert/ 目录下即…...
部署常用指南
https://docs.conda.io/en/latest/miniconda.html#installing 环境配置 安装和配置 Anaconda 安装 Anaconda。 配置镜像源: yaml conda配置 vim ~/.condarc channels: - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/pro/ - https://mirrors.tuna.ts…...
4.5 TCP优化
TCP 三次握手的性能提升 三次握手的过程在一个 HTTP 请求的平均时间占比 10% 以上,所以要正确使用三次握手的中参数,需要先用netstat命令查看是哪个握手阶段出了问题,主动发起连接的客户端优化相对简单些,而服务端需要监听端口&a…...
pdf太大怎么压缩大小?这样压缩文件很简单
工作和学习中,用到PDF文件的机会还是比较多的,但有时候PDF文件过大会给我们带来困扰,比如上传PDF文件时会因超出系统大小导致无法上传,这时候简单的解决方法就是压缩PDF文件,下面就来看看具体的操作方法吧~ 方法一&…...
【IMX6ULL驱动开发学习】09.Linux之I2C框架简介和驱动程序模板
参考:Linux之I2C驱动_linux i2c驱动_风间琉璃•的博客-CSDN博客 目录 一、I2C驱动框架简介 1.1 I2C总线驱动 1.2 I2C设备驱动 二、I2C总线-设备-驱动模型 2.1 i2c_driver 2.2 i2c_client 2.3 I2C 设备数据收发和处理 三、Linux I2C驱动程序模板…...
【seaweedfs】3、f4: Facebook’s Warm BLOB Storage System 分布式对象存储的冷热数据
论文地址 Facebook的照片、视频和其他需要可靠存储和快速访问的二进制大型对象(BLOB)的语料库非常庞大,而且还在继续增长。随着BLOB占用空间的增加,将它们存储在我们传统的存储系统-- Haystack 中变得越来越低效。为了提高我们的存储效率(以Blob的有效复…...
基于亚马逊云科技服务,构建大语言模型问答知识库
随着大语言模型效果明显提升,其相关的应用不断涌现呈现出越来越火爆的趋势。其中一种比较被广泛关注的技术路线是大语言模型(LLM)知识召回(Knowledge Retrieval)的方式,在私域知识问答方面可以很好的弥补通…...
SpingMVC拦截器-用户登录权限控制分析
视频链接:08-SpringMVC拦截器-用户登录权限控制代码实现2_哔哩哔哩_bilibili 114 1、做了一个用户跟角色添加的相关操作 1.1 这个后台工程,没有进行相关操作也能够进行登录: 2、现在我做一个用户的权限控制,如果当前我没有进行操…...
MDTA模块(Restormer)
From a layer normalized tensor Y ∈ R H ^ W ^ C ^ \mathbf{Y} \in \mathbb{R}^{\hat{H} \times \hat{W} \times \hat{C}} Y∈RH^W^C^, our MDTA first generates query ( Q ) (\mathbf{Q}) (Q), key ( K ) (\mathbf{K}) (K) and value ( V ) (\mathbf{V}) (V) project…...
C++ 新特性 | C++ 11 | decltype 关键字
一、decltype 关键字 1、介绍 decltype 是 C11 新增的一个用来推导表达式类型的关键字。和 auto 的功能一样,用来在编译时期进行自动类型推导。引入 decltype 是因为 auto 并不适用于所有的自动类型推导场景,在某些特殊情况下 auto 用起来很不方便&…...
2023国赛数学建模思路 - 案例:退火算法
文章目录 1 退火算法原理1.1 物理背景1.2 背后的数学模型 2 退火算法实现2.1 算法流程2.2算法实现 建模资料 ## 0 赛题思路 (赛题出来以后第一时间在CSDN分享) https://blog.csdn.net/dc_sinor?typeblog 1 退火算法原理 1.1 物理背景 在热力学上&a…...
ubuntu20.04 编译安装运行emqx
文章目录 安装依赖编译运行登录dashboard压力测试 安装依赖 Erlang/OTP OTP 24 或 25 版本 apt-get install libncurses5-dev sudo apt-get install erlang如果安装的erlang版本小于24的话,可以使用如下方法自行编译erlang 1.源码获取 wget https://github.com/erla…...
ARM linux ALSA 音频驱动开发方法
+他V hezkz17进数字音频系统研究开发交流答疑群(课题组) 一 linux ALSA介绍 ALSA (Advanced Linux Sound Architecture) 是一个用于提供音频功能的开源软件框架。它是Linux操作系统中音频驱动程序和用户空间应用程序之间的接口。ALSA 提供了访问声卡硬件的低级别API,并支持…...
设计模式二十三:模板方法模式(Template Method Pattern)
定义了一个算法的框架,将算法的具体步骤延迟到子类中实现。这样可以在不改变算法结构的情况下,允许子类重写算法的特定步骤以满足自己的需求 模版方法使用场景 算法框架固定,但具体步骤可以变化:当你有一个算法的整体结构是固定…...
[Linux]进程状态
[Linux]进程状态 文章目录 [Linux]进程状态进程状态的概念阻塞状态挂起状态Linux下的进程状态孤儿进程 进程状态的概念 了解进程状态前,首先要知道一个正在运行的进程不是无时无刻都在CPU上进行运算的,而是在操作系统的管理下,和其他正在运行…...
Python爬虫逆向实战案例(五)——YRX竞赛题第五题
题目:抓取全部5页直播间热度,计算前5名直播间热度的加和 地址:https://match.yuanrenxue.cn/match/5 cookie中m值分析 首先打开开发者工具进行抓包分析,从抓到的包来看,参数传递了查询参数m与f,同时页面中…...
js识别图片中的文字插件 tesseract.js
使用方法及步骤 1.安装依赖 npm i tesseract.js 2.引入插件 import { createWorker } from tesseract.js;//worker多线程引入这个import Tesseract from tesseract.js;//js单线程引入这个 3.使用插件识别图片 //使用worker线程识别(async () > {console.time()const wo…...
Linux设备驱动移植(设备数)
一、设备数 设备树是一种描述硬件信息的数据结构,Linux内核运行时可以通过设备树将硬件信息直接传递给Linux内核,而不再需要在Linux内核中包含大量的冗余编码 设备数语法概述 设备树文件 dts 设备树源文件 dtsi 类似于头文件,包含一些公共的…...
【移动端开发】鸿蒙系统开发入门:代码示例与详解
一、引言 随着华为鸿蒙系统的日益成熟,越来越多的开发者开始关注这一新兴的操作平台。本文旨在为初学者提供一份详尽的鸿蒙系统开发入门指南,通过具体的代码示例,引导大家逐步掌握鸿蒙开发的基本概念和技术。 二、鸿蒙系统开发基础 鸿蒙系…...
Jenkins的流水线详解
来源:u.kubeinfo.cn/ozoxBB 什么是流水线 声明式流水线 Jenkinsfile 的使用 什么是流水线 jenkins 有 2 种流水线分为声明式流水线与脚本化流水线,脚本化流水线是 jenkins 旧版本使用的流水线脚本,新版本 Jenkins 推荐使用声明式流水线。…...
企业网站营销策划/唐山seo排名优化
我有一个玩得特别好的朋友找我帮忙,说他儿子去大厂面试几次没刷下来,要求我帮他儿子出出主意,大概了解他儿子的情况后,我就给他推荐了这本软件测试10万总结,大概过了几个月他就给我发信息了,说他已经靠这份…...
2017最新网站icp备案/专业软文代写
一、pom.xml报错 类似:Missing artifact org.springframework:spring-jdbc:jar:3.2.4.RELEASE 这样的错误,提示某个jar包没有了。 这个问题之前碰见好几次了,每次解决了下一次又忘了,特意记下来。 解决办法是:右键项…...
北京朝阳区建设工作办公网站/白杨seo
OSSIM系统启动故障处理方法1.问题背景OSSIM是基于Debian Squeeze 6的系统,在它强大处理能力的背后其实它的系统也相对比较脆弱,经不起意外掉电、非法关机等严重的意外操作。这样做对系统影响极大甚至是毁灭性的。当然大家也不要惧怕Linux的这种故障&…...
网站图片素材下载/网站查询域名解析
对称加解密算法:通信双方,持有同一个密钥,加解密都是由这一个密钥完成。 公私钥加解密算法:通信双方,都有各自不同的钥匙,加解密都是由不同的钥匙成。 加密算法加密实现方式特点 对称加解密 代表算法 …...
河北衡水网站建设/seo快速优化文章排名
1. 在欢迎窗口右侧的历史项目列表中,双击打开之前创建的单视图项目模板。 2. 本节课将为您演示,如何制作一个自定义行高的表格视图。首先在一个空白项目中,打开视图控制器的代码文件。 3. 接着开始编写代码,实现这项功能。 4. 首先…...
常州专业网站建设推广/网址收录入口
1. 代码行数(新增/累计)博客字数(新增/累计)学习时间(新增/累计)重要成长目标2000行10000字200小时了解JAVA程序设计第十一周100/100800/80015/15学习结构化设计FOR,WHILE,IF-ELSE语句第十二周100/2001000/…...