Prometheus + Grafana 实现服务器的可视化

这篇具有很好参考价值的文章主要介绍了Prometheus + Grafana 实现服务器的可视化。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Prometheus + Grafana 实现服务器的可视化

系统环境准备:

服务器IP:172.20.26.204

系统版本:CentOS Linux release 7.9.2009 (Core)

安装基础工具软件,系统更新

yum install vim net-tools epel-release wget -y

yum update

Prometheus 简介

Prometheus 是一个开源监控工具,实现了高维数据模型。Prometheus 有多种数据可视化模式,其中一种是集成 Grafana。Prometheus 以高效的自定义格式将时间序列数据存储在内存和本地磁盘上。
Prometheus 有许多客户端可用于轻松监控服务,也可以轻松创建自定义客户端。每台服务器的可靠性都是独立的,仅依赖本地存储。用 Golang 编程语言编写,所有二进制文件都是静态链接的,易于部署。
Prometheus 采用拉取策略而不是推送策略,即 Prometheus 以一定的时间间隔从 exporter 那里拉取数据,而不是 exporter推送数据到 Prometheus。这种方式有其自身的优点和缺点,但我们不讨论这些细节。

node_exporter 简介

在 Prometheus 的架构设计中,Prometheus Server 主要负责数据的收集,存储并且对外提供数据查询支持,而实际的监控样本数据的收集则是由 Exporter 完成。

Exporter 可以是一个相对开放的概念,其可以是一个独立运行的程序独立于监控目标以外,也可以是直接内置在监控目标中。只要能够向 Prometheus 提供标准格式的监控样本数据即可

为了能够采集到主机的运行指标如CPU, 内存,磁盘等信息。我们可以使用Node Exporter。Node Exporter 同样采用 Golang 编写,并且不存在任何的第三方依赖,只需要下载,解压即可运行。可以从 https://prometheus.io/download/ 获取最新的 node exporter 版本的二进制包。

Grafana 简介

Grafana 是一款开源可视化和分析软件,它允许你查询、可视化、提醒和探索您的指标,无论这些指标存储在哪里。Grafana 支持数十种数据库,我们可以创建一个仪表盘来可视化它们全部。
Grafana 还提供报警,直观地定义阀值,并通过 Slack、 PagerDuty 和其他平台获得通知。Grafana 还提供了多种选项来查看我们的数据,从热力图到直方图,从图形到地理地图。Grafana 有大量的可视化选项可以帮助我们更好地理解数据。我正在使用 Ubuntu 18.04,并将显示与其相关的整个配置。

一、Prometheus 安装

Prometheus + Grafana 实现服务器的可视化,Prometheus,prometheus,grafana,服务器

Download | Prometheus   查看prometheus版本列表

cd /data/server

wget https://github.com/prometheus/prometheus/releases/download/v2.46.0/prometheus-2.46.0.linux-amd64.tar.gz   #下载2.46.0.linux-amd64.tar.gz

tar -xzf prometheus-2.46.0.linux-amd64.tar.gz

cd prometheus-2.46.0.linux-amd64

Prometheus + Grafana 实现服务器的可视化,Prometheus,prometheus,grafana,服务器

设置以服务方式启动prometheus服务

vim /etc/systemd/system/prometheus.service

[Unit]

Description=Prometheus Monitoring System

Documentation=Prometheus Monitoring System

[Service]

ExecStart=/data/server/prometheus-2.46.0.linux-amd64/prometheus \

  --config.file=/data/server/prometheus-2.46.0.linux-amd64/prometheus.yml \

  --web.listen-address=:9090

[Install]

WantedBy=multi-user.target

保存退出

启动服务,设置开机自启

systemctl daemon-reload

systemctl enable prometheus

systemctl start prometheus

Prometheus + Grafana 实现服务器的可视化,Prometheus,prometheus,grafana,服务器

http://172.20.26.204:9090/

Prometheus + Grafana 实现服务器的可视化,Prometheus,prometheus,grafana,服务器

点击:status – targets

prometheus 是 up 状态,表示安装启动成功

Prometheus + Grafana 实现服务器的可视化,Prometheus,prometheus,grafana,服务器

停止Prometheus 服务:

[root@bogon prometheus-2.46.0.linux-amd64]#ps -ef | grep Prometheus

[root@bogon prometheus-2.46.0.linux-amd64]# ps -ef | grep prometheus

root     31691     1  0 16:11 ?        00:00:01 /data/server/prometheus-2.46.0.linux-amd64/prometheus --config.file=/data/server/prometheus-2.46.0.linux-amd64/prometheus.yml --web.listen-address=:9090

root     31717 31623  0 16:38 pts/1    00:00:00 grep --color=auto prometheus

[root@bogon prometheus-2.46.0.linux-amd64]# kill -9 31691

Prometheus + Grafana 实现服务器的可视化,Prometheus,prometheus,grafana,服务器

wget https://github.com/prometheus/prometheus/releases/download/v2.21.0/prometheus-2.21.0.linux-amd64.tar.gz

tar -xzf prometheus-2.21.0.linux-amd64.tar.gz


cd prometheus-2.21.0.linux-amd64/

./Prometheus &    #
启动Prometheus服务

nohup ./prometheus  --config.file=prometheus.yml > ./prometheus.log 2>&1 &  #启动 prometheus 服务

 

也可以以服务方式启动

vim /etc/systemd/system/prometheus.service

[Unit]

Description=Prometheus Monitoring System

Documentation=Prometheus Monitoring System

 

[Service]

ExecStart=/usr/local/prometheus/prometheus \

  --config.file=/usr/local/prometheus/prometheus.yml \

  --web.listen-address=:9090

 

[Install]

WantedBy=multi-user.target

如果 wget tar.gz 包时报如下错误,

Prometheus + Grafana 实现服务器的可视化,Prometheus,prometheus,grafana,服务器

[root@bogon server]# wget https://github.com/prometheus/prometheus/releases/download/v2.21.0/prometheus-2.21.0.linux-amd64.tar.gz

--2023-08-04 09:31:43--  https://github.com/prometheus/prometheus/releases/download/v2.21.0/prometheus-2.21.0.linux-amd64.tar.gz

正在解析主机 github.com (github.com)... 20.205.243.166

正在连接 github.com (github.com)|20.205.243.166|:443... 已连接。

无法建立 SSL 连接。

需要在hosts文件添加如下解析地址:

vim /etc/hosts

199.232.69.194 github.global.ssl.fastly.net

140.82.112.4 www.github.com

185.199.108.153 assets-cdn.github.com

185.199.109.153 assets-cdn.github.com

185.199.110.153 assets-cdn.github.com

185.199.111.153 assets-cdn.github.com

185.199.108.153 documentcloud.github.com

185.199.109.153 documentcloud.github.com

185.199.110.153 documentcloud.github.com

185.199.111.153 documentcloud.github.com

140.82.114.3 gist.github.com

185.199.108.153 help.github.com

185.199.109.153 help.github.com

185.199.110.153 help.github.com

185.199.111.153 help.github.com

140.82.112.9 nodeload.github.com

199.232.68.133 raw.github.com

140.82.112.18 status.github.com

140.82.113.18 training.github.com

199.232.68.133 raw.githubusercontent.com

199.232.68.133 user-images.githubusercontent.com

199.232.68.133 avatars1.githubusercontent.com

199.232.68.133 avatars2.githubusercontent.com

199.232.68.133 avatars3.githubusercontent.com

199.232.68.133 cloud.githubusercontent.com

140.82.113.6 api.github.com

保存,重启网络服务

systemctl restart network

安装非常简单,执行这些命令将会让 Prometheus 服务器在端口 9090 中运行。

Prometheus 在端口9090上的仪表板如下图所示:
 

Prometheus + Grafana 实现服务器的可视化,Prometheus,prometheus,grafana,服务器


如前所述,从 Prometheus 中抓取的指标发生在恒定的时间段内,因此可以在路径 /metrics 中查看它们。
 

Prometheus + Grafana 实现服务器的可视化,Prometheus,prometheus,grafana,服务器


 

Prometheus + Grafana 实现服务器的可视化,Prometheus,prometheus,grafana,服务器


这些指标用于形成具有各种聚合函数的复杂表达式,以我们想要的形式进行可视化,这在 promql 的帮助下基本上是可能的。Prometheus 中的图形可视化非常基本,没有提供太多自定义,因此我们将使用 Grafana。

二、node_exporter 安装

Releases · prometheus/node_exporter · GitHub   # 查看node_exporter版本列表

cd /data/server

wget -c https://github.com/prometheus/node_exporter/releases/download/v1.6.1/node_exporter-1.6.1.linux-amd64.tar.gz    #下载node_exporter-1.6.1.linux-amd64.tar.gz

[root@bogon server]# tar -xzf node_exporter-1.6.1.linux-amd64.tar.gz    #解压出来

[root@bogon node_exporter-1.6.1.linux-amd64]# nohup ./node_exporter > node_exporter.log 2>&1 &   ### 该命令在后台执行 node_exporter 脚本,并重定向输入到当前目录下的 node_exporter.log 文件

Prometheus + Grafana 实现服务器的可视化,Prometheus,prometheus,grafana,服务器

此时,可以使用 ps -ef | grep node 命令确认node_exporter是否启动,或者使用 ss -tlnp 都可以;

Prometheus + Grafana 实现服务器的可视化,Prometheus,prometheus,grafana,服务器

启动之后,就可以在浏览器中输入:http://172.20.26.204:9100/metrics 进行访问了。如下图:

Prometheus + Grafana 实现服务器的可视化,Prometheus,prometheus,grafana,服务器

可见,当前 node exporter 获取到的当前主机的所有监控数据。

配置 node_exporter 的 service 文件,设置开机启动

[root@bogon node_exporter-1.6.1.linux-amd64]# vim /usr/lib/systemd/system/node_exporter.service

 [Unit]

Description=node_export

Documentation=https://github.com/prometheus/node_exporter

After=network.target

[Service]

Type=simple

ExecStart= /data/server/node_exporter-1.6.1.linux-amd64 /node_exporter

Restart=on-failure

[Install]

WantedBy=multi-user.target

[root@bogon node_exporter-1.6.1.linux-amd64]# systemctl daemon-reload

[root@bogon node_exporter-1.6.1.linux-amd64]# systemctl restart node_exporter

[root@bogon node_exporter-1.6.1.linux-amd64]# systemctl status node_exporter

● node_exporter.service - node_export

   Loaded: loaded (/usr/lib/systemd/system/node_exporter.service; disabled; vendor preset: disabled)

   Active: active (running) since 二 2023-08-08 09:18:56 CST; 6s ago

     Docs: https://github.com/prometheus/node_exporter

 Main PID: 8381 (node_exporter)

   CGroup: /system.slice/node_exporter.service

           └─8381 /data/server/node_exporter-1.6.1.linux-amd64/node_exporter

8月 08 09:18:56 bogon node_exporter[8381]: ts=2023-08-08T01:18:56.452Z caller=node_exporter.go:117 level=info collector=thermal_zone

8月 08 09:18:56 bogon node_exporter[8381]: ts=2023-08-08T01:18:56.452Z caller=node_exporter.go:117 level=info collector=time

8月 08 09:18:56 bogon node_exporter[8381]: ts=2023-08-08T01:18:56.452Z caller=node_exporter.go:117 level=info collector=timex

8月 08 09:18:56 bogon node_exporter[8381]: ts=2023-08-08T01:18:56.452Z caller=node_exporter.go:117 level=info collector=udp_queues

8月 08 09:18:56 bogon node_exporter[8381]: ts=2023-08-08T01:18:56.452Z caller=node_exporter.go:117 level=info collector=uname

8月 08 09:18:56 bogon node_exporter[8381]: ts=2023-08-08T01:18:56.452Z caller=node_exporter.go:117 level=info collector=vmstat

8月 08 09:18:56 bogon node_exporter[8381]: ts=2023-08-08T01:18:56.452Z caller=node_exporter.go:117 level=info collector=xfs

8月 08 09:18:56 bogon node_exporter[8381]: ts=2023-08-08T01:18:56.452Z caller=node_exporter.go:117 level=info collector=zfs

8月 08 09:18:56 bogon node_exporter[8381]: ts=2023-08-08T01:18:56.452Z caller=tls_config.go:274 level=info msg="Listening on" address=[::]:9100

8月 08 09:18:56 bogon node_exporter[8381]: ts=2023-08-08T01:18:56.452Z caller=tls_config.go:277 level=info msg="TLS is disabled." http2=false address=[::]:9100

Prometheus + Grafana 实现服务器的可视化,Prometheus,prometheus,grafana,服务器

wget https://github.com/prometheus/node_exporter/releases/download/v1.0.1/node_exporter-1.0.1.linux-amd64.tar.gz

tar -xzf node_exporter-1.0.1.linux-amd64.tar.gz


cd node_exporter-1.0.1.linux-amd64/

./node_exporter

上述命令将安装节点 exporter 并在端口 9100 上运行,并且可以从 /metrics 扩展中抓取指标。
我创建了 3 个虚拟机并在所有虚拟机中安装了节点 exporter,以提供更好的可视化效果。所以在安装之后,我们必须告诉 Prometheus 从哪里抓取指标,这可以通过编辑 prometheus.yml 文件来完成。我们只需要在 scrape_configs 中添加一个新作业,指定目标中的 IP 地址和端口。在 prometheus.yml 文件中添加目标并重新启动 Prometheus 服务器后,我们可以在仪表板以及 /targets 路径中看到新目标及其状态。
 

Prometheus + Grafana 实现服务器的可视化,Prometheus,prometheus,grafana,服务器


 

Prometheus + Grafana 实现服务器的可视化,Prometheus,prometheus,grafana,服务器


确保所有目标都已启动,如果没有,请检查是否为该 VM 实例开放了 9100 端口。你还可以查看 Prometheus 从每个 exporter 抓取的时间以及上次抓取的时间。

Grafana 安装

Prometheus + Grafana 实现服务器的可视化,Prometheus,prometheus,grafana,服务器

Download Grafana | Grafana Labs  #可以选择Grafana的版本进行下载

wget -c https://dl.grafana.com/enterprise/release/grafana-enterprise-10.0.3.linux-amd64.tar.gz  #下载grafana-enterprise-10.0.3.linux-amd64.tar.gz 安装包

tar -zxvf grafana-enterprise-10.0.3.linux-amd64.tar.gz  #解压出来

wget https://dl.grafana.com/oss/release/grafana-7.1.5.linux-amd64.tar.gz

tar -xzf grafana-7.1.5.linux-amd64.tar.gz


cd grafana-7.1.5.linux-amd64/

./bin/grafana-server

通过运行上述命令即可完成安装,Grafana 运行在端口 3000。默认的用户名和密码均为“admin”。
当我们进入仪表板,我们需要添加一个数据源,在我们的例子中是 Prometheus。我们只需要提供 Prometheus URL 并点击保存和测试按钮。如果我们看到一个成功的提示框,说数据源正在工作,那么我们就可以开始了。
 

Prometheus + Grafana 实现服务器的可视化,Prometheus,prometheus,grafana,服务器


我们可以使用自定义的查询语句创建自己的仪表板和面板,但这是一项乏味的工作。因此,为了简化我们的工作,其他用户已经创建了一些仪表板,我们可以使用相同的仪表板并根据我们的需要调整表达式。我使用的是 1860 和 405,这些是我们导入仪表板的唯一ID。
 

Prometheus + Grafana 实现服务器的可视化,Prometheus,prometheus,grafana,服务器


 

Prometheus + Grafana 实现服务器的可视化,Prometheus,prometheus,grafana,服务器


导入完成后,我们会看到基于其表达式和时间范围的图表。你可以通过将时间范围减少到 5 分钟来深入了解。
 

Prometheus + Grafana 实现服务器的可视化,Prometheus,prometheus,grafana,服务器


 

Prometheus + Grafana 实现服务器的可视化,Prometheus,prometheus,grafana,服务器


 

Prometheus + Grafana 实现服务器的可视化,Prometheus,prometheus,grafana,服务器


Grafana 还允许我们查看合并多个 exporter的表单,以便更好地进行比较。
 

Prometheus + Grafana 实现服务器的可视化,Prometheus,prometheus,grafana,服务器


 

Prometheus + Grafana 实现服务器的可视化,Prometheus,prometheus,grafana,服务器


所以在上面的图片中,我们可以看到所有三个节点 exporter 的数据都被可视化了。

以上总结了 Prometheus 和 Grafana 的基本设置,用来可视化节点指标数据。文章来源地址https://www.toymoban.com/news/detail-802103.html

到了这里,关于Prometheus + Grafana 实现服务器的可视化的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • prometheus + grafana进行服务器资源监控

    在性能测试中,服务器资源是值得关注一项内容,目前,市面上已经有很多的服务器资 源监控方法和各种不同的监控工具,方便在各个项目中使用。 但是,在性能测试中,究竟哪些指标值得被关注呢? 监控有着的分级体系,下面引用:   在以前的工作中,想要实现服务器资

    2024年02月11日
    浏览(39)
  • 实战:Prometheus+Grafana监控Linux服务器及Springboot项目

    相信大家都知道一个项目交付生产并不意味着结束,更多的是对线上服务的运维监控。运维监控主要涉及到部署服务器的资源情况,各个子服务的资源情况以及垃圾收集和吞吐量等等,还有故障告警等等功能。当然,作为一个搬砖人也是需要了解全链路的运维监控组件Promet

    2024年02月14日
    浏览(48)
  • 【Prometheus】 Grafana数据与可视化

    “You can’t fix what you can’t see”。可视化是监控的核心目标之一,在本章中我们将介绍Prometheus下的可视化技术。例如,Prometheus自身提供的Console Template能力以及Grafana这一可视化工具实现监控数据可视化。Prometheus UI提供了基本的数据可视化能力,可以帮助用户直接使用PromQL查

    2023年04月27日
    浏览(33)
  • 关于如何实现autodl服务器的可视化桌面

    目录 目录 目录 安装VNC 在AutoDL主机中安装桌面 参考连接VNC远程桌面配置教程 https://blog.csdn.net/AngelFK1990/article/details/130649525?spm=1001.2101.3001.6650.2utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EYuanLiJiHua%7EPosition-2-130649525-blog-78090079.235%5Ev38%5Epc_relevant_sort_base3depth_1-utm_source=distribu

    2024年01月15日
    浏览(43)
  • Prometheus+Grafana可视化监控【ElasticSearch状态】

    注意:我这里使用之前写好脚本进行安装Docker,如果已经有Docker请省略此步骤,安装Docker是为了方便部署ElasticSearch服务,如果已经有数据库前两步骤都可以省略。 点击获取Docker离线安装脚本 查看Docker状态如下图表示没问题: 1、前提准备: 2、创建配置文件 3、运行容器:

    2024年02月07日
    浏览(51)
  • 免费开源服务器资源监控系统grafana+prometheus+node_exporter

    有项目做测试的时候需要查询服务器资源利用情况,自己又没写相应的模块,此时就需要一套好用的资源监控系统,,咨询了运维人员给推荐了一套,装完后真的很好用。 就是grafana+prometheus+ node_exporter(linux)或者windows_exporter(wins) 具体介绍不多说: 1、grafana是对数据做展

    2024年02月12日
    浏览(50)
  • Prometheus服务器、Prometheus被监控端、Grafana、监控MySQL数据库、自动发现概述、配置自动发现、Alertmanager

    目录 Prometheus概述 部署Prometheus服务器 环境说明: 配置时间 安装Prometheus服务器 添加被监控端 部署通用的监控exporter Grafana 概述 部署Grafana 展示node1的监控信息 监控MySQL数据库 配置MySQL 配置mysql exporter 配置mysql exporter 配置prometheus监控mysql 自动发现机制 概述 基于文件自动发现

    2024年02月21日
    浏览(55)
  • grafana+prometheus+pushgateway+flink可视化实时监控

    采集层 flink APP和linux system两部分,是我们要收集指标数据的组件 传输层 Pushgateway:是一个推送收集和推送数据的组件 Node_exporter:数据导出组件 存储计算层 Prometheus:系统监控和预警框架 应用层 Grafana:可视化展示平台 浏览器打开: http://ip服务器:9090 修改配置文件 promethe

    2024年02月13日
    浏览(35)
  • 基于k8s容器化部署Prometheus和Grafana可视化监控数据

    提示:需要提前部署k8s集群(master、node01、node02 .. ) 目录 1.部署kube-state-metrics 2.部署node-export 3.部署nfs-pv 4.部署alertmanager  4.1 vim alertmanager-configmap.yml 4.2 vim alertmanager-deployment.yml   4.3 vim alertmanager-pvc.yml  4.4 vim alertmanager-service.yml 5.部署promethus-server 6.部署grafana 6.1.配置grafa

    2024年04月11日
    浏览(62)
  • 完美的分布式监控系统 Prometheus与优雅的开源可视化平台 Grafana

    prometheus与grafana之间是相辅相成的关系。简而言之Grafana作为可视化的平台,平台的数据从Prometheus中取到来进行仪表盘的展示。而Prometheus这源源不断的给Grafana提供数据的支持。 Prometheus是一个开源的系统监控和报警系统,能够监控和告警各种系统,包括网络、存储、服务器和

    2024年02月07日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包