介绍
Prometheus是一个强大的开源监控系统,从您的服务中收集指标并将其存储在一个时间序列数据库中,它提供了多维数据模型,灵活的查询语言和各种可视化可能性,通过工具如 Grafana提供。
默认情况下,Prometheus只导出有关其自身的指标(例如接收请求数量、内存消耗率等)。
出口商 - 无论是 Prometheus 团队维护的官方服务器,还是社区贡献者 - 提供从基础设施、数据库和 Web 服务器到消息系统、 API 等等的一切信息。
一些最流行的选择包括:
- node_exporter——这产生了关于基础设施的衡量标准,包括目前的CPU、内存和磁盘使用量,以及I/O和网络统计,例如从磁盘或服务器平均负载读取的字节数.
- blackbox_exporter——这产生了来自HTTP和HTTPS等证明协议的衡量标准,以确定端点的可用性、响应时间和更多的.
- Mysqld_exporter——这收集了与MySQL服务器有关的衡量标准,例如执行询问的次数、平均查询答复时间和集群复制状态
- bbitmq_ex-ex-Exporter——这一输出关于RabbitMQ通讯系统的衡量标准,包括所发布的信息数量、准备发送的信息数量,以及[MINKxxx]
您可以在 Prometheus 的网站找到官方和社区贡献的出口商的更完整列表。
在本教程中,您将安装、配置和安全 Prometheus 和 Node Exporter 来生成指标,从而更容易监控服务器的性能。
前提条件
在遵循本教程之前,请确保您有:
一个Ubuntu 16.04 Droplet,通过遵循Initial Server Setup with Ubuntu 16.04 教程(https://andsky.com/tech/tutorials/initial-server-setup-with-ubuntu-16-04)设置,包括一个 sudo 非根用户和防火墙。
- Nginx 通过遵循 Ubuntu 16.04 上如何安装 Nginx 教程的前两步安装。
步骤1 - 创建服务用户
出于安全目的,我们将首先创建两个新的用户帐户, prometheus 和 ** node_exporter** . 我们将在整个教程中使用这些帐户来隔离 Prometheus 核心文件和目录的所有权。
创建这两个用户,并使用--no-create-home
和--shell /bin/false
选项,以便这些用户无法登录服务器。
1sudo useradd --no-create-home --shell /bin/false prometheus
2sudo useradd --no-create-home --shell /bin/false node_exporter
在我们下载 Prometheus 二进制文件之前,创建必要的目录来存储 Prometheus 文件和数据. 按照标准的 Linux 惯例,我们将为 Prometheus 配置文件创建一个目录在 /etc 和一个目录在
/var/lib 的数据。
1sudo mkdir /etc/prometheus
2sudo mkdir /var/lib/prometheus
现在,将新目录上的用户和组所有权设置为 prometheus 用户。
1sudo chown prometheus:prometheus /etc/prometheus
2sudo chown prometheus:prometheus /var/lib/prometheus
有了我们的用户和目录,我们现在可以下载Prometheus,然后创建最小的配置文件,首次运行Prometheus。
第2步:下载Prometheus
首先,下载并将当前的Prometheus稳定版本卸载到您的家庭目录中,您可以在 Prometheus 下载页面上找到最新的二进制和其支票。
1cd ~
2curl -LO https://github.com/prometheus/prometheus/releases/download/v2.0.0/prometheus-2.0.0.linux-amd64.tar.gz
接下来,使用sha256sum
命令来生成下载的文件的支票总和:
1sha256sum prometheus-2.0.0.linux-amd64.tar.gz
将此命令的输出与 Prometheus 下载页面的检查总数进行比较,以确保您的文件既真实,也不损坏。
1[secondary_label Output]
2e12917b25b32980daee0e9cf879d9ec197e2893924bd1574604eb0f550034d46 prometheus-2.0.0.linux-amd64.tar.gz
如果检查总数不匹配,请删除下载的文件,并重复上面的步骤以重新下载文件。
现在,解包下载的档案。
1tar xvf prometheus-2.0.0.linux-amd64.tar.gz
这将创建一个名为prometheus-2.0.0.linux-amd64
的目录,其中包含两个二进制文件(prometheus
和promtool
),控制台
和console_libraries
目录,其中包含 Web 界面文件、许可证、通知和几个示例文件。
将两个二进制码复制到 /usr/local/bin
目录。
1sudo cp prometheus-2.0.0.linux-amd64/prometheus /usr/local/bin/
2sudo cp prometheus-2.0.0.linux-amd64/promtool /usr/local/bin/
将二进制用户和组所有权设置为在步骤 1 中创建的 prometheus 用户。
1sudo chown prometheus:prometheus /usr/local/bin/prometheus
2sudo chown prometheus:prometheus /usr/local/bin/promtool
将consoles
和console_libraries
目录复制到/etc/prometheus
。
1sudo cp -r prometheus-2.0.0.linux-amd64/consoles /etc/prometheus
2sudo cp -r prometheus-2.0.0.linux-amd64/console_libraries /etc/prometheus
将目录上的用户和组所有权设置为 prometheus 用户. 使用 -R
旗帜将确保在目录内部的文件上设置所有权。
1sudo chown -R prometheus:prometheus /etc/prometheus/consoles
2sudo chown -R prometheus:prometheus /etc/prometheus/console_libraries
最后,从您的主目录中删除剩余的文件,因为它们不再需要。
1rm -rf prometheus-2.0.0.linux-amd64.tar.gz prometheus-2.0.0.linux-amd64
现在Prometheus已安装,我们将创建其配置和服务文件,为其首次运行做准备。
步骤 3 – 配置 Prometheus
在/etc/prometheus
目录中,使用nano
或您最喜欢的文本编辑器创建一个名为prometheus.yml
的配置文件。
1sudo nano /etc/prometheus/prometheus.yml
<$>[warning] 警告: Prometheus 配置文件使用了 YAML 格式,该格式严格禁止卡,并且需要两个空格来插入。
在全球
设置中,定义扫描指标的默认间隔. 请注意,Prometheus 将将这些设置应用于每个出口商,除非单个出口商自己的设置超过全球设置。
1[label Prometheus config file part 1 - /etc/prometheus/prometheus.yml]
2global:
3 scrape_interval: 15s
这个scrape_interval
值告诉Prometheus每15秒收集其出口商的指标,这对于大多数出口商来说是足够长的。
现在,将 Prometheus 自己添加到出口商列表中,以使用以下scrape_configs
指令:
1[label Prometheus config file part 2 - /etc/prometheus/prometheus.yml]
2...
3scrape_configs:
4 - job_name: 'prometheus'
5 scrape_interval: 5s
6 static_configs:
7 - targets: ['localhost:9090']
Prometheus 使用job_name
在查询和图表中标记出口者,所以请确保在这里选择一些描述性。
而且,由于普罗梅斯出口了有关自身的重要数据,您可以使用这些数据来监测性能和调试,我们已经将全球扫描间隔
指令从15秒转移到5秒,以便更频繁地更新。
最后,Prometheus使用static_configs
和targets
指令来确定出口商在哪里运行.由于该特定出口商在与Prometheus本身相同的服务器上运行,我们可以使用localhost
而不是IP地址,以及默认端口9090
。
您的配置文件现在应该是这样的:
1[label Prometheus config file - /etc/prometheus/prometheus.yml]
2global:
3 scrape_interval: 15s
4
5scrape_configs:
6 - job_name: 'prometheus'
7 scrape_interval: 5s
8 static_configs:
9 - targets: ['localhost:9090']
保存文件并退出文本编辑器。
现在,将配置文件中的用户和组所有权设置为在步骤 1 中创建的 prometheus 用户。
1sudo chown prometheus:prometheus /etc/prometheus/prometheus.yml
配置完成后,我们已经准备好通过首次运行来测试Prometheus。
第4步:奔跑普罗米修斯
将 Prometheus 作为 Prometheus 用户启动,为配置文件和数据目录提供路径。
1sudo -u prometheus /usr/local/bin/prometheus \
2 --config.file /etc/prometheus/prometheus.yml \
3 --storage.tsdb.path /var/lib/prometheus/ \
4 --web.console.templates=/etc/prometheus/consoles \
5 --web.console.libraries=/etc/prometheus/console_libraries
输出包含有关 Prometheus 加载进度、配置文件和相关服务的信息,并确认 Prometheus 正在收听端口 9090。
1[secondary_label Output]
2level=info ts=2017-11-17T18:37:27.474530094Z caller=main.go:215 msg="Starting Prometheus" version="(version=2.0.0, branch=HEAD, re
3vision=0a74f98628a0463dddc90528220c94de5032d1a0)"
4level=info ts=2017-11-17T18:37:27.474758404Z caller=main.go:216 build_context="(go=go1.9.2, user=root@615b82cb36b6, date=20171108-
507:11:59)"
6level=info ts=2017-11-17T18:37:27.474883982Z caller=main.go:217 host_details="(Linux 4.4.0-98-generic #121-Ubuntu SMP Tue Oct 10 1
74:24:03 UTC 2017 x86_64 prometheus-update (none))"
8level=info ts=2017-11-17T18:37:27.483661837Z caller=web.go:380 component=web msg="Start listening for connections" address=0.0.0.0
9:9090
10level=info ts=2017-11-17T18:37:27.489730138Z caller=main.go:314 msg="Starting TSDB"
11level=info ts=2017-11-17T18:37:27.516050288Z caller=targetmanager.go:71 component="target manager" msg="Starting target manager...
12"
13level=info ts=2017-11-17T18:37:27.537629169Z caller=main.go:326 msg="TSDB started"
14level=info ts=2017-11-17T18:37:27.537896721Z caller=main.go:394 msg="Loading configuration file" filename=/etc/prometheus/promethe
15us.yml
16level=info ts=2017-11-17T18:37:27.53890004Z caller=main.go:371 msg="Server is ready to receive requests."
如果您收到错误消息,请双重检查您是否在配置文件中使用了 YAML 语法,然后按照屏幕上的说明来解决问题。
现在,通过按CTRL+C
来阻止Prometheus,然后打开一个新的systemd
服务文件。
1sudo nano /etc/systemd/system/prometheus.service
服务文件告诉systemd
作为prometheus
用户运行Prometheus,配置文件位于/etc/prometheus/prometheus.yml
目录中,并将其数据存储在/var/lib/prometheus
目录中。
将以下内容复制到文件中:
1[label Prometheus service file - /etc/systemd/system/prometheus.service]
2[Unit]
3Description=Prometheus
4Wants=network-online.target
5After=network-online.target
6
7[Service]
8User=prometheus
9Group=prometheus
10Type=simple
11ExecStart=/usr/local/bin/prometheus \
12 --config.file /etc/prometheus/prometheus.yml \
13 --storage.tsdb.path /var/lib/prometheus/ \
14 --web.console.templates=/etc/prometheus/consoles \
15 --web.console.libraries=/etc/prometheus/console_libraries
16
17[Install]
18WantedBy=multi-user.target
最后,保存文件并关闭文本编辑器。
要使用新创建的服务,重新加载systemd
。
1sudo systemctl daemon-reload
您现在可以使用以下命令启动 Prometheus:
1sudo systemctl start prometheus
要确保 Prometheus 运行,请检查服务的状态。
1sudo systemctl status prometheus
输出告诉您 Prometheus 的状态、主要过程标识符(PID)、内存使用等。
如果服务的状态不活跃
,请遵循屏幕上的指示,并重新跟踪上面的步骤来解决问题,然后继续教程。
1[secondary_label Output]
2● prometheus.service - Prometheus
3 Loaded: loaded (/etc/systemd/system/prometheus.service; disabled; vendor preset: enabled)
4 Active: active (running) since Fri 2017-07-21 11:40:40 UTC; 3s ago
5 Main PID: 2104 (prometheus)
6 Tasks: 7
7 Memory: 13.8M
8 CPU: 470ms
9 CGroup: /system.slice/prometheus.service
10...
当你准备好继续时,按Q
来退出状态
命令。
最后,允许服务在 boot 上启动。
1sudo systemctl enable prometheus
现在Prometheus正在运行,我们可以安装一个额外的导出器来生成我们服务器的资源指标。
第5步:下载 Node Exporter
为了将 Prometheus 扩展到仅仅对其自己的指标之外,我们将安装一个名为 Node Exporter 的额外导出器。
首先,请将当前的稳定版本的Node Exporter下载到您的主目录中,您可以在Prometheus下载页面(https://prometheus.io/download/)上找到最新的二进制和其支票。
1cd ~
2curl -LO https://github.com/prometheus/node_exporter/releases/download/v0.15.1/node_exporter-0.15.1.linux-amd64.tar.gz
使用「sha256sum」命令生成下载的文件的支票总和:
1sha256sum node_exporter-0.15.1.linux-amd64.tar.gz
检查下载的文件的完整性,与下载页面上的检查总和进行比较。
1[secondary_label Output]
27ffb3773abb71dd2b2119c5f6a7a0dbca0cff34b24b2ced9e01d9897df61a127 node_exporter-0.15.1.linux-amd64.tar.gz
如果检查总数不匹配,请删除下载的文件,并重复上面的步骤。
现在,解包下载的档案。
1tar xvf node_exporter-0.15.1.linux-amd64.tar.gz
这将创建一个名为node_exporter-0.15.1.linux-amd64
的目录,其中包含一个名为node_exporter
的二进制文件,一个许可证和一个通知。
将二进制复制到 /usr/local/bin
目录,并将用户和组所有权设置为您在步骤 1 中创建的 node_exporter 用户。
1sudo cp node_exporter-0.15.1.linux-amd64/node_exporter /usr/local/bin
2sudo chown node_exporter:node_exporter /usr/local/bin/node_exporter
最后,从您的主目录中删除剩余的文件,因为它们不再需要。
1rm -rf node_exporter-0.15.1.linux-amd64.tar.gz node_exporter-0.15.1.linux-amd64
现在你已经安装了 Node Exporter,让我们通过运行它来测试它,然后为它创建服务文件,以便它开始启动。
步骤 6 – 运行节点出口器
运行 Node Exporter 的步骤类似于运行 Prometheus 本身的步骤,首先创建 Node Exporter 的 Systemd 服务文件。
1sudo nano /etc/systemd/system/node_exporter.service
此服务文件告知您的系统将 Node Exporter 运行为 node_exporter 用户,默认集合器集合器已启用。
将以下内容复制到服务文件中:
1[label Node Exporter service file - /etc/systemd/system/node_exporter.service]
2[Unit]
3Description=Node Exporter
4Wants=network-online.target
5After=network-online.target
6
7[Service]
8User=node_exporter
9Group=node_exporter
10Type=simple
11ExecStart=/usr/local/bin/node_exporter
12
13[Install]
14WantedBy=multi-user.target
收集器定义 Node Exporter 将生成哪些指标. 您可以在 Node Exporter README 文件中看到 Node Exporter 完整的收集器列表。
如果您需要超出默认收藏家列表,您可以使用--collectors.enabled
旗,例如:
1[label Node Exporter service file part - /etc/systemd/system/node_exporter.service]
2...
3ExecStart=/usr/local/bin/node_exporter --collectors.enabled meminfo,loadavg,filesystem
4...
上面的例子会告诉 Node Exporter 仅使用meminfo
,loadavg
和filesystem
收集器生成指标。
保存文件并关闭文本编辑器。
最后,重新加载systemd
以使用新创建的服务。
1sudo systemctl daemon-reload
您现在可以使用以下命令运行 Node Exporter:
1sudo systemctl start node_exporter
检查 Node Exporter 是否使用状态
命令正确运行。
1sudo systemctl status node_exporter
与以前一样,此输出会告诉您 Node Exporter 的状态、主流程识别符(PID)、内存使用率等等。
如果服务的状态不活跃
,请遵循屏幕上的消息,并重新跟踪前面的步骤以解决问题,然后继续。
1[secondary_label Output]
2● node_exporter.service - Node Exporter
3 Loaded: loaded (/etc/systemd/system/node_exporter.service; disabled; vendor preset: enabled)
4 Active: active (running) since Fri 2017-07-21 11:44:46 UTC; 5s ago
5 Main PID: 2161 (node_exporter)
6 Tasks: 3
7 Memory: 1.4M
8 CPU: 11ms
9 CGroup: /system.slice/node_exporter.service
最后,启用 Node Exporter 启动。
1sudo systemctl enable node_exporter
随着 Node Exporter 完全配置并按预期运行,我们会告诉 Prometheus 开始扫描新指标。
步骤 7 — 配置 Prometheus 来扫描节点出口器
由于Prometheus只对其配置文件的scrape_configs
部分中定义的导出器进行扫描,所以我们需要为Node Exporter添加一个条目,就像我们为Prometheus自己做的那样。
打开配置文件。
1sudo nano /etc/prometheus/prometheus.yml
在scrape_configs
块的末尾,添加一个名为node_exporter
的新条目。
1[label Prometheus config file part 1 - /etc/prometheus/prometheus.yml]
2...
3 - job_name: 'node_exporter'
4 scrape_interval: 5s
5 static_configs:
6 - targets: ['localhost:9100']
由于这个导出器也在 Prometheus 服务器上运行,所以我们可以使用 localhost 代替 IP 地址,再加上 Node Exporter 的默认端口 `9100。
您的整个配置文件应该是这样的:
1[label Prometheus config file - /etc/prometheus/prometheus.yml]
2global:
3 scrape_interval: 15s
4
5scrape_configs:
6 - job_name: 'prometheus'
7 scrape_interval: 5s
8 static_configs:
9 - targets: ['localhost:9090']
10 - job_name: 'node_exporter'
11 scrape_interval: 5s
12 static_configs:
13 - targets: ['localhost:9100']
保存文件,并在您准备继续时离开文本编辑器。
最后,重新启动 Prometheus 以实现更改。
1sudo systemctl restart prometheus
再次,通过状态
命令检查一切是否正常运行。
1sudo systemctl status prometheus
如果服务的状态未设置为活跃
,请遵循屏幕上的指示,然后在继续之前重新跟踪之前的步骤。
1[secondary_label Output]
2● prometheus.service - Prometheus
3 Loaded: loaded (/etc/systemd/system/prometheus.service; disabled; vendor preset: enabled)
4 Active: active (running) since Fri 2017-07-21 11:46:39 UTC; 6s ago
5 Main PID: 2219 (prometheus)
6 Tasks: 6
7 Memory: 19.9M
8 CPU: 433ms
9 CGroup: /system.slice/prometheus.service
作为连接到 Web 接口之前的最后预防措施,我们将通过基本的 HTTP 身份验证来增强我们的安装的安全性,以确保未经授权的用户无法访问我们的指标。
第8步:保护普罗米修斯
Prometheus 不包括内置身份验证或任何其他一般用途的安全机制. 一方面,这意味着您正在获得一个具有更少配置限制的高度灵活的系统;另一方面,这意味着您可以确保您的指标和整体设置是足够安全的。
为了简化,我们将使用 Nginx 将基本的 HTTP 身份验证添加到我们的安装中,Prometheus 和其首选的数据可视化工具 Grafana 都完全支持。
首先安装apache2-utils
,这将为您提供用于生成密码文件的htpasswd
实用程序。
1sudo apt-get update
2sudo apt-get install apache2-utils
现在,创建一个密码文件,告诉htpasswd
,您想存储该文件在哪里,以及您想使用哪些用户名进行身份验证。
<$>[注]
注: htpasswd
将提示您输入并重新确认您想与此用户关联的密码。
1sudo htpasswd -c /etc/nginx/.htpasswd sammy
此命令的结果是新创建的名为.htpasswd
的文件,位于/etc/nginx
目录中,包含您输入的用户名和密码的哈希版本。
接下来,配置 Nginx 以使用新创建的密码。
首先,创建默认 Nginx 配置文件的 Prometheus 特定的副本,以便在您遇到问题时稍后返回默认文件。
1sudo cp /etc/nginx/sites-available/default /etc/nginx/sites-available/prometheus
然后打开新的配置文件。
1sudo nano /etc/nginx/sites-available/prometheus
在服务器
块下找到位置/
块,它应该看起来像:
1[label /etc/nginx/sites-available/default]
2...
3 location / {
4 try_files $uri $uri/ =404;
5 }
6...
由于我们将向 Prometheus 传输所有流量,请用以下内容替换试用_文件
指令:
1[label /etc/nginx/sites-available/prometheus]
2...
3 location / {
4 auth_basic "Prometheus server authentication";
5 auth_basic_user_file /etc/nginx/.htpasswd;
6 proxy_pass http://localhost:9090;
7 proxy_http_version 1.1;
8 proxy_set_header Upgrade $http_upgrade;
9 proxy_set_header Connection 'upgrade';
10 proxy_set_header Host $host;
11 proxy_cache_bypass $http_upgrade;
12 }
13...
这些设置确保用户必须在每个新会话开始时进行身份验证,此外,反向代理将将此块处理的所有请求发送给Prometheus。
当您完成更改后,保存文件并关闭文本编辑器。
现在,通过在/etc/nginx/sites-enabled
目录中删除链接来禁用默认的 Nginx 配置文件,并通过创建链接来激活新的配置文件。
1sudo rm /etc/nginx/sites-enabled/default
2sudo ln -s /etc/nginx/sites-available/prometheus /etc/nginx/sites-enabled/
在重新启动 Nginx 之前,请使用以下命令检查配置错误:
1sudo nginx -t
输出应表示语法正常
和测试成功
如果您收到错误消息,请按照屏幕上的指示来修复问题,然后继续下一步。
1[secondary_label Output of Nginx configuration tests]
2nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
3nginx: configuration file /etc/nginx/nginx.conf test is successful
然后,重新加载 Nginx 以整合所有更改。
1sudo systemctl reload nginx
检查 Nginx 是否正在运行。
1sudo systemctl status nginx
如果输出不表示服务的状态是活跃
,请遵循屏幕上的消息,然后重新跟踪上面的步骤以解决问题,然后继续。
1[label Output]
2● nginx.service - A high performance web server and a reverse proxy server
3 Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: en
4 Active: active (running) since Mon 2017-07-31 21:20:57 UTC; 12min ago
5 Process: 4302 ExecReload=/usr/sbin/nginx -g daemon on; master_process on; -s r
6 Main PID: 3053 (nginx)
7 Tasks: 2
8 Memory: 3.6M
9 CPU: 56ms
10 CGroup: /system.slice/nginx.service
此时,我们有一个功能齐全且安全的Prometheus服务器,所以我们可以登录Web界面,开始查看指标。
第9步:测试普罗米修斯
Prometheus 提供了一个基本的 Web 界面,用于监控自身和其导出者的状态,执行查询和生成图表,但由于界面的简单性,Prometheus 团队建议(https://prometheus.io/docs/visualization/browser/)(https://prometheus.io/docs/visualization/grafana/)安装和使用 Grafana)比测试和调试更为复杂。
在本教程中,我们将使用内置的 Web 界面来确保 Prometheus 和 Node Exporter 运行,我们还将看看简单的查询和图表。
首先,请将您的浏览器指向http://your_server_ip
。
在 HTTP 身份验证对话框中,输入您在步骤 8 中选择的用户名和密码。
一旦登录,你会看到 Expression Browser ,在那里你可以执行和可视化自定义查询。
在执行任何表达式之前,先检查 Prometheus 和 Node Explorer 的状态,首先点击屏幕顶部的 **状态 ** 菜单,然后点击 ** 目标 ** 菜单选项。
如果任何一个导出器都丢失或显示错误消息,请使用以下命令检查服务的状态:
1sudo systemctl status prometheus
1sudo systemctl status node_exporter
两个服务的输出应报告状态为活跃:活跃(运行)
。如果一个服务根本不活跃或活跃,但仍然不正常工作,请遵循屏幕上的指示,并在继续之前重新追踪上面的步骤。
接下来,为了确保导出者正确工作,我们将对 Node Exporter 执行几个表达式。
首先,点击屏幕顶部的 ** 图表 ** 菜单以返回 ** 表达式浏览器 ** 。
在表达式
字段中,键入node_memory_MemAvailable
,然后按执行
按钮,以更新您的服务器所拥有的内存量。
默认情况下,Node Exporter 会以字节报告此数值. 要转换为 Megabytes,我们将使用数学操作员以 1024 倍进行分割。
在表达式
字段中,输入node_memory_MemAvailable/1024/1024
,然后按执行
按钮。
现在 ** 控制台** 选项卡将显示结果以 Megabytes。
如果您想验证结果,请从您的终端执行免费
命令(-h
旗表示免费
以人读取的格式进行报告,给我们 Megabyte 中的金额)。
1free -h
此输出包含有关内存使用的详细信息,包括在 可用 列中显示的可用内存。
1[secondary_label Output]
2 total used free shared buff/cache available
3Mem: 488M 144M 17M 3.7M 326M 324M
4Swap: 0B 0B 0B
除了基本操作员外,Prometheus 查询语言还为汇总结果提供了许多功能。
在表达式
字段中,键入avg_over_time(node_memory_MemAvailable[5m])/1024/1024
并点击执行
按钮。
现在,单击 ** 图表** 选项卡以将执行表达式显示为图表而不是文本。
最后,在这个选项卡上,将鼠标移动到图表上,以获取图表的 X 和 Y 轴的任何特定点的额外细节。
如果您想了解有关 Prometheus 内置 Web 界面中的表达式创建的更多信息,请参阅官方文档的 Querying Prometheus部分。
结论
在本教程中,我们下载,配置,安全,并测试了一个完整的Prometheus安装与一个额外的出口器。
如果您想了解更多关于 Prometheus 如何在帽子下工作的信息,请查看 Ubuntu 14.04 上如何查询 Prometheus(https://andsky.com/tech/tutorials/how-to-query-prometheus-on-ubuntu-14-04-part-1# step-2-%E2%80%94-installing-the-demo-instances)。
要查看 Prometheus 还能做什么,请访问 官方 Prometheus 文档。
此外,要了解有关普罗米修斯扩展的更多信息,请参阅 可用的出口商列表以及 官方Grafana网站。