メトリクスストレージを使ってみる

さくらのクラウド # メトリクスストレージ

こんにちは アミーです。

サーバのパフォーマンス記録してますか?

個人でサーバ立ててなにか動かしている人は、リソース状況みるのが好きな人が多いと思っています。(偏見)

さくらのクラウドはデフォルトでいくつか値は取っているものの、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 だったらカスタムメトリクスを使わなくても取れるのにと思う方もいるかもしれませんが、

少し頑張れば、デフォルトで取れないものもクラウド側だけでリソース状況の管理、アラート設定が可能になります。

ここまで読んでいただきありがとうございました。

この記事を書いた人

アミー

ネットアシスト案件チーム所属

さくらのクラウド検定 2024年 第1回試験 合格済み

AWS SAA