【问题标题】:Can't access node_exporter from public ip address on EC2无法从 EC2 上的公共 IP 地址访问 node_exporter
【发布时间】:2020-12-10 03:54:06
【问题描述】:

我正在 AWS EC2 上设置 prometheus/node_exporter。配置如下

[Unit]
Description=Node Exporter
Wants=network-online.target
After=network-online.target

[Service]
User=node_exporter
Group=node_exporter
Type=simple
ExecStart=/usr/local/bin/node_exporter

[Install]
WantedBy=multi-user.target

我可以通过使用带有 localhost 的 curl 来访问指标。类似于以下内容

curl localhost:9100/metrics

我也可以通过私有 IP 地址访问指标。例如

curl private_ip_address:9100/metrics

但是,当我尝试通过公共 IP 地址访问它时。它不工作,卷曲超时。

curl public_ip_address:9100/metrics

我尝试从服务器本身和本地计算机从ipv4:9100 访问。两者都遇到了同样的问题。

如何启用以使其可从 ipv4 地址访问?

【问题讨论】:

  • 如果它从内部被阻止,也许你有一些防火墙(例如ufw)阻止了实例上的端口?
  • @Marcin 我已经将端口 9000 也添加到了防火墙中。
  • 您可以暂时禁用 ufw 以仔细检查它的效果吗?
  • @Marcin 已解决。我需要在我的 AWS 安全组中添加自定义 TCP 入站规则。

标签: amazon-web-services curl prometheus prometheus-node-exporter


【解决方案1】:

默认情况下,EC2 实例不允许直接访问端口。

如果不存在,则需要在入站规则中为端口9100创建Custom TCP规则。

如果您还配置了防火墙,则还需要允许端口9100

您可以测试远程端口是否可达(参考:https://stackoverflow.com/a/9463554/664229):

nc -zvw 5 <ip> <port>

【讨论】:

    猜你喜欢
    • 2020-11-03
    • 1970-01-01
    • 2021-12-22
    • 2013-09-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-05
    • 1970-01-01
    相关资源
    最近更新 更多