prometheus+grafana的安装与部署及优点

news2024/11/16 17:37:11

一、Prometheus 的优点

1、非常少的外部依赖,安装使用超简单;

2、已经有非常多的系统集成 例如:docker HAProxy Nginx JMX等等;

3、服务自动化发现;

4、直接集成到代码;

5、设计思想是按照分布式、微服务架构来实现的;

6、多维数据模型:由度量名称和键值对标识的时间序列数据;

7、支持多种exporter采集数据;

8、PromQL:一种灵活的查询语言,可以利用多维数据完成复杂的查询;

9、不依赖分布式存储,单个服务器节点可直接工作(不需要安装数据库,直接使用即可,内置集成了数据库不需要重新的部署);

10、基于HTTP的pull方式采集时间序列数据;

11、推送时间序列数据通过PushGateway组件支持,目标主机上报数据到PushGateway,普罗米修斯从PushGateway拉取数据,这个是可以跨网段的;

12、通过服务发现或静态配置发现目标;

13、多种图形模式及仪表盘支持(grafana);

14、高效的存储,每个采集数据占用3.5bytes左右,300万的时间序列,30s的时间间隔,保留60天,消耗磁盘大约200G;

15、做高可用,对数据进行异地备份。联邦集群,部署多套普罗米修斯,每套普罗米修斯可以在不同的机房,然后将这些普罗米修斯汇总到一个普罗米修斯,那么就可以将各个地方的数据,整体收集上来了。

二、Prometheus 的组件与架构

Prometheus生态系统由多个组件组成,其中许多组件是可选的:

1、主要的Prometheus server,用于存储时间序列数据。

2、用于检测应用程序代码的客户端库。

3、用于支持short-lived工作的推送网关(push gateway)。

4、针对HAProxy,StatsD,Graphite等服务的exporters。

5、一个alertmanager处理警报管理器。

6、各种支持工具。

大多数Prometheus组件都是用Go编写的,因此很容易构建和部署为静态二进制文件。

三、prometheus的组件及其作用

1)Prometheus Server:收集指标和存储时间序列数据,并提供查询接口(采集,存储,查询);

2)ClientLibrary:客户端库;

3)Push Gateway:短期存储指标数据。主要用于临时性的任务,各个目标主机可以上报数据到pushgateway,,然后prometheus server统一从pushgateway拉取数据;

4)Exporters:采集已有的第三方服务监控指标并暴露metrics(类似于zabbix agent,但是exporter有很多种,针对不同的监控指标);

5)Alertmanager:从prometheus server端收到alters之后,会进行去重,分组,并且路由到接收方,发出报警,常见的接收方式有:电子邮件,微信,钉钉;

6) Web UI:简单的Web控制台;

普罗米修斯服务端是内置了TSDB的数据库,是存储在本地的文件系统当中。存储了采集被监控端数据指标。获取指标有两种方式:1)一种直接是从pushgateway这里获取被监控指标,这是一个独立的组件,主要完成短周期任务暴露的指标,比如定时任务。(短周期任务不是每分钟都有的指标,可能在运行任务的时候才会产生指标。所以可以将临时的指标汇总到pushgateway,然后有pushgateway统一的暴露给服务端去采集);

7)另外一种就是主要使用持久性的应用,比如nginx,mysql还要微服务jar包,这些都属于持久性运行任务的;

使用这种任务的监控就是采用exporter方式了。会配置exporter这样一个组件,主要是用来采集指标暴露给服务端。

Prometheus 根据配置的作业,直接从数据源pull拉取或者通过中间推送网关(push gateway),获取度量值Metrics。它在本地存储所有获取的样本,并在此数据上运行规则,以从现有数据聚合和记录新的时间序列,或者生成警报。Grafana或其他API使用者可用于可视化收集的数据。

服务端采集好之后就会存储在tsdb数据库当中,可以通过其ui去查看,因为其通过了http服务就可以访问其ui了。在ui上可以通过promql完成数据的查询。(export--->prometheus(TSDB)---->promsql);

告警是由altermanager提供的,在普罗米修斯这里定义告警规则,普罗米修斯这里会周期的评估当前采集的指标是否触发了告警规则,如果触发了会将事件推送给altermanger。altermanger会根据自己相关的逻辑处理后发给接收人,提供email

普罗米修斯实现了服务的发现,也就是可以自动的找到被监控端,这个需要在普罗米修斯的配置文件里面去配置。有了服务发现就不要一个一个的去配置了,让被监控端自动纳入监控。

普罗米修斯从目标主机拉取数据的时候有两种方式,一种是静态的,也就是我们部署exporter,静态的采集指标,也可以配置服务发现,自动的发现指标数据。通过服务发现和exporter采集到的数据的方式都是采用了默认的pull方式拉取指标的,也可以使用pushgateway上报到prometheus当中。

四、监控指标数据模型

数据模型:

1)Prometheus将所有数据存储为时间序列(存储的时候都会记录时间,并且存储到时序的数据库里面,也就是内置的TSDB);

2)具有相同度量名称以及标签属于同一个指标(指标名称是一样,但是标签是不一样的);

3)每个时间序列都由度量标准名称和一组键值对(称为标签)唯一标识;

通过标签查询指定指标。

指标格式 :指标名称加上多个标签

<metric name>{<label name>=<label value>,...}

在配置被监控端这里,要配置监控谁,在配置被监控端,必须要暴露指标出来,这种指标以https的方式给暴露出来,暴露出来之后在配置文件当中配置被监控端,最后就会被普罗米修斯给采集到,如果以上正确配置,在普罗米修斯的图形界面targets可以看到被监控端,也可以通过指标名称查看采集的数据了。这个就相当于数据库,可以提供promql来查询数据,并且通过图表绘制出来;

五、实验

1、Prometheus监控安装部署1、环境及软件工具准备

1)基础环境准备,两台主机,规划信息如下:

2)关闭selinux;

vi编辑 /etc/selinux/config 文件,修改SELINUX的值为disabled

#注意修改完毕之后需要重启linux服务

SELINUX=disabled

3)关闭防火墙。
# 1 关闭firewalld服务
systemctl stop firewalld
systemctl disable firewalld
# 2 关闭iptables服务
systemctl stop iptables
systemctl disable iptables
4)prometheus官网下载:
通过以下链接下载最新版本:
https://github.com/prometheus/prometheus/releases/download/v2.45.0/prometheus-2.45.0.linux-amd64.tar.gz
5)node_exporter下载地址:


可以从prometheus官网下载
通过以下链接下载最新版本:

https://github.com/prometheus/node_exporter/releases/download/v1.6.1/node_exporter-1.6.1.linux-amd64.tar.gz
6)grafana官网下载 :

可以从prometheus官网下载

这里下载最新版本:

 https://dl.grafana.com/enterprise/release/grafana-enterprise-10.0.2-1.x86_64.rpm

2、prometheus安装

1)将下载的prometheus安装包上传到监控及其/opt目录下
[root@master opt]# ls -lh
总用量 87M
-rw-r--r--. 1 root root 87M 7月  19 17:21 prometheus-2.45.0.linux-amd64.tar.gz
[root@master opt]#
2)解压安装prometheus
[root@master opt]# tar -xzvf prometheus-2.45.0.linux-amd64.tar.gz
[root@master opt]# mv prometheus-2.45.0.linux-amd64 prometheus
[root@master opt]# ls -lh
总用量 87M
drwxr-xr-x. 4 1001  123 132 6月  23 23:45 prometheus
-rw-r--r--. 1 root root 87M 7月  19 17:21 prometheus-2.45.0.linux-amd64.tar.gz
[root@master opt]#
3)进入到 /opt/prometheus 目录启动prometheus
复制[root@master opt]# cd prometheus
[root@master prometheus]# ./prometheus
ts=2023-07-19T09:32:03.885Z caller=main.go:534 level=info msg="No time or size retention was set so using the default time retention" duration=15d
ts=2023-07-19T09:32:03.886Z caller=main.go:578 level=info msg="Starting Prometheus Server" mode=server version="(version=2.45.0, branch=HEAD, revision=8ef767e396bf8445f009f945b0162fd71827f445)"
ts=2023-07-19T09:32:03.887Z caller=main.go:583 level=info build_context="(go=go1.20.5, platform=linux/amd64, user=root@920118f645b7, date=20230623-1549, tags=netgo,builtinassets,stringlabels)"
ts=2023-07-19T09:32:03.887Z caller=main.go:584 level=info host_details="(Linux 3.10.0-957.el7.x86_64 #1 SMP Thu Nov 8 2332 UTC 2018 x86_64 master (none))"
ts=2023-07-19T09:32:03.887Z caller=main.go:585 level=info fd_limits="(soft=4096, hard=4096)"
ts=2023-07-19T09:32:03.887Z caller=main.go:586 level=info vm_limits="(soft=unlimited, hard=unlimited)"
ts=2023-07-19T09:32:03.893Z caller=web.go:562 level=info component=web msg="Start listening for connections" address=0.0.0.0:9090
ts=2023-07-19T09:32:03.896Z caller=main.go:1019 level=info msg="Starting TSDB ..."
ts=2023-07-19T09:32:03.901Z caller=tls_config.go:274 level=info component=web msg="Listening on" address=[::]:9090
ts=2023-07-19T09:32:03.901Z caller=tls_config.go:277 level=info component=web msg="TLS is disabled." http2=false address=[::]:9090
ts=2023-07-19T09:32:03.913Z caller=head.go:595 level=info component=tsdb msg="Replaying on-disk memory mappable chunks if any"
ts=2023-07-19T09:32:03.913Z caller=head.go:676 level=info component=tsdb msg="On-disk memory mappable chunks replay completed" duration=15.4µs
ts=2023-07-19T09:32:03.913Z caller=head.go:684 level=info component=tsdb msg="Replaying WAL, this may take a while"
ts=2023-07-19T09:32:03.914Z caller=head.go:755 level=info component=tsdb msg="WAL segment loaded" segment=0 maxSegment=0
ts=2023-07-19T09:32:03.914Z caller=head.go:792 level=info component=tsdb msg="WAL replay completed" checkpoint_replay_duration=41.9µs wal_replay_duration=1.1234ms wbl_replay_duration=11.2µs total_replay_duration=1.3374ms
ts=2023-07-19T09:32:03.916Z caller=main.go:1040 level=info fs_type=XFS_SUPER_MAGIC
ts=2023-07-19T09:32:03.916Z caller=main.go:1043 level=info msg="TSDB started"
ts=2023-07-19T09:32:03.916Z caller=main.go:1224 level=info msg="Loading configuration file" filename=prometheus.yml
ts=2023-07-19T09:32:03.928Z caller=main.go:1261 level=info msg="Completed loading of configuration file" filename=prometheus.yml totalDuration=11.5929ms db_storage=15.8µs remote_storage=19.2µs web_handler=10.7µs query_engine=14µs scrape=1.0045ms scrape_sd=52.4µs notify=42.7µs notify_sd=29.6µs rules=11.8µs tracing=32.6µs
ts=2023-07-19T09:32:03.928Z caller=main.go:1004 level=info msg="Server is ready to receive web requests."
ts=2023-07-19T09:32:03.928Z caller=manager.go:995 level=info component="rule manager" msg="Starting rule manager..."
4)待启动完成后,用以下地址直接无密码登录
http://192.168.20.231:9090/

如下图所示:

5)为prometheus服务创建service并设置开机自动启动
vim /usr/lib/systemd/system/prometheus.service

编辑如下内容,大家根据自己实际的安装目录进行编辑

[root@master ~]# cat /usr/lib/systemd/system/prometheus.service
[Unit]
Description=prometheus
Documentation=https://prometheus.io/
After=network.target
[Service]
Type=simple
User=root
Group=root
ExecStart=/opt/prometheus/prometheus --config.file=/opt/prometheus/prometheus.yml
Restart=on-failure
[Install]
WantedBy=multi-user.target
[root@master ~]#

使service生效并且设置开机自启动

systemctl daemon-reload
systemctl enable prometheus
6)reboot重启系统,查看服务状态是正常的
[root@master ~]# systemctl status prometheus
● prometheus.service - prometheus
   Loaded: loaded (/usr/lib/systemd/system/prometheus.service; enabled; vendor preset: disabled)
   Active: active (running) since 三 2023-07-19 0933 CST; 43s ago
     Docs: https://prometheus.io/
 Main PID: 5976 (prometheus)
   CGroup: /system.slice/prometheus.service
           └─5976 /opt/prometheus/prometheus --config.file=/opt/prometheus/prometheus.yml


7月 19 0934 master prometheus[5976]: ts=2023-07-19T0134.433Z caller=head.go:676 level=info component=tsdb msg="On-disk memory mappable chunks replay completed" duration=55.101μs
7月 19 0934 master prometheus[5976]: ts=2023-07-19T0134.433Z caller=head.go:684 level=info component=tsdb msg="Replaying WAL, this may take a while"
7月 19 0934 master prometheus[5976]: ts=2023-07-19T0134.437Z caller=head.go:755 level=info component=tsdb msg="WAL segment loaded" segment=0 maxSegment=0
7月 19 0934 master prometheus[5976]: ts=2023-07-19T0134.437Z caller=head.go:792 level=info component=tsdb msg="WAL replay completed" checkpoint_replay_duration=1.016…ion=3.831257ms
7月 19 0934 master prometheus[5976]: ts=2023-07-19T0134.439Z caller=main.go:1040 level=info fs_type=XFS_SUPER_MAGIC
7月 19 0934 master prometheus[5976]: ts=2023-07-19T0134.439Z caller=main.go:1043 level=info msg="TSDB started"
7月 19 0934 master prometheus[5976]: ts=2023-07-19T0134.439Z caller=main.go:1224 level=info msg="Loading configuration file" filename=/opt/prometheus/prometheus.yml
7月 19 0934 master prometheus[5976]: ts=2023-07-19T0134.444Z caller=main.go:1261 level=info msg="Completed loading of configuration file" filename=/opt/prometheus/prometheus.yml…μs
7月 19 0934 master prometheus[5976]: ts=2023-07-19T0134.444Z caller=main.go:1004 level=info msg="Server is ready to receive web requests."
7月 19 0934 master prometheus[5976]: ts=2023-07-19T0134.444Z caller=manager.go:995 level=info component="rule manager" msg="Starting rule manager..."
Hint: Some lines were ellipsized, use -l to show in full.
[root@master ~]#

3、grafana安装

1)将下载的granfa安装包上传的监控机器/opt目录下,并对其解压安装
[root@master opt]# ll
总用量 174664
-rw-r--r--. 1 root root 87661825 7月  19 10:03 grafana-enterprise-10.0.2-1.x86_64.rpm
drwxr-xr-x. 5 1001  123      144 7月  19 2023 prometheus
-rw-r--r--. 1 root root 91189594 7月  19 2023 prometheus-2.45.0.linux-amd64.tar.gz
[root@master opt]# yum install grafana-enterprise-10.0.2-1.x86_64.rpm
2)待安装完毕后,启动grafana服务,查看到服务状态如下正常。
[root@master ~]#  systemctl daemon-reload
[root@master ~]# systemctl start grafana-server
[root@master ~]# systemctl status grafana-server
● grafana-server.service - Grafana instance
   Loaded: loaded (/usr/lib/systemd/system/grafana-server.service; disabled; vendor preset: disabled)
   Active: active (running) since 三 2023-07-19 1015 CST; 25s ago
     Docs: http://docs.grafana.org
 Main PID: 6945 (grafana)
   CGroup: /system.slice/grafana-server.service
           └─6945 /usr/share/grafana/bin/grafana server --config=/etc/grafana/grafana.ini --pidfile=/var/run/grafana/grafana-server.pid --packaging=rpm cfg:default.paths.logs=/var/log/gr...


7月 19 1015 master grafana[6945]: logger=ngalert.state.manager t=2023-07-19T1015.24341291+08:00 level=info msg="Warming state cache for startup"
7月 19 1015 master grafana[6945]: logger=caching.service t=2023-07-19T1015.24445863+08:00 level=warn msg="Caching service is disabled"
7月 19 1015 master grafana[6945]: logger=report t=2023-07-19T1015.244980141+08:00 level=warn msg="Scheduling and sending of reports disabled, SMTP is not configured ... to enable."
7月 19 1015 master grafana[6945]: logger=http.server t=2023-07-19T1015.250259745+08:00 level=info msg="HTTP Server Listen" address=[::]:3000 protocol=http subUrl= socket=
7月 19 1015 master grafana[6945]: logger=sqlstore.transactions t=2023-07-19T1015.267350682+08:00 level=info msg="Database locked, sleeping then retrying" error="data...e is locked"
7月 19 1015 master grafana[6945]: logger=ngalert.state.manager t=2023-07-19T1015.268604707+08:00 level=info msg="State cache has been initialized" states=0 duration=25.191797ms
7月 19 1015 master grafana[6945]: logger=ticker t=2023-07-19T1015.268828111+08:00 level=info msg=starting first_tick=2023-07-19T1020+08:00
7月 19 1015 master grafana[6945]: logger=ngalert.multiorg.alertmanager t=2023-07-19T1015.268860012+08:00 level=info msg="starting MultiOrg Alertmanager"
7月 19 1016 master grafana[6945]: logger=grafana.update.checker t=2023-07-19T1016.035234839+08:00 level=info msg="Update check succeeded" duration=795.319198ms
7月 19 1016 master grafana[6945]: logger=plugins.update.checker t=2023-07-19T1016.117663666+08:00 level=info msg="Update check succeeded" duration=874.346258ms
Hint: Some lines were ellipsized, use -l to show in full.
[root@master ~]#
3)将grafana-server服务设置为开机自启动
systemctl enable grafana-server
4)通过以下地址访问garfana,并且配置相应的数据源
http://192.168.20.231:3000/login

登录界面如下所示,默认用户名及密码分别是admin,admin

5)登录进入grafana系统后,对数据源进行配置,点击,add your first data source,进入添加数据源页面:

6)进入后,点击Prometheus,进入配置页面;

7)编辑HTTP下的URL,这里是主机IP是192.168.20.231,所以填:http://192.68.20.231:9090

8)拉到最底部进行保存,如下所示即为保存成功。

4、监控主机中安装node_exporter

1)在监控主机上安装最新的node_exporter版本

首先在监控主机192.168.20.231上进行安装该组件。

下载最新的node_exporter版本

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

下载完成后如下图所示:

2)对软件压缩包进行解压,并且将安装包放到自己系统安装目录下,我自己放在/usr/local/目录中

[root@master ruanjianfile]# tar -xzf node_exporter-1.6.1.linux-amd64.tar.gz [root@master ruanjianfile]# mv node_exporter-1.6.1.linux-amd64 /usr/local/

3)将安装包中的可执行文件node_exporter拷贝到/usr/local/bin目录中

mv /usr/local/node_exporter-1.6.1.linux-amd64/node_exporter /usr/local/bin/

4)为node_exporter服务创建service服务

vim /usr/lib/systemd/system/node_exporter.service

大家根据自己实际安装目录,写入cat命令相关内容到上述文件中。

[root@master ruanjianfile]# cat /usr/lib/systemd/system/node_exporter.service [Unit] Description=node_exporter Documentation=https://prometheus.io/ After=network.target [Service] Type=simple User=root Group=root ExecStart=/usr/local/bin/node_exporter Restart=on-failure [Install] WantedBy=multi-user.target

5)为node_exporter设置自动启动并启动服务
systemctl daemon-reload
systemctl enable node_exporter
systemctl start node_exporter
6)查看node_exporter服务状态,如下服务状态为正常状态
[root@master ~]# systemctl status node_exporter
● node_exporter.service - node_exporter
   Loaded: loaded (/usr/lib/systemd/system/node_exporter.service; enabled; vendor preset: disabled)
   Active: active (running) since 三 2023-07-19 1407 CST; 3min 0s ago
     Docs: https://prometheus.io/
 Main PID: 7146 (node_exporter)
   CGroup: /system.slice/node_exporter.service
           └─7146 /usr/local/bin/node_exporter


7月 19 14:25:07 master node_exporter[7146]: ts=2023-07-19T06:25:07.181Z caller=node_exporter.go:117 level=info collector=thermal_zone
7月 19 14:25:07 master node_exporter[7146]: ts=2023-07-19T06:25:07.181Z caller=node_exporter.go:117 level=info collector=time
7月 19 14:25:07 master node_exporter[7146]: ts=2023-07-19T06:25:07.181Z caller=node_exporter.go:117 level=info collector=timex
7月 19 14:25:07 master node_exporter[7146]: ts=2023-07-19T06:25:07.181Z caller=node_exporter.go:117 level=info collector=udp_queues
7月 19 14:25:07 master node_exporter[7146]: ts=2023-07-19T06:25:07.181Z caller=node_exporter.go:117 level=info collector=uname
7月 19 14:25:07 master node_exporter[7146]: ts=2023-07-19T06:25:07.181Z caller=node_exporter.go:117 level=info collector=vmstat
7月 19 14:25:07 master node_exporter[7146]: ts=2023-07-19T06:25:07.181Z caller=node_exporter.go:117 level=info collector=xfs
7月 19 14:25:07 master node_exporter[7146]: ts=2023-07-19T06:25:07.181Z caller=node_exporter.go:117 level=info collector=zfs
7月 19 14:25:07 master node_exporter[7146]: ts=2023-07-19T06:25:07.182Z caller=tls_config.go:274 level=info msg="Listening on" address=[::]:9100
7月 19 14:25:07 master node_exporter[7146]: ts=2023-07-19T06:25:07.182Z caller=tls_config.go:277 level=info msg="TLS is disabled." http2=f...::]:9100
Hint: Some lines were ellipsized, use -l to show in full.
[root@master ~]#

5、监控主机中进行监控相关参数配置

1)vi编辑修改prometheus中相关配置文件;

主要在对应该控件软件安装目录下/opt/prometheus/prometheus.yml这个文件中;

在原文件的scrape_configs模块下增加如下配置内容:

  - job_name: 'master_prometheus'
    static_configs:
        - targets: ['192.168.20.231:9100']

修改后/opt/prometheus/prometheus.yml如下所示:

复制[root@master prometheus]# cat prometheus.yml
# my global config
global:
  scrape_interval: 15s # Set the scrape interval to every 15 seconds. Default is every 1 minute.
  evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute.
  # scrape_timeout is set to the global default (10s).


# Alertmanager configuration
alerting:
  alertmanagers:
    - static_configs:
        - targets:
          # - alertmanager:9093


# Load rules once and periodically evaluate them according to the global 'evaluation_interval'.
rule_files:
  # - "first_rules.yml"
  # - "second_rules.yml"


# A scrape configuration containing exactly one endpoint to scrape:
# Here it's Prometheus itself.
scrape_configs:
  # The job name is added as a label `job=` to any timeseries scraped from this config.
  - job_name: "prometheus"


    # metrics_path defaults to '/metrics'
    # scheme defaults to 'http'.


    static_configs:
      - targets: ["localhost:9090"]


  - job_name: 'master_prometheus'
    static_configs:
        - targets: ['192.168.20.231:9100']

2)检查配置是否正确:

养成好习惯,每次修改配置文件完成,用promtool检测配置文件是否正确。如下检查配置文件正确方可执行下一步。

[root@master prometheus]# /opt/prometheus/promtool check config /opt/prometheus/prometheus.yml
Checking /opt/prometheus/prometheus.yml
 SUCCESS: /opt/prometheus/prometheus.yml is valid prometheus config file syntax


[root@master prometheus]#

3)重启prometheus服务进行相关测试
systemctl restart prometheus

打开如下测试地址

http://192.168.20.231:9090/targets

如下图所示,可以看到targets已经增加了对监控主机master_prometheus的监控。

6、被监控主机中安装node_exporter及进行参数配置

首先在被监控主机192.168.20.232上进行安装该组件。

1)安装步骤参考监控主机中node_exporter安装这个章节,安装方法步骤一样。
2)在监控主机192.168.20.231上修改对应配置文件,

修改/opt/prometheus/prometheus.yml这个文件后面,添加如下内容:

  - job_name: "node1-prometheus"
    static_configs:
        - targets: ['192.168.20.232:9100']

3)检测配置文件正常后,重启服务
[root@master prometheus]# /opt/prometheus/promtool check config /opt/prometheus/prometheus.yml
Checking /opt/prometheus/prometheus.yml
 SUCCESS: /opt/prometheus/prometheus.yml is valid prometheus config file syntax


[root@master prometheus]# systemctl restart prometheus
4)待服务起来后,打开下面地址进行测试
http://192.168.20.231:9090/targets

正常如下图所示,targets已经增加了对被监控主机node1的监控。

7、grafana中添加配置监控模板

1)如图点击“+”号后,选择import dashboard

2)如下图,搜索系统默认模板8919,然后点击Load

3)点Load后,稍等会,grafana会直接从官方网站导入编号为8919的面板如下图所示:

4)选择数据源Prometheus-1,点击“Import”,显示master和node1监控界面显示如下图所示:

六、总结

至此、整套Prometheus监控系统已经部署完毕,并且已经可以正常监控。但是其展示的只是它本身最基本的功能,其它组件及模块相关的功能配置,要靠大家自行去研究学习,那样方可发挥出它强大的监控系统功能。

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

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

相关文章

QT Windows 实现调用Windows API获取ARP 表

简介 使用ping方式获取网络可访问或者存在的设备发现部分会无法ping通但实际网络上存在此设备&#xff0c; 但使用arp -a却可以显示出来&#xff0c; 所以现在使用windows API的方式获取arp 表。 实现 参考Windows提供的示例转化成Qt Qt .pro LIBS -liphlpapiLIBS -lws2_32…

分割链表

/*** Definition for singly-linked list.* struct ListNode {* int val;* struct ListNode *next;* };*/typedef struct ListNode ListNode; struct ListNode* partition(struct ListNode* head, int x){if(head NULL){return head;}//创建新链表ListNode* lessHead,*…

UE5(射线检测)学习笔记

这一篇会讲解射线检测点击事件、离开悬停、进入悬停事件的检测&#xff0c;以及关闭射线检测的事件&#xff0c;和射线检测蓝图的基础讲解。 创建一个简单的第三人称模板 创建一个射线检测的文件夹RadiationInspection&#xff0c;并且右键蓝图-场景组件-命名为BPC_Radiation…

用于密集预测任务的通道知识蒸馏——关键字:蒸馏

摘要 https://arxiv.org/pdf/2011.13256 知识蒸馏(KD)已被证明是训练紧凑密集预测模型的简单有效工具。通过从大型教师网络转移而来的额外监督来训练轻量级学生网络。大多数先前的针对密集预测任务的KD变体都在空间域中对学生网络和教师网络的激活图进行对齐,通常是通过在每…

pandas读取文件导致jupyter内核崩溃如何解决

读取execl文件出现以下问题: str_name "D:\\cao_use\\2017_2021(new).xlsx" train_df pd.read_excel(str_name, usecols[0])崩溃的指示图如下所示: bug原因:读入的文件太大&#xff0c;所需时间过长&#xff0c;在读取的过程中&#xff0c;使用中断按钮暂停会直…

C语言实战项目--贪吃蛇

贪吃蛇是久负盛名的游戏之一&#xff0c;它也和俄罗斯⽅块&#xff0c;扫雷等游戏位列经典游戏的行列。在编程语言的教学中&#xff0c;我们以贪吃蛇为例&#xff0c;从设计到代码实现来提升大家的编程能⼒和逻辑能⼒。 在本篇讲解中&#xff0c;我们会看到很多陌生的知识&…

13_Scala面向对象编程_伴生对象

文章目录 1.伴生对象1.1 scala的一个性质&#xff0c;scala文件中的类都是公共的&#xff1b;1.2 scala使用object关键字也可以声明对象&#xff1b; 3.关于伴生对象和类4.权限修饰符&#xff0c;scala仅有private;5.伴生对象可以访问伴生类中的私有属性&#xff1b;6.案例7.伴…

AI预测福彩3D第10套算法实战化赚米验证第1弹2024年5月5日第1次测试

从今天开始&#xff0c;准备启用第10套算法&#xff0c;来验证下本算法的可行性。因为本算法通过近三十期的内测&#xff08;内测版没有公开预测结果&#xff09;&#xff0c;发现本算法的预测结果优于其他所有算法的效果。彩票预测只有实战才能检验是否有效&#xff0c;只有真…

【论文阅读】Sparse is Enough in Scaling Transformers

Sparse is Enough in Scaling Transformers 论文地址摘要1 介绍2 相关工作模型压缩。模型修剪模型蒸馏。稀疏注意力。张量分解。稀疏前馈。 3 Sparse is Enough3.1 稀疏前馈层3.2 稀疏 QKV 层3.3 稀疏损失层。 4 长序列的稀疏性4.1 长序列架构4.2 内存效率的可逆性4.3 泛化的循…

AI工具大揭秘:如何改变我们的工作和生活

文章目录 &#x1f4d1;前言一、常用AI工具&#xff1a;便利与高效的结合1.1 语音助手1.2 智能推荐系统1.3 自然语言处理工具 二、创新AI应用&#xff1a;不断突破与发展2.1 医疗诊断AI2.2 智能家居2.3 无人驾驶技术 三、AI工具在人们生活中的应用和影响3.1 生活方式的变化3.2 …

Webshell绕过技巧分析之-base64/HEX/Reverse/Html/Inflate/Rot13

在网络安全运营&#xff0c;护网HVV&#xff0c;重保等活动的过程中&#xff0c;webshell是一个无法绕过的话题。通常出现的webshell都不是以明文的形式出现&#xff0c;而是针对webshell关键的内容进行混淆&#xff0c;编码来绕过网络安全产品&#xff08;IDS&#xff0c;WAF&…

【深耕 Python】Quantum Computing 量子计算机(2)绘制电子运动平面波

写在前面 往期量子计算机博客&#xff1a; 【深耕 Python】Quantum Computing 量子计算机&#xff08;1&#xff09;图像绘制基础 一、所需公式 1、自由空间中电子的波函数公式&#xff1a; 2、常量代换&#xff1a; 3、物理常量&#xff1a; 二、Python代码&#xff1a; …

PostgreSQL和openGauss优化器对一个关联查询的SQL优化改写

PostgreSQL和openGauss数据库优化器在merge join关联查询的SQL优化改写 PostgreSQL 查询计划openGauss 查询计划拓展对比 看腻了文章就来听听视频讲解吧&#xff1a;https://www.bilibili.com/video/BV1oH4y137P7/ 数据库类型数据库版本PostgreSQL16.2openGauss6.0 创建测试表…

【Java基础】成员变量和局部变量的区别

成员变量vs局部变量 局部变量没有默认值 成员变量有默认值局部变量在栈中开辟内存 成员变量在堆中开辟内存局部变量是当其所在的函数被调用时开辟内存 成员变量是创建对象时开辟内存局部变量是当其作用域结束时立刻释放内存 成员变量是当其所属的对象成为垃圾时等待垃圾回收线…

Rust里的Fn/FnMut/FnOnce和闭包匿名函数关系

闭包&#xff08;英语&#xff1a;Closure&#xff09;&#xff0c;又称词法闭包&#xff08;Lexical Closure&#xff09;或函数闭包&#xff08;function closures&#xff09;&#xff0c;是引用了自由变量的函数。这个被引用的自由变量将和这个函数一同存在&#xff0c;即使…

【设计模式】函数式编程范式工厂模式(Factory Method Pattern)

目录标题 定义函数式接口函数式接口实现类工厂类封装实际应用总结 定义函数式接口 ISellIPad.java /*** 定义一个函数式接口* param <T>*/ FunctionalInterface public interface ISellIPad<T> {T getSellIPadInfo();}函数式接口实现类 HuaWeiSellIPad.java pu…

大气网格化精细化监管监测哪家好?

一、什么是大气网格化精细化监管监测 在当今环境问题日益突出的时代&#xff0c;大气质量监测与监管成为了至关重要的工作。大气网格化精细化监管监测系统的出现&#xff0c;为我们更好地了解和掌握大气环境状况提供了有力手段。然而&#xff0c;面对众多的系统供应商&#xff…

《自动机理论、语言和计算导论》阅读笔记:p352-P401

《自动机理论、语言和计算导论》学习第 12 天&#xff0c;p352-P401总结&#xff0c;总计 50 页。 一、技术总结 1.Turing Machine ™ 2.undecidability ​ a.Ld(the diagonalization language) 3.reduction p392, In general, if we have an algorithm to convert insta…

C#-快速剖析文件和流,并使用(持续更新)

目录 一、概述 二、文件系统 1、检查驱动器信息 2、Path 3、文件和文件夹 三、流 1、FileStream 2、StreamWriter与StreamReader 3、BinaryWriter与BinaryReader 一、概述 文件&#xff0c;具有永久存储及特定顺序的字节组成的一个有序、具有名称的集合&#xff1b; …

Docker私有镜像仓库搭建 带图形化界面的

搭建镜像仓库可以基于Docker官方提供的DockerRegistry来实现。 官网地址&#xff1a;https://hub.docker.com/_/registry 先配置私服的信任地址: # 打开要修改的文件 vi /etc/docker/daemon.json # 添加内容&#xff1a; "insecure-registries":["http://192.…