Prometheus/Process-Exporter/Grafana三件套,用于监控脚本/应用是否一直在运行,长时间运行时的性能使用情况并用可视化的图标显示出来。
Prometheus(普罗米修斯)是一套比较完备的监控报警系统,其主要架构设计如图:

设计架构图
1. 主要是由以下组件构成:
1.1. Prometheus server:服务中心,主要负责拉取和存储时序书库(Prometheus有自带的时序数据库)
1.2. Client Libraries:客户端库,主要用于和具体的服务进行集成,采集监控数据,例如Micrometer
1.3. Push gateway:另外一种数据push的采集方式(Prometheus默认使用pull的方式主动采集应用数据),用于适配一些没有长期稳定的进程 的服务
1.4. Exporter:用于针对某些特定服务的数据采集工具,例如:mysql/kafka/HA等…
1.5. Alert Manager:Prometheus的监控告警工具,主要通过webhook和其他告警系统进行集成告警,能够进行告警规则的配置
1.6. 其他工具
同时,Prometheus也有一套自己的查询语法,用于已经采集的数据的结果查询,具体可以参考:
https://prometheus.io/docs/prometheus/latest/querying/basics/
或者中文翻译: https://www.jianshu.com/p/3bdc4cfa08da
2. 安装部署
我使用的是Windows,首先在Prometheus官方下载安装包
官网高速入口:“点我!点我!点我!”
下载完毕后安装软件其目录结构如下:

解压后的目录内容
data为Prometheus 是自带时序数据库持久化的目录
pometheus.yml 为整个Prometheus的配置文件
pometheus.exe 为服务启动应用,双击直接启动
这个时候Prometheus会使用最基本的默认配置,运行在本地9090端口,采集自身的运行的数据并持久化到时序数据
prometheus.yml的配置规则参考文档:
https://prometheus.io/docs/prometheus/latest/configuration/configuration/
4.当Prometheus启动完毕后,本地浏览器访问:http://localhost:9090 能够访问,说明安装并启动成功。
普罗米修斯监控Linux主机
在远程linux主机(被监控端agent)上安装node_exorter组件,这样普罗米修斯就可以接收到其收集系统
https://prometheus.io/download/下载地址
1.6.2安装node_exporter组件
安装、解压node_exporter组件
[root@agent ~]# cd /opt
[root@agent opt]# rz -E //上传node_exporter组件到/opt目录下,anget被监控端
[root@agent opt]# tar zxvf node_exporter-0.16.0.linux-amd64.tar.gz -C /usr/local/
[root@agent opt]# mv /usr/local/node_exporter-0.16.0.linux-amd64 /usr/local/node_exporter
[root@agent local]# ls /usr/local/node_exporter
启动node_exporter服务
收集Linux主机信息
[root@agent local]# nohup /usr/local/node_exporter/node_exporter &
1
查看端口(端口9100占用情况)
[root@agent local]# ss -naltp | grep 9100
1
nohup命令:如果把启动node_exporter的终端给关闭,那么进程也会随之关闭,nohup命令可以解决这个问题
Grafana是一个开源的度量分析与可视化套件。经常被用作基础设施的时间序列数据和应用程序分析的可视化,它在其他领域也被广泛的使用包括工业传感器、家庭自动化、天气和过程控制等。
Grafana支持许多不同的数据源。每个数据源都有一个特定的查询编辑器,该编辑器定制的特性和功能是公开的特定数据来源。
其工作模式主要分为三步:
设置数据源:可视化的基础数据来源,例如从数据库/Prometheus/ElasticSearch
配置数据抽取方式:例如通过数据库的SQL/Prometheus的ProQuery等进行数据查询
数据面板配置:Grafana支持多样的数据呈现方式,例如折线图/直方图/热力图等等,通过简单的配置,即可通过多样化的数据呈现方式去展示监控数据
安装部署
Grafana的部署和Prometheus的部署差不多,我使用的是Windows,首先从官方下载安装包:
官网高速入口:“点我!点我!点我!”

安装后的目录内容
3.访问地址 http://127.0.0.1:3000(默认端口为3000,默认用户名和密码均为admin)
四、Prometheus/Process-Exporter/Grafana三件套组合使用

我用到的配置文件修改内容
2.访问:http://localhost:9090 查看连接状态,以下为正常状态

连接状态
\3. grafana配置Prometheus数据库,添加数据源。

添加数据源

填写数据源 Prometheus地址


















4.搭建展示Prometheus数据的仪表盘

添加仪表盘
官网有很多模板,根据你自己的需要和喜欢去选择即可
10467 监控物理机/虚拟机(windows)
12856 spring boot
9614 nginx
2949 nginx
物理机/虚拟机(Linux)监控


黑盒监控


123456监控协议http/icmp/tcp/dns/
http监控某个网站
icmp监控某台机器
tcp监控某个端口
dns监控dns
Rds或MySQL监控

容器监控
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NRXLXtPl-1657165349921)(https://img2020.cnblogs.com/blog/1043450/202112/1043450-20211224171609107-1773143663.png)]




[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gH7884ZN-1657165349922)(https://img2020.cnblogs.com/blog/1043450/202112/1043450-20211224171408633-327752446.png)]
域名证书监控
[外链图片转存中…(img-UpjeZVLx-1657165349922)]
[外链图片转存中…(img-gH7884ZN-1657165349922)]
域名证书监控
13230
[外链图片转存中…(img-n5vJOXLt-1657165349923)]
[外链图片转存中…(img-ifEC6ltD-1657165349923)]

我需要在客户计算机上运行Ruby应用程序。通常需要几天才能完成(复制大备份文件)。问题是如果启用sleep,它会中断应用程序。否则,计算机将持续运行数周,直到我下次访问为止。有什么方法可以防止执行期间休眠并让Windows在执行后休眠吗?欢迎任何疯狂的想法;-) 最佳答案 Here建议使用SetThreadExecutionStateWinAPI函数,使应用程序能够通知系统它正在使用中,从而防止系统在应用程序运行时进入休眠状态或关闭显示。像这样的东西:require'Win32API'ES_AWAYMODE_REQUIRED=0x0
这似乎非常适得其反,因为太多的gem会在window上破裂。我一直在处理很多mysql和ruby-mysqlgem问题(gem本身发生段错误,一个名为UnixSocket的类显然在Windows机器上不能正常工作,等等)。我只是在浪费时间吗?我应该转向不同的脚本语言吗? 最佳答案 我在Windows上使用Ruby的经验很少,但是当我开始使用Ruby时,我是在Windows上,我的总体印象是它不是Windows原生系统。因此,在主要使用Windows多年之后,开始使用Ruby促使我切换回原来的系统Unix,这次是Linux。Rub
之前在培训新生的时候,windows环境下配置opencv环境一直教的都是网上主流的vsstudio配置属性表,但是这个似乎对新生来说难度略高(虽然个人觉得完全是他们自己的问题),加之暑假之后对cmake实在是爱不释手,且这样配置确实十分简单(其实都不需要配置),故斗胆妄言vscode下配置CV之法。其实极为简单,图比较多所以很长。如果你看此文还配不好,你应该思考一下是不是自己的问题。闲话少说,直接开始。0.CMkae简介有的人到大二了都不知道cmake是什么,我不说是谁。CMake是一个开源免费并且跨平台的构建工具,可以用简单的语句来描述所有平台的编译过程。它能够根据当前所在平台输出对应的m
这篇文章是继上一篇文章“Observability:从零开始创建Java微服务并监控它(一)”的续篇。在上一篇文章中,我们讲述了如何创建一个Javaweb应用,并使用Filebeat来收集应用所生成的日志。在今天的文章中,我来详述如何收集应用的指标,使用APM来监控应用并监督web服务的在线情况。源码可以在地址 https://github.com/liu-xiao-guo/java_observability 进行下载。摄入指标指标被视为可以随时更改的时间点值。当前请求的数量可以改变任何毫秒。你可能有1000个请求的峰值,然后一切都回到一个请求。这也意味着这些指标可能不准确,你还想提取最小/
深度学习部署:Windows安装pycocotools报错解决方法1.pycocotools库的简介2.pycocotools安装的坑3.解决办法更多Ai资讯:公主号AiCharm本系列是作者在跑一些深度学习实例时,遇到的各种各样的问题及解决办法,希望能够帮助到大家。ERROR:Commanderroredoutwithexitstatus1:'D:\Anaconda3\python.exe'-u-c'importsys,setuptools,tokenize;sys.argv[0]='"'"'C:\\Users\\46653\\AppData\\Local\\Temp\\pip-instal
我在目录“C:\DocumentsandSettings\test.exe”中有一个文件,但是当我用单引号编写命令时`C:\DocumentsandSettings\test.exe(我无法在此框中显示),用于在Ruby中执行命令,我无法这样做,我收到的错误是找不到文件或目录。我尝试用“//”和“\”替换“\”,但似乎没有任何效果。我也使用过系统、IO.popen和exec命令,但所有的努力都是徒劳的。exec命令还使程序退出,这是我不想发生的。提前致谢。 最佳答案 反引号环境就像双引号,所以反斜杠用于转义。此外,Ruby会将空格解
Linux操作系统——网络配置与SSH远程安装完VMware与系统后,需要进行网络配置。第一个目标为进行SSH连接,可以从本机到VMware进行文件传送,首先需要进行网络配置。1.下载远程软件首先需要先下载安装一款远程软件:FinalShell或者xhell7FinalShellxhell7FinalShell下载:Windows下载http://www.hostbuf.com/downloads/finalshell_install.exemacOS下载http://www.hostbuf.com/downloads/finalshell_install.pkg2.配置CentOS网络安装好
文章目录一基础定义二创建逻辑卷2-1准备物理设备2-2创建物理卷2-3创建卷组2-4创建逻辑卷2-5创建文件系统并挂载文件三扩展卷组和缩减卷组3-1准备物理设备3-2创建物理卷3-3扩展卷组3-4查看卷组的详细信息以验证3-5缩减卷组四扩展逻辑卷4-1检查卷组是否有可用的空间4-2扩展逻辑卷4-3扩展文件系统五删除逻辑卷5-1备份数据5-2卸载文件系统5-3删除逻辑卷5-4删除卷组5-5删除物理卷六LVM逻辑卷缩容6-1缩容注意事项6-2标准缩容步骤一基础定义LVM,LogicalVolumeManger,逻辑卷管理,Linux磁盘分区管理的一种机制,建立在硬盘和分区上的一个逻辑层,提高磁盘分
如何在Ruby中获取linux系统(这必须适用于Fedora、Ubuntu等)的软件/硬件信息? 最佳答案 Chef背后的优秀人才,拥有一颗名为Ohai的优秀gemhttps://github.com/opscode/ohai以散列形式返回系统信息,例如操作系统、内核、规范、fqdn、磁盘、空间、内存、用户、接口(interface)、sshkey等。它非常完整,非常好。它还会安装命令行二进制文件(也称为ohai)。 关于ruby-如何在Ruby中获取linux系统信息,我们在Stack
我在LinuxMint17.2上。我最近使用apt-getpurgeruby删除了ruby。然后我安装了rbenv然后rbenvinstall2.3.0所以现在,~/.rbenv/versions/2.3.0/bin/ruby存在。但是现在,我无法执行geminstallrubocop。我明白了:$geminstallrubocoprbenv:gem:commandnotfoundThe`gem'commandexistsintheseRubyversions:2.3.0但是我可以~/.rbenv/versions/2.3.0/bin/geminstallrubocop。但是,