无法从 EC2 上的 public ip 地址访问 node_exporter

Can't access node_exporter from public ip address on EC2

我正在 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

而且我可以通过将 curl 与本地主机一起使用来访问指标。类似下面的内容

curl localhost:9100/metrics

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

curl private_ip_address:9100/metrics

但是,当我尝试通过 public IP 地址访问它时。它不工作,curl 超时。

curl public_ip_address:9100/metrics

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

我怎样才能使它可以从 ipv4 地址访问?

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

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

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

您可以测试远程端口是否可达(REF:):

nc -zvw 5 <ip> <port>