普罗米修斯的推荐 – 服务发现 –
普罗米修斯的建议-初步安装-的续集。
请谅解,本文旨在为不熟悉Prometheus的人提供信息,包括尝试和研究的过程以及错误处理。因此,可能会给您带来一些混乱的感觉。
好吧,据说使用Prometheus的服务发现功能,我们至少能够识别到已知的AWS帐户中的服务器,所以我想试一试。
如果有新的服务器加入,是否可以进行通知呢?
并且,在此之前,Prometheus会使用二进制文件进行安装,所以我们需要进行自动启动的设置。
自动启动设置
# killall prometheus
# mv ./prometheus-2.3.1 /usr/local/
# ln -s /usr/local/prometheus-2.3.1/prometheus /usr/bin/
# vi /lib/systemd/system/prometheus.service
[Unit]
Description=Prometheus service
After=syslog.service prometheus.service
[Service]
Type=simple
ExecStart=/usr/bin/prometheus --config.file=/usr/local/prometheus-2.3.1/prometheus.yml
PrivateTmp=true
[Install]
WantedBy=multi-user.target
# systemctl enable prometheus
# systemctl start prometheus
服务发现
参考我们在之前的文章中提到的下一代监视工具的最重要选择 – 我们已经开始实际使用 Prometheus。
# vi /usr/local/prometheus-2.3.1/prometheus.yml
scrape_configs:
- job_name: 'TEST_PROJECT'
# EC2 Service Discovery Config
ec2_sd_configs:
- region: ap-northeast-1
access_key: XXXXXXXXXXXXXXXXXXX
secret_key: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
port: 9100 # 監視対象ポート
# systemctl restart prometheus.service
好的,让我用浏览器来看看吧。

每个区域都添加了正确数量的实例。
UNKNOWN状态意味着还没有从Prometheus中获取数据,DOWN状态可能是已经获取了数据但是无效。
毕竟还没有安装exporter,所以这是当然的。(重新加载后,所有实例都变成了DOWN状态)
但是,由于它是由内部IP进行注册的,所以即使安装了exporter,来自未连接内部网络的Prometheus也无法访问它吗?
一下子想到,底下还写了方法。
关于能够监视一万台服务器并与Grafana集成的备受关注的Prometheus的故事~vol2~
嗯。。。我想要这方面的日语参考资料…
首先,就照原样模仿吧。
- region: ap-northeast-1
access_key: XXXXXXXXXXXXXXXXXXX
secret_key: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
port: 9100 # 監視対象ポート
relabel_configs:
- source_labels: [__meta_ec2_public_ip]
regex: '(.*)'
target_label: __address__
replacement: '${1}:9100'
- source_labels: [__meta_ec2_tag_Name]
target_label: instance
结果

Labels中记录了实例名称和公共IP地址。没有公共IP地址的实例可能是已停止的实例,或者是真正没有公共IP地址的服务器。
在现在的公司里,每个项目都有单独的云账户,所以只需要为每个项目进行设置,就能基本掌握整体情况。
还需要监控警报和通知之类的事情要做呢。