こんにちは アミーです。
サーバのパフォーマンス記録してますか?
個人でサーバ立ててなにか動かしている人は、リソース状況みるのが好きな人が多いと思っています。(偏見)
さくらのクラウドはデフォルトでいくつか値は取っているものの、AWSと比べると全然少ないです。
しかしながら、いくつかの設定を行うことである程度好きなリソース値をさくらのクラウドコンソール上で確認できるので、今回は検証したいと思います。
メトリクスストレージ作成
特に複雑な手順があるわけではないので割愛します。
アクセスキー作成
これも複雑な手順は不要なので割愛しますが、出力された内容は後で使います
出力例
ID
123a123-1a23-1234-abcde-123456abcd
説明
amiy-test-key
エンドポイント
1234567890.metrics.monitoring.global.api.sacloud.jp
設定例
remote_write:
- url: "https://1234567890.metrics.monitoring.global.api.sacloud.jp/prometheus/api/v1/write"
authorization:
credentials: met-1234567890abcdefghijk-lmnopqr123456789p0
サーバ側設定
今回はお試しとして cpu にします。
前回入れた sacloud-otel-collector をそのまま利用します。
記述内容はドキュメント見ながらがんばります。
今回追加したのは、hostmetrics や metrics関連 のところ。
# vi config.yaml
receivers:
filelog/messages:
include:
- /var/log/messages
start_at: end
hostmetrics:
collection_interval: 10s
scrapers:
cpu:
metrics:
system.cpu.utilization:
enabled: true
processors:
resourcedetection:
detectors: [system]
system:
hostname_sources: [os]
# You should set environment variables SACLOUD_*
exporters:
debug:
sacloud:
logs:
endpoint: "${SACLOUD_LOGS_ENDPOINT}"
token: "${SACLOUD_LOGS_TOKEN}"
metrics:
endpoint: "${SACLOUD_METRICS_ENDPOINT}"
token: "${SACLOUD_METRICS_TOKEN}"
service:
pipelines:
logs:
receivers:
- filelog/messages
processors:
- resourcedetection
exporters:
- sacloud
metrics:
receivers:
- hostmetrics
processors:
- resourcedetection
exporters:
- sacloud
環境変数は、 /etc/default/sacloud-otel-collector 側で設定します。
OTELCOL_OPTIONS="--config=/etc/sacloud-otel-collector/config.yaml"
SACLOUD_METRICS_ENDPOINT=
SACLOUD_METRICS_TOKEN=
SACLOUD_LOGS_ENDPOINT=
SACLOUD_LOGS_TOKEN=
# SACLOUD_TRACES_ENDPOINT=123456789012
# SACLOUD_TRACES_TOKEN=trc-xxxx
必要な設定を入力してください。アクセスキー作成時に出てきた内容を設定してください。
再起動
systemctl restart sacloud-otel-collector
収集されたメトリクスを確認

メトリクス一覧ですが、今回はCPUのみです。

実際のメトリクスです。
無事取得できました。
最後に
CPUやメモリの数値情報を集めることでアラートなどにも利用できます。
弊社でも監視サービスを提供しておりますが、監視サービスが導入できない環境に対して利用の検討にあがってくるかと思います。
AWS だったらカスタムメトリクスを使わなくても取れるのにと思う方もいるかもしれませんが、
少し頑張れば、デフォルトで取れないものもクラウド側だけでリソース状況の管理、アラート設定が可能になります。
ここまで読んでいただきありがとうございました。