草庐IT

grafana-普罗米修斯-监控linux-windows版

茫仔 2024-02-19 原文

typora-root-url: img
typora-copy-images-to: img

grafana-普罗米修斯-监控linux-windows版

​ Prometheus/Process-Exporter/Grafana三件套,用于监控脚本/应用是否一直在运行,长时间运行时的性能使用情况并用可视化的图标显示出来。

一、Prometheus

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官方下载安装包

官网高速入口:“点我!点我!点我!

下载完毕后安装软件其目录结构如下:

解压后的目录内容

  1. data为Prometheus 是自带时序数据库持久化的目录

  2. pometheus.yml 为整个Prometheus的配置文件

  3. pometheus.exe 为服务启动应用,双击直接启动

这个时候Prometheus会使用最基本的默认配置,运行在本地9090端口,采集自身的运行的数据并持久化到时序数据

prometheus.yml的配置规则参考文档:

https://prometheus.io/docs/prometheus/latest/configuration/configuration/

4.当Prometheus启动完毕后,本地浏览器访问:http://localhost:9090 能够访问,说明安装并启动成功。

普罗米修斯监控Linux主机

二、node组件概述

在远程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是一个开源的度量分析与可视化套件。经常被用作基础设施的时间序列数据和应用程序分析的可视化,它在其他领域也被广泛的使用包括工业传感器、家庭自动化、天气和过程控制等。

Grafana支持许多不同的数据源。每个数据源都有一个特定的查询编辑器,该编辑器定制的特性和功能是公开的特定数据来源。

其工作模式主要分为三步:

设置数据源:可视化的基础数据来源,例如从数据库/Prometheus/ElasticSearch

配置数据抽取方式:例如通过数据库的SQL/Prometheus的ProQuery等进行数据查询

数据面板配置:Grafana支持多样的数据呈现方式,例如折线图/直方图/热力图等等,通过简单的配置,即可通过多样化的数据呈现方式去展示监控数据

安装部署

​ Grafana的部署和Prometheus的部署差不多,我使用的是Windows,首先从官方下载安装包:

官网高速入口:“点我!点我!点我!

  1. 下载安装程序如下:

安装后的目录内容

  1. 直接双击 nssm.exe 启动

3.访问地址 http://127.0.0.1:3000(默认端口为3000,默认用户名和密码均为admin)

四、Prometheus/Process-Exporter/Grafana三件套组合使用

  1. Prometheus配置prometheus.yml

我用到的配置文件修改内容

2.访问:http://localhost:9090 查看连接状态,以下为正常状态

连接状态

\3. grafana配置Prometheus数据库,添加数据源。

添加数据源

填写数据源 Prometheus地址

四、添加普罗米修斯的数据源

  • 添加数据源

  • 设置 数据源、数据源名称、类型、IP地址、端口号



  • 点击齿轮图标,查看已添加的数据源

  • 为添加好的数据源做图形显示

  • 增加图形
  • 选择需要呈现图形的数据



  • 保存


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

添加仪表盘

​ 官网有很多模板,根据你自己的需要和喜欢去选择即可

ashboards模版id

10467 监控物理机/虚拟机(windows)
12856 spring boot
9614 nginx
2949 nginx

物理机/虚拟机(Linux)监控

  • 8919

  • 1860

黑盒监控

  • 7587

  • 9965

123456监控协议http/icmp/tcp/dns/

http监控某个网站
icmp监控某台机器
tcp监控某个端口
dns监控dns

Rds或MySQL监控

  • 7362

容器监控

  • 193 Docker monitoring

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

  • 315 Kubernetes cluster monitoring (via Prometheus)

  • 3146 Kubernetes Pods

  • 8685 K8s Cluster Summary

  • 8588 Kubernetes Deployment Statefulset Daemonset metrics

  • 10000 Cluster Monitoring for Kubernetes

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gH7884ZN-1657165349922)(https://img2020.cnblogs.com/blog/1043450/202112/1043450-20211224171408633-327752446.png)]

域名证书监控

13230

[外链图片转存中…(img-UpjeZVLx-1657165349922)]

  • 10000 Cluster Monitoring for Kubernetes

[外链图片转存中…(img-gH7884ZN-1657165349922)]

域名证书监控

13230
[外链图片转存中…(img-n5vJOXLt-1657165349923)]
[外链图片转存中…(img-ifEC6ltD-1657165349923)]

有关grafana-普罗米修斯-监控linux-windows版的更多相关文章

  1. ruby - 在 Ruby 程序执行时阻止 Windows 7 PC 进入休眠状态 - 2

    我需要在客户计算机上运行Ruby应用程序。通常需要几天才能完成(复制大备份文件)。问题是如果启用sleep,它会中断应用程序。否则,计算机将持续运行数周,直到我下次访问为止。有什么方法可以防止执行期间休眠并让Windows在执行后休眠吗?欢迎任何疯狂的想法;-) 最佳答案 Here建议使用SetThreadExecutionStateWinAPI函数,使应用程序能够通知系统它正在使用中,从而防止系统在应用程序运行时进入休眠状态或关闭显示。像这样的东西:require'Win32API'ES_AWAYMODE_REQUIRED=0x0

  2. ruby - 在 Windows 机器上使用 Ruby 进行开发是否会适得其反? - 2

    这似乎非常适得其反,因为太多的gem会在window上破裂。我一直在处理很多mysql和ruby​​-mysqlgem问题(gem本身发生段错误,一个名为UnixSocket的类显然在Windows机器上不能正常工作,等等)。我只是在浪费时间吗?我应该转向不同的脚本语言吗? 最佳答案 我在Windows上使用Ruby的经验很少,但是当我开始使用Ruby时,我是在Windows上,我的总体印象是它不是Windows原生系统。因此,在主要使用Windows多年之后,开始使用Ruby促使我切换回原来的系统Unix,这次是Linux。Rub

  3. Vscode+Cmake配置并运行opencv环境(Windows和Ubuntu大同小异) - 2

    之前在培训新生的时候,windows环境下配置opencv环境一直教的都是网上主流的vsstudio配置属性表,但是这个似乎对新生来说难度略高(虽然个人觉得完全是他们自己的问题),加之暑假之后对cmake实在是爱不释手,且这样配置确实十分简单(其实都不需要配置),故斗胆妄言vscode下配置CV之法。其实极为简单,图比较多所以很长。如果你看此文还配不好,你应该思考一下是不是自己的问题。闲话少说,直接开始。0.CMkae简介有的人到大二了都不知道cmake是什么,我不说是谁。CMake是一个开源免费并且跨平台的构建工具,可以用简单的语句来描述所有平台的编译过程。它能够根据当前所在平台输出对应的m

  4. Observability:从零开始创建 Java 微服务并监控它 (二) - 2

    这篇文章是继上一篇文章“Observability:从零开始创建Java微服务并监控它(一)”的续篇。在上一篇文章中,我们讲述了如何创建一个Javaweb应用,并使用Filebeat来收集应用所生成的日志。在今天的文章中,我来详述如何收集应用的指标,使用APM来监控应用并监督web服务的在线情况。源码可以在地址 https://github.com/liu-xiao-guo/java_observability 进行下载。摄入指标指标被视为可以随时更改的时间点值。当前请求的数量可以改变任何毫秒。你可能有1000个请求的峰值,然后一切都回到一个请求。这也意味着这些指标可能不准确,你还想提取最小/

  5. 深度学习部署:Windows安装pycocotools报错解决方法 - 2

    深度学习部署: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

  6. ruby - 如何在 Ruby 中执行 Windows CLI 命令? - 2

    我在目录“C:\DocumentsandSettings\test.exe”中有一个文件,但是当我用单引号编写命令时`C:\DocumentsandSettings\test.exe(我无法在此框中显示),用于在Ruby中执行命令,我无法这样做,我收到的错误是找不到文件或目录。我尝试用“//”和“\”替换“\”,但似乎没有任何效果。我也使用过系统、IO.popen和exec命令,但所有的努力都是徒劳的。exec命令还使程序退出,这是我不想发生的。提前致谢。 最佳答案 反引号环境就像双引号,所以反斜杠用于转义。此外,Ruby会将空格解

  7. 【Linux操作系统】——网络配置与SSH远程 - 2

    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网络安装好

  8. Linux磁盘分区中物理卷(PV)、卷组(VG)、逻辑卷(LV)创建和(LVM)管理 - 2

    文章目录一基础定义二创建逻辑卷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磁盘分区管理的一种机制,建立在硬盘和分区上的一个逻辑层,提高磁盘分

  9. ruby - 如何在 Ruby 中获取 linux 系统信息 - 2

    如何在Ruby中获取linux系统(这必须适用于Fedora、Ubuntu等)的软件/硬件信息? 最佳答案 Chef背后的优秀人才,拥有一颗名为Ohai的优秀gemhttps://github.com/opscode/ohai以散列形式返回系统信息,例如操作系统、内核、规范、fqdn、磁盘、空间、内存、用户、接口(interface)、sshkey等。它非常完整,非常好。它还会安装命令行二进制文件(也称为ohai)。 关于ruby-如何在Ruby中获取linux系统信息,我们在Stack

  10. ruby - rbenv:在 Linux Mint 上找不到 gem 命令 - 2

    我在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。但是,

随机推荐