内容
下記の記事で、サービスエンドポイントゲートウェイ経由でのオブジェクトストレージへのアクセスを検証しました。
サービスエンドポイントゲートウェイのマニュアルにはモニタリングスイートにも対応しているとのことで、EC2 サーバのメトリクスをサービスエンドポイントゲートウェイ経由でメトリクスストレージに転送してみました。
構成
上記の記事でオブジェクトストレージにアクセスしていた箇所が、モニタリングスイート(メトリクスストレージ)に変更になっただけとなります。
手順
メトリクスストレージの作成
モニタリングスイート → メトリクスストレージから、新規にメトリクスストレージを追加します。
メトリクスストレージ追加後、詳細画面からアクセスキーを作成します。
下記のアクセスキーが発行されます。
サービスエンドポイントゲートウェイの設定
サービスエンドポイントゲートウェイの設定画面を開きます。モニタリングスイート(メトリクスストレージ)の箇所に先ほど作成したメトリクスストレージのリソース ID を入力後、更新します。
サービスエンドポイントゲートウェイにモニタリングスイート(メトリクスストレージ)の設定が追加されたことを確認します。
さくらのクラウドサーバ側の設定
モニタリングスイートのエンドポイント(xxxxxxxxxxxx.metrics.monitoring.global.api.sacloud.jp)へのアクセスがサービスエンドポイントゲートウェイ(192.168.10.20)経由となるよう、hosts ファイルに下記を追加します。
192.168.10.20 xxxxxxxxxxxx.metrics.monitoring.global.api.sacloud.jp
サービスエンドポイントゲートウェイ経由での通信となるか確認するため、tcpdump を取得しておきます。
tcpdump -i any -n host xxxxxxxxxxxx.metrics.monitoring.global.api.sacloud.jp
EC2 サーバ側の設定
Grafana Alloy をインストールしてメトリクスを転送します。設定については下記の記事を参考にさせていただきました。
下記の手順に従って、Grafana Alloy をインストールします。
wget -q -O gpg.key https://rpm.grafana.com/gpg.key
sudo rpm --import gpg.key
echo -e '[grafana]\nname=grafana\nbaseurl=https://rpm.grafana.com\nrepo_gpgcheck=1\nenabled=1\ngpgcheck=1\ngpgkey=https://rpm.grafana.com/gpg.key\nsslverify=1\nsslcacert=/etc/pki/tls/certs/ca-bundle.crt' | sudo tee /etc/yum.repos.d/grafana.repo
yum update
sudo dnf install alloy
sudo systemctl start alloy
sudo systemctl status alloy
sudo systemctl enable alloy.service
設定ファイルを下記のとおり修正します。
logging {
level = "warn"
}
prometheus.exporter.unix "default" {
include_exporter_metrics = true
disable_collectors = ["mdadm"]
}
prometheus.scrape "default" {
targets = array.concat(
prometheus.exporter.unix.default.targets,
[{
// Self-collect metrics
job = "alloy",
__address__ = "127.0.0.1:12345",
}],
)
forward_to = [
prometheus.remote_write.sakura_ms.receiver,
]
}
prometheus.remote_write "sakura_ms" {
endpoint {
url = "https://xxxxxxxxxxxx.metrics.monitoring.global.api.sacloud.jp/prometheus/api/v1/write"
authorization {
type = "Bearer"
credentials = "met-xxxxx-xxxxx"
}
}
}
hosts ファイルに下記を追加します。
127.0.0.1 xxxxxxxxxxxx.metrics.monitoring.global.api.sacloud.jp
ポートフォワードを設定します。
sudo ssh -fN -L 443:xxxxxxxxxxxx.metrics.monitoring.global.api.sacloud.jp:443 ubuntu@59.106.xx.xx -i key.pem
Alloy をリロードします。
sudo systemctl reload alloy
確認
tcpdump の結果を確認し、ローカル側 NIC(eth1)経由の通信となっていることを確認します。
XX:XX:25.108 eth1 Out IP 192.168.10.10.47474 > 192.168.10.20.443: [SYN]
XX:XX:25.109 eth1 In IP 192.168.10.20.443 > 192.168.10.10.47474: [SYN, ACK]
XX:XX:25.109 eth1 Out IP 192.168.10.10.47474 > 192.168.10.20.443: [ACK]
XX:XX:25.110 eth1 Out IP 192.168.10.10.47474 > 192.168.10.20.443: [PSH, ACK]
XX:XX:25.147 eth1 In IP 192.168.10.20.443 > 192.168.10.10.47474: [PSH, ACK]
XX:XX:25.152 eth1 Out IP 192.168.10.10.47474 > 192.168.10.20.443: [PSH, ACK]
XX:XX:25.226 eth1 In IP 192.168.10.20.443 > 192.168.10.10.47474: [PSH, ACK]
メトリクスストレージの詳細画面から「内容を閲覧」をクリックします。
任意のメトリクスを選択して「Execute」をクリックします。
メトリクスが表示されます。








