【prometheus+Grafana篇】从零开始:Linux 7.6 上二进制安装 Prometheus、Grafana 和 Node Exporter

news2025/4/24 21:55:23

💫《博主主页》:奈斯DB-CSDN博客

🔥《擅长领域》:擅长阿里云AnalyticDB for MySQL(分布式数据仓库)、Oracle、MySQL、Linux、prometheus监控;并对SQLserver、NoSQL(MongoDB)有了解

💖如果觉得文章对你有所帮助,欢迎点赞收藏加关注💖

    鸽了一周,我带着监控神器杀回来了😎 这一周博主可不是在摸鱼🐟,而是在疯狂折腾 Prometheus + Grafana 的安装部署。

    无论是运维老司机还是刚入门的小伙伴, Prometheus + Grafana 都能让你的服务器、数据库、应用监控变得清晰又高效。接下来,我会手把手教你:
✅ 如何安装和配置 Prometheus(指标采集与存储)
✅ 部署 Grafana(数据可视化大屏)
✅ 监控 Linux 服务

    接下来就带大家从安装到装X,手把手搞出一套监控系统。这篇文章主要还是把 Prometheus+Grafana 监控系统搭建起来,并获取到监控数据;关于如何获取 Alertmanager 告警博主会用一篇独立的文章介绍。

                

prometheus官网:

Prometheus - Monitoring system & time series database

包括了prometheus、alertmanager、mysqld_exporter、node_exporter等安装包的下载

                     

Grafana官网:

Grafana: The open and composable observability platform | Grafana Labs

         

          

prometheus+Grafana全系列文章(实时更新 🔥 ):

【prometheus+Grafana篇】Prometheus与Grafana:深入了解监控架构与数据可视化分析平台-CSDN博客

【prometheus+Grafana篇】从零开始:Linux 7.6 上二进制安装 Prometheus、Grafana 和 Node Exporter-CSDN博客


                           

目录

一、系统层面配置

二、安装prometheus(Prometheus Server:默认端口9090。主要用于抓取数据和存储时序数据,另外还提供査询和Alert Rule配置管理)

1)下载prometheus安装包,选择download

2)选择Operating system(操作系统)为linux;选择Architecture(架构)为all

3)目前prometheus最新版本为2.53.0。对于Arch(Architecture)架构,不同的架构名称代表不同的处理器架构或指令集体系结构,它们用于确定软件或操作系统在哪种硬件架构上运行。

4)解压二进制prometheus包

5)移动并重命名prometheus解压出来的目录

6)创建prometheus用户

7)创建目录并赋权

8)写入linux启动服务项

9)登录prometheus界面管理,默认端口为9090

10)修改prometheus监控的配置文件prometheus.yml

11)自定义规则文件

12)检查配置文件

13)重启prometheus进程或者重新加载配置文件(二选一)

三、安装Grafana(Grafana:默认端口3000。获取prometheus抓取的指标数据,在Grafana上展示)

1)下载grafana安装包,选择download——Self-managed——Grafana(Download)

2)选择软件Version版本;选择安装的操作系统;选择Standalone Linux Binaries(独立Linux二进制文件) 

3)解压二进制Grafana包

4)移动并重命名Grafana解压出来的目录

5)赋权

6)写入linux启动服务项

7)登录Grafana界面管理,默认端口为3000

四、安装node-exporter(node-exporter:默认端口9100。用于收集操作系统和硬件信息的metrics)

1)下载node-exporter安装包,选择download

2)选择Operating system(操作系统)为linux;选择Architecture(架构)为all

3)目前node-exporter最新版本为1.8.2。对于Arch(Architecture)架构,不同的架构名称代表不同的处理器架构或指令集体系结构,它们用于确定软件或操作系统在哪种硬件架构上运行。

4)解压二进制node-exporter包

5)移动并重命名node-exporter解压出来的目录

6)赋权

7)写入linux启动服务项

8)登录node-exporter界面管理,默认端口为9100

五、将当前主机加入到prometheus监控,并通过Grafana展示

1)将node-exporter的信息加入到prometheus监控的配置文件prometheus.yml中

2)prometheus.yml文件添加了信息,所以重启prometheus进程或者重新加载配置文件(二选一)

3)在prometheus查看是否可以看到监控信息

4)登录Grafana界面管理,将当前主机的监控信息做展示

一、添加数据源:Connections—Data sources—选择“prometheus”—Add new data source

二、下载一个仪表盘:Grafana官网“http://www.grafana.com”—Dashboards,然后选择一个下载量高的自己喜欢的node-exporter(主机监控)

三、将仪表盘添加到Grafana上:Dashboards—New—Import—点击“Upload dashboard JSON file”

四、仪表盘展示:Dashboards—查看到已经定义好的仪表盘,并且数据源是prometheus监控,点击进去


                  

上车须知:

主机名

IP地址

配置

系统

描述

prometheus

110.120.100.21

4C 8G

Red Hat Linux 7.6

Prometheus版本:2.45.6

node-exporter版本:1.8.2

Grafana版本:10.4.5

注意:Prometheus、Grafana、node-exporter的软件安装目录、数据存储目录都存储到了/opt/prometheus/目录下,所以生产环境需要按照规划的数据盘进行数据存储,而不是存储到根目录下的/opt

Prometheus Server:默认端口9090。主要用于抓取数据和存储时序数据,另外还提供査询和Alert Rule配置管理。

node-exporter:默认端口9100。用于收集操作系统和硬件信息的metrics。

Grafana:默认端口3000。获取prometheus抓取的指标数据,在Grafana上展示。

                     

开始部署安装!!!Action! 💻

                           

一、系统层面配置

1)配置hosts文件

[root@prometheus ~]# echo "110.120.100.21 prometheus" >> /etc/hosts
[root@prometheus ~]# cat /etc/hosts

      

2)关闭防火墙

[root@prometheus ~]# systemctl stop firewalld.service
[root@prometheus ~]# systemctl disable firewalld.service
[root@prometheus ~]# systemctl status firewalld.service

      

3)禁用SELINUX(SELinux 主要作用就是最大限度地减小系统中服务进程可访问的资源)

[root@prometheus ~]# echo "SELINUX=disabled" > /etc/selinux/config
[root@prometheus ~]# echo "#SELINUXTYPE=targeted " >> /etc/selinux/config
[root@prometheus ~]# setenforce 0
[root@prometheus ~]# more /etc/selinux/config

           

4)配置ntp时间同步服务器

通过定时任务,定时同步ntp服务器上的时间:
[root@prometheus ~]# vi /etc/crontab 

0 0 * * * root /usr/sbin/ntpdate 10.2.1.240;/sbin/hwclock -w         ###编辑自动计划任务,将系统时间同步到指定的NTP 服务器(10.2.1.240),并将同步后的时间写入硬件时钟。

          

二、安装prometheus(Prometheus Server:默认端口9090。主要用于抓取数据和存储时序数据,另外还提供査询和Alert Rule配置管理)

1)下载prometheus安装包,选择download

            

2)选择Operating system(操作系统)为linux;选择Architecture(架构)为all

               

3)目前prometheus最新版本为2.53.0。对于Arch(Architecture)架构,不同的架构名称代表不同的处理器架构或指令集体系结构,它们用于确定软件或操作系统在哪种硬件架构上运行。

386:这是Intel 80386 处理器架构,也被称为 x86。它是早期的32位处理器架构。

amd64:也称为x86-64 或 x64,这是一种64位的处理器架构,由 AMD 公司推出。它是基于 x86 架构的64位扩展,现在广泛用于桌面和服务器系统。

arm64:这是ARMv8-A 的64位处理器架构,主要应用于 ARM 架构的64位处理器,包括用于服务器、移动设备和嵌入式系统的处理器。

armv5 和 armv6:这两者都属于ARM 架构的32位处理器架构,分别对应于较旧的 ARM 处理器。它们通常用于嵌入式系统和一些较老的移动设备。

............

     

4)解压二进制prometheus包

[root@prometheus ~]# tar -zxvf prometheus-2.45.6.linux-amd64.tar.gz

       

5)移动并重命名prometheus解压出来的目录

[root@prometheus ~]# mv prometheus-2.45.6.linux-amd64 /opt/
[root@prometheus ~]# mv /opt/prometheus-2.45.6.linux-amd64 /opt/prometheus

      

6)创建prometheus用户

[root@prometheus ~]# groupadd prometheus
[root@prometheus ~]# useradd -g prometheus -M -s /usr/sbin/nologin prometheus     ---创建一个名为prometheus的系统账号,该账号没有家目录并且不能登录Shell。这种设置适用于需要运行服务或任务而不需要用户交互的情况。
-M:不为用户创建家目录。对于系统服务账号来说,通常不需要家目录,因此使用 -M 可以跳过家目录的创建步骤。
-s /usr/sbin/nologin:指定用户登录时使用的Shell。将用户prometheus的登录Shell设置为/usr/sbin/nologin。nologin Shell的作用是阻止用户登录系统,但允许该用户拥有有效的系统账号。这通常用于服务账号,因为它们不需要交互式Shell访问,仅用于执行特定服务或任务。
 
[root@prometheus ~]# passwd prometheus
  
[root@prometheus ~]# id prometheus

     

7)创建目录并赋权

[root@prometheus ~]# mkdir -p /opt/prometheus/data     ---创建Prometheus存储时序数据的路径为 /opt/prometheus/data。时序数据库(TSDB)用于存储Prometheus收集的时间序列数据。
[root@prometheus ~]# chown -R prometheus:prometheus /opt/prometheus/

8)写入linux启动服务项

[root@prometheus ~]# cd /usr/lib/systemd/system
[root@prometheus ~]# vi prometheus.service
    
[Unit]
Description=prometheus
After=network.target
     
[Service]
Type=simple
User=prometheus
Group=prometheus
Restart=on-failure
ExecStart=/opt/prometheus/prometheus --config.file=/opt/prometheus/prometheus.yml --storage.tsdb.path=/opt/prometheus/data --storage.tsdb.retention=60d --web.enable-lifecycle --log.level=info --web.listen-address=0.0.0.0:9090
     
[Install]
WantedBy=multi-user.target
     
[root@prometheus ~]# systemctl daemon-reload
[root@prometheus ~]# systemctl start prometheus.service
[root@prometheus ~]# systemctl enable prometheus.service
[root@prometheus ~]# systemctl status prometheus.service

###--config.file:指定Prometheus的配置文件路径为 /opt/prometheus/prometheus.yml。这个配置文件包含了Prometheus的各种配置选项,如监控目标、规则等。

###--storage.tsdb.path:设置Prometheus存储时序数据的路径为 /opt/prometheus/data。时序数据库(TSDB)用于存储Prometheus收集的时间序列数据。

###--storage.tsdb.retention.time:指定时序数据库中数据的保留时间为60天。这意味着Prometheus将保留60天内的所有收集数据,超过这个时间的数据将自动过期并删除,默认是15天。Prometheus 会自动删除旧的数据,Prometheus 将数据存储在固定大小的 block 中(通常为2小时数据),这些 block 只有在完全过期时才会被删除。

  • Prometheus 会在后续的压缩周期(默认2小时)中逐步删除过期 block,可能需要等待几个压缩周期才能看到明显的空间释放。
  • 如果将保留天数由180天调整到60天prometheus不会立马删除旧的数据,因为需要等到block完全过期时才会被删除,block过期时需要时间的(默认2小时)。当然可以直接在--storage.tsdb.path参数设置的数据路径下删除监控数据,监控数据都是按照时间生成的文件夹。

###--web.enable-lifecycle:启用Prometheus的生命周期接口,允许通过HTTP请求来动态重新加载配置等操作。这对于在运行时更新配置或执行其他管理操作非常有用,当修改了prometheus的配置后,可以通过curl命令来重新加载配置文件,而不需要重启prometheus。

###--log.level=info :表示设置日志级别为 info。在日志级别中,通常有不同的选项,如 debug、info、warn、error 等,每个级别代表了不同的日志详细程度:

  • debug:最详细的日志级别,通常用于调试目的,记录大量细节。
  • info:提供一般信息,用于记录正常操作时的状态和事件。
  • warn:用于记录警告,表示可能的问题或不寻常的情况,但程序仍然可以继续运行。
  • error:用于记录错误,表示程序遇到了一个无法继续的问题。

###--web.listen-address=<address>:<port>:指定服务端口。默认通过9090端口访问prometheus管理界面,可以修改成其他端口用于访问prometheus管理界面(如果没有修改端口的需求可以不设置这个参数)。此参数只能在prometheus命令启动时指定,不可以在配置文件prometheus.yml中指定。Grafana通过grafana-server启动时并没有指定端口的参数,如果需要修改成其他端口用于访问grafana管理界面,就需要在配置文件/opt/prometheus/grafana/conf/defaults.ini中修改http_port参数

     

9)登录prometheus界面管理,默认端口为9090

http://110.120.100.21:9090

    

10)修改prometheus监控的配置文件prometheus.yml

[root@prometheus ~]# vi /opt/prometheus/prometheus.yml     ### prometheus.yml:这个配置文件包含了Prometheus的各种配置选项,如监控目标、规则等。

# my global config
global:
  scrape_interval: 15s          ###scrape_interval:设置抓取数据的间隔时间为15秒,即每隔15秒抓取一次数据,默认为每1分钟抓取一次。
  evaluation_interval: 15s      ###evaluation_interval:设置规则评估的间隔时间为15秒,即每隔15秒评估一次规则,默认为每1分钟评估一次。
# evaluation_interval: 10s      ###scrape_timeout:抓取数据的超时时间,默认为10秒。

# Alertmanager configuration
alerting:                         ###alerting:告警配置部分,配置如何处理告警信息。
  alertmanagers:                  ###alertmanagers:告警管理器的配置,这里使用静态配置方式配置Alertmanager的目标地址。
    - static_configs:
        - targets:
          - localhost:9093        ###用于告警通知管理的alertmanager和prometheus安装在同一台机器上,所以可以配置成localhost进行访问alertmanager
      
# Load rules once and periodically evaluate them according to the global 'evaluation_interval'.
rule_files:             ###rule_files:规则文件配置部分,用于加载和周期性地评估规则。
  - "rules/*.yml"       ###指定自定义的规则文件

# A scrape configuration containing exactly one endpoint to scrape:
# Here it's Prometheus itself.
scrape_configs:           ###scrape_configs:抓取配置部分
# The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.
# metrics_path defaults to '/metrics'
# scheme defaults to 'http'.
# prometheus配置(配置Prometheus监控自身作为一个抓取目标,也可以不配置,因为也会在prometheus监控机上安装node-exporter,用于收集操作系统和硬件信息的metrics。node-exporter可以收集信息默认端口9100,可能因为是prometheus监控机的原因,9090不仅是prometheus管理界面,居然也可以通过9090/metrics进入到采集信息界面)
  - job_name: "prometheus服务器"        ###job_name 用来唯一标识一个监控任务。在同一个 prometheus.yml 文件中,不同的 scrape_config可以有不同的job_name,以便 Prometheus 能够区分和管理不同的监控目标和配置,用来将不同的监控目标分组。
    scrape_interval: 15s
    static_configs:                     ###允许直接列出要监控的每个目标的地址信息,例如 IP 地址和端口号。这些信息是静态的,不会在 Prometheus 运行时发生变化。
       - targets: ["localhost:9090"]    ###用来指定一个或多个要监控的目标,通常是一个 HTTP 或 HTTPS 端点。每个目标都由一个字符串表示,格式通常是 <hostname>:<port> 或者 <ip_address>:<port>。可以在同一个 job 的 targets 中列出多个目标,每个目标都会独立地被 Prometheus 抓取和处理。
         labels:                        ###为每个监控任务(job)或者每个指标添加额外的元数据信息。这些信息通常包括描述性的名称、环境信息、服务版本等,用来更好地理解和分析指标数据的背景和上下文。
           instance: Prometheus服务器

    

11)自定义规则文件

#创建告警规则文件夹
[root@prometheus ~]# cd /opt/prometheus/
[root@prometheus ~]# mkdir rules
     
#定义scrape(抓取)到指定的目标(targets)的告警规则
[root@prometheus ~]# vi /opt/prometheus/rules/target_alerts.yml
    
groups:
- name: target_alerts
  rules:
  - alert: TargetDown
    expr: up == 0        # up 是一个布尔值指标,表示 Prometheus 是否能够成功地 scrape(抓取)到指定的目标(targets)数据
    for: 5s
    labels:
      severity: critical
    annotations:
      summary: "Targets目标不可达"
      description: "Prometheus 不能正常连接到 targets {{ $labels.instance }},请检查服务状态"
[root@prometheus ~]# chown prometheus:prometheus /opt/prometheus/rules/target_alerts.yml
[root@prometheus ~]# more /opt/prometheus/rules/target_alerts.yml

         

12)检查配置文件

[root@prometheus ~]# cd /opt/prometheus/
[root@prometheus ~]# ./promtool check config prometheus.yml             ###用于检查 Prometheus 配置文件(prometheus.yml)的语法和格式是否正确。

执行这条命令会执行以下操作:

  1. 验证配置文件的语法:检查 prometheus.yml 文件是否符合 Prometheus 配置格式规范。
  2. 检测潜在的错误或警告:如果配置文件中存在拼写错误、格式问题、无效的配置项等问题,它会提供相关的错误信息或警告。比如告警规则写的不对,就会有提示
  3. 输出有用的诊断信息:如果配置文件存在问题,promtool 会输出详细的错误信息。

        

13)重启prometheus进程或者重新加载配置文件(二选一)

#重载:前提是在prometheus.service启动服务项中加了--web.enable-lifecycle参数:--web.enable-lifecycle:###启用Prometheus的生命周期接口,允许通过HTTP请求来动态重新加载配置等操作。这对于在运行时更新配置或执行其他管理操作非常有用,当修改了prometheus的配置后,可以通过curl命令来重新加载配置文件,而不需要重启prometheus(推荐方式)

[root@prometheus ~]# curl -X POST http://localhost:9090/-/reload

                    

#重启

[root@prometheus ~]# systemctl restart prometheus.service

         

三、安装Grafana(Grafana:默认端口3000。获取prometheus抓取的指标数据,在Grafana上展示)

1)下载grafana安装包,选择download——Self-managed——Grafana(Download)

       

2)选择软件Version版本;选择安装的操作系统;选择Standalone Linux Binaries(独立Linux二进制文件) 

注意:如果linux服务器在外网上面,直接在linux上运行wget https://dl.grafana.com/enterprise/release/grafana-enterprise-10.4.5.linux-amd64.tar.gz,即可下载。

      

3)解压二进制Grafana包

[root@prometheus ~]# tar -zxvf grafana-enterprise-10.4.5.linux-amd64.tar.gz

   

4)移动并重命名Grafana解压出来的目录

[root@prometheus ~]# mv grafana-v10.4.5 /opt/prometheus          ###移动到prometheus相关目录下
[root@prometheus ~]# mv /opt/prometheus/grafana-v10.4.5 /opt/prometheus/grafana

5)赋权

[root@prometheus ~]# chown -R prometheus:prometheus /opt/prometheus/grafana

   

6)写入linux启动服务项

[root@prometheus ~]# cd /usr/lib/systemd/system
[root@prometheus ~]# vi grafana-server.service

[Unit]
Description=Grafana server
After=network.target

[Service]
Type=simple
User=prometheus
Group=prometheus
Restart=on-failure
ExecStart=/opt/prometheus/grafana/bin/grafana-server --config=/opt/prometheus/grafana/conf/defaults.ini --homepath=/opt/prometheus/grafana

[Install]
WantedBy=multi-user.target
   
[root@prometheus ~]# systemctl daemon-reload
[root@prometheus ~]# systemctl start grafana-server.service
[root@prometheus ~]# systemctl enable grafana-server.service
[root@prometheus ~]# systemctl status grafana-server.service

###--config:指定配置文件的路径,Grafana 使用配置文件来定义其行为、数据存储位置、数据库连接信息以及其他运行时设置。

###--homepath:指定 Grafana 的主目录路径,Grafana 在运行时需要访问其主目录,以查找插件、日志文件、静态资源等。

###和prometheus不同,grafana-server启动时并没有指定端口的参数,如果需要修改成其他端口用于访问grafana管理界面,就需要在配置文件/opt/prometheus/grafana/conf/defaults.ini中修改http_port参数

    

7)登录Grafana界面管理,默认端口为3000

地址:http://110.120.100.21:3000

默认用户:admin

默认密码:admin

四、安装node-exporter(node-exporter:默认端口9100。用于收集操作系统和硬件信息的metrics)

1)下载node-exporter安装包,选择download

2)选择Operating system(操作系统)为linux;选择Architecture(架构)为all

     

3)目前node-exporter最新版本为1.8.2。对于Arch(Architecture)架构,不同的架构名称代表不同的处理器架构或指令集体系结构,它们用于确定软件或操作系统在哪种硬件架构上运行。

386:这是Intel 80386 处理器架构,也被称为 x86。它是早期的32位处理器架构。

amd64:也称为x86-64 或 x64,这是一种64位的处理器架构,由 AMD 公司推出。它是基于 x86 架构的64位扩展,现在广泛用于桌面和服务器系统。

arm64:这是ARMv8-A 的64位处理器架构,主要应用于 ARM 架构的64位处理器,包括用于服务器、移动设备和嵌入式系统的处理器。

armv5 和 armv6:这两者都属于ARM 架构的32位处理器架构,分别对应于较旧的 ARM 处理器。它们通常用于嵌入式系统和一些较老的移动设备。

............

       

4)解压二进制node-exporter包

[root@prometheus ~]# tar -zxvf node_exporter-1.8.2.linux-amd64.tar.gz

    

5)移动并重命名node-exporter解压出来的目录

[root@prometheus ~]# mv node_exporter-1.8.2.linux-amd64 /opt/prometheus          ###移动到prometheus相关目录下
[root@prometheus ~]# mv /opt/prometheus/node_exporter-1.8.2.linux-amd64 /opt/prometheus/node_exporter

 

6)赋权

[root@prometheus ~]# chown -R prometheus:prometheus /opt/prometheus/node_exporter

    

7)写入linux启动服务项

[root@prometheus ~]# cd /usr/lib/systemd/system
[root@prometheus ~]# vi node_exporter.service

[Unit]
Description=node_exporter
After=network.target

[Service]
Type=simple
User=prometheus
Group=prometheus
Restart=on-failure
ExecStart=/opt/prometheus/node_exporter/node_exporter --web.listen-address=0.0.0.0:9100

[Install]
WantedBy=multi-user.target

[root@prometheus ~]# systemctl daemon-reload
[root@prometheus ~]# systemctl start node_exporter.service
[root@prometheus ~]# systemctl enable node_exporter.service
[root@prometheus ~]# systemctl status node_exporter.service

###--web.listen-address=<address>:<port>:指定服务端口。默认通过9100端口访问node_exporter管理界面,可以修改成其他端口用于访问node_exporter管理界面(如果没有修改端口的需求可以不设置这个参数)。此参数只能在node_exporter命令启动时指定,不可以在配置文件prometheus.yml中指定。

   

8)登录node-exporter界面管理,默认端口为9100

http://110.120.100.21:9100/metrics

五、将当前主机加入到prometheus监控,并通过Grafana展示

1)将node-exporter的信息加入到prometheus监控的配置文件prometheus.yml中

[root@prometheus ~]# vi /opt/prometheus/prometheus.yml

在scrape_configs下面新增如下内容:

# node-exporter配置
  - job_name: "Prometheus服务器"
    scrape_interval: 15s
    static_configs:
       - targets: ["localhost:9100"]
         labels:
           instance: Prometheus服务器

    

2)prometheus.yml文件添加了信息,所以重启prometheus进程或者重新加载配置文件(二选一)

#重载:前提是在prometheus.service启动服务项中加了--web.enable-lifecycle参数:--web.enable-lifecycle:###启用Prometheus的生命周期接口,允许通过HTTP请求来动态重新加载配置等操作。这对于在运行时更新配置或执行其他管理操作非常有用,当修改了prometheus的配置后,可以通过curl命令来重新加载配置文件,而不需要重启prometheus(推荐方式)

[root@prometheus ~]# curl -X POST http://localhost:9090/-/reload

       

#重启

[root@prometheus ~]# systemctl restart prometheus.service

        

3)在prometheus查看是否可以看到监控信息

网址:http://110.120.100.21:9090

菜单栏:Status—Targets

     

4)登录Grafana界面管理,将当前主机的监控信息做展示

地址:http://110.120.100.21:3000

默认用户:admin

默认密码:admin

     

一、添加数据源:Connections—Data sources—选择“prometheus”—Add new data source

Name:定义名称。Prometheus监控源(ip:110.120.100.21:9090)

Connection:prometheus的地址,这里指的是prometheus监控的地址,而不是node-exporter的地址

....

然后保存

    

二、下载一个仪表盘:Grafana官网“http://www.grafana.com”—Dashboards,然后选择一个下载量高的自己喜欢的node-exporter(主机监控)

以1860为例,新增了多个指标,比较全面

     

三、将仪表盘添加到Grafana上:Dashboards—New—Import—点击“Upload dashboard JSON file”

Name:定义名称,最好定义为主机ip加用途

Prometheus:选择prometheus源,Prometheus监控源(ip:110.120.100.21:9090)

....

然后import

     

四、仪表盘展示:Dashboards—查看到已经定义好的仪表盘,并且数据源是prometheus监控,点击进去

仪表盘Name:prometheus服务器监控

数据源Name:prometheus监控,Prometheus监控源(ip:110.120.100.21:9090)

Datasource:选择在添加数据源时,已经定义好的“prometheus监控”

Job:这里其实就是当时已经在配置prometheus.yml时,定义的job_name,也就是说Grafana会自动识别到

Host:这里其实就是当时已经在配置prometheus.yml时,定义的instance,也就是说Grafana会自动识别到


   呼,完结,撒花。博主觉得关于安装部署已经写的很清楚了,甚至有点“啰嗦”,正式因为有了精益求精的精神才能把每一步安装流程都写的清楚明了,也希望这边文章可以成为各位安装 prometheus+Grafana 监控系统的标准化文章。那么我们下一篇安装和配置 Alertmanager 告警见!!!

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

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

相关文章

STM32(M4)入门:GPIO与位带操作(价值 3w + 的嵌入式开发指南)

一&#xff1a;GPIO 1.1 了解时钟树&#xff08;必懂的硬件基础&#xff09; 在 STM32 开发中&#xff0c;时钟系统是一切外设工作的 “心脏”。理解时钟树的工作原理&#xff0c;是正确配置 GPIO、UART 等外设的核心前提。 1.1.1 为什么必须开启外设时钟&#xff1f; 1. 计…

Linux419 三次握手四次挥手抓包 wireshark

还是Notfound 没连接 可能我在/home 准备配置静态IP vim ctrlr 撤销 u撤销 配置成功 准备关闭防火墙 准备配置 YUM源 df -h 未看到sr0文件 准备排查 准备挂载 还是没连接 计划重启 有了 不重启了 挂载准备 修改配置文件准备 准备清理缓存 ok 重新修改配…

CSS-跟随图片变化的背景色

CSS-跟随图片变化的背景色 获取图片的主要颜色并用于背景渐变需要安装依赖 colorthief获取图片的主要颜色. 并丢给背景注意 getPalette并不是个异步方法 import styles from ./styles.less; import React, { useState } from react; import Colortheif from colorthief;cons…

解决Docker 配置 daemon.json文件后无法生效

vim /etc/docker/daemon.json 在daemon中配置一下dns {"registry-mirrors": ["https://docker.m.daocloud.io","https://hub-mirror.c.163.com","https://dockerproxy.com","https://docker.mirrors.ustc.edu.cn","ht…

虚幻基础:ue碰撞

文章目录 碰撞&#xff1a;碰撞体 运动后 产生碰撞的行为——碰撞响应由引擎负责&#xff0c;并向各自发送事件忽略重叠阻挡 碰撞响应关系有忽略必是忽略有重叠必是重叠有阻挡不一定阻挡&#xff08;双方都为阻挡&#xff09; 碰撞启用&#xff1a;纯查询&#xff1a;开启移动检…

数据治理体系的“三驾马车”:质量、安全与价值挖掘

1. 执行摘要 数据治理已从合规驱动的后台职能&#xff0c;演变为驱动业务成果的战略核心。本文将深入探讨现代数据治理体系的三大核心驱动力——数据质量、数据安全与价值挖掘——它们共同构成了企业在数字时代取得成功的基石。数据质量是信任的基石&#xff0c;确保决策所依据…

leetcode 二分查找应用

34. Find First and Last Position of Element in Sorted Array 代码&#xff1a; class Solution { public:vector<int> searchRange(vector<int>& nums, int target) {int low lowwer_bound(nums,target);int high upper_bound(nums,target);if(low high…

Ngrok 内网穿透实现Django+Vue部署

目录 Ngrok 配置 注册/登录 Ngrok账号 官网ngrok | API Gateway, Kubernetes Networking Secure Tunnels 直接cmd运行 使用随机生成网址&#xff1a;ngrok http 端口号 使用固定域名生成网址&#xff1a;ngrok http --domain你的固定域名 端口号 Django 配置 1.Youre a…

利用OLED打印调试信息: 控制PC13指示灯点灯的实验

Do口暗的时候才是高电平,因为光敏电阻传感器的高电平是依靠LM393电压比较器上引脚进入高阻态再加上上拉电阻上拉产生的高电平DO口什么时候会输出高阻态?电压比较器的正极输入电压大于负极输入电压,而正极输入电压是光敏电阻分得的电压,光敏电阻的阻值越大,已分得的电压就越大,…

Appium安装 -- app笔记

调试环境&#xff1a;JDK&#xff08;java&#xff09; SDK&#xff08;android&#xff09; Node.js 雷神模拟器&#xff08;或 真机&#xff09; Appium&#xff08;Appium Server【内外件&#xff08;dos内件、界面化工具&#xff09;】、Appium Inspector&#xff09; p…

【OpenGL】OpenGL学习笔记-1:VS2019配置OpenGL开发环境

在Visual Studio 2019中可以通过手动配置库文件或NuGet包管理器快速安装的方法配置OpenGL环境&#xff0c;详细步骤如下&#xff1a; 一、打开VS2019&#xff0c;创建新的控制台项目 二、方法一&#xff1a;手动配置GLEW/GLFW/GLAD库 GLFW是窗口管理和输入事件的基础设施&…

集结号海螺捕鱼游戏源码解析(第二篇):水浒传捕鱼模块逻辑与服务器帧同步详解

本篇将全面解构“水浒传”子游戏的服务端核心逻辑、帧同步机制、鱼群刷新规则、客户端命中表现与服务器计算之间的协同方式&#xff0c;聚焦于 C 与 Unity3D 跨端同步的真实实现过程。 一、水浒传捕鱼模块资源结构 该模块包含三部分核心目录&#xff1a; 子游戏/game_shuihuz…

【音视频】FFmpeg内存模型

FFmpeg内存模型 从现有的Packet拷贝一个新Packet的时候&#xff0c;有两种情况&#xff1a; 两个Packet的buf引用的是同一数据缓存空间&#xff0c;这时候要注意数据缓存空间的释放问题&#xff1b;两个Packet的buf引用不同的数据缓存空间&#xff0c;每个Packet都有数据缓存…

小白自学python第一天

学习python的第一天 一、常用的值类型&#xff08;先来粗略认识一下~&#xff09; 类型说明数字&#xff08;number&#xff09;包含整型&#xff08;int&#xff09;、浮点型&#xff08;float&#xff09;、复数&#xff08;complex&#xff09;、布尔&#xff08;boolean&…

手动实现LinkedList

前言 大家好&#xff0c;我是Maybe。最近在学习数据结构中的链表&#xff0c;自己手动实现了一个LinkedList。我想与大家分享一下。 思维导图 代码部分 package Constant;public class constant {public static final String INDEX_IS_WRONG"输入的下标不合法"; }p…

maven的安装与配置、IDEA集成maven

一、maven的安装与配置环境变量 maven的下载与安装&#xff0c;配置环境变量与验证【附安装包3.6.1&#xff0c;3.8.8&#xff0c;3.9.9】-CSDN博客 参考资料&#xff1a;黑马程序员 二、IDEA集成 2.1 当前工程设置 1. 打开 Maven 设置路径&#xff1a;在 IDEA 中&#xf…

Axure中继器表格:实现复杂交互设计的利器

在产品原型设计领域&#xff0c;Axure凭借其强大的元件库和交互功能&#xff0c;成为设计师们手中的得力工具。其中&#xff0c;中继器元件在表格设计方面展现出了独特的优势&#xff0c;结合动态面板等元件&#xff0c;能够打造出功能丰富、交互体验良好的表格原型。本文将深入…

前端 JavaScript 处理流式响应的坑

给使用 JavaScript 的同学提个醒&#xff01; 浏览器端处理流式响应&#xff0c;想要完美体验 请使用 Fetch API。 Axios 无法使用stream来直接处理真正的流式响应&#xff08;但 Node.js 中可以使用 stream&#xff09;&#xff0c;这与浏览器底层 HTTP 请求实现的限制有关。 …

AI Agent认知框架(ReAct、函数调用、计划与执行、自问自答、批判修正、思维链、思维树详解和对比,最后表格整理总结

以下是主流AI Agent认知框架的详细说明、对比及表格总结&#xff1a; 1. 各认知框架详解 (1) ReAct (Reasoning Action) 定义&#xff1a;结合推理&#xff08;Reasoning&#xff09;和行动&#xff08;Action&#xff09;的循环过程。核心机制&#xff1a; 模型先推理&…

搭建TypeScript单元测试环境

我们在学习TypeScript的时候如果能够搭建一个单元测试的环境&#xff0c;那写些demo会很简单&#xff0c;下面我们使用jest来搭建一个单元测试环境 Jest 是一个由 Facebook 开发并开源的 JavaScript 测试框架&#xff0c;被广泛应用于前端和 Node.js 项目的单元测试。以下是关…