はじめに

先⽇、Google Cloudの運⽤監視サービスの Cloud Monitoringのオブザーバビリティタブなどのメトリクス表⽰を中⼼に記載しました。

概要IaaS のサービスを中心に稼働状況の把握に役立つサービスにふれる機会があったため、その際に確認した内容を纏めます。Google Cloud ではシステムの稼働状況を手っ取り早く把握するための方法が準備されています。その把握に当たって、サービスによっては Observ...

その中の説明のGCEのオブザーバビリティタブ内で表⽰されていなかったOpsエージェントに関わる内容について記載していきます。

概要

Opsエージェントはそもそもなにか詳細はこちらに記載されていますが、メトリクスの取得(OpenTelemetry Collectorがサポート)ができ、ログ情報をCloud Loggingへ転送する仕組み(Fluent ビットを使⽤)が含まれるGoogle Cloudのエージェントです。

内容

対象OS

こちらに記載があるようなOSがサポートしております。
利⽤頻度が多そうなCentOS、Debian、RHEL、Ubuntu、Windows Serverは記載があり、新しいものにも対応できているように⾒受けられます。

機能

どのような情報が取得できるか、GCEのデフォルトで取得可能なものを中⼼に機能を記載します。

ログ

  • 標準のシステムログ(Linuxの /var/log/syslogと /var/log/messages、Windows のイベントログ)の転送
  • デフォルトではございませんが、その他正規表現でのログ除外や、フィールドのコントロール、複数⾏の連結が可能
  • カスタムですがサードパーティアプリのログ転送

メトリクス

  • 以下がデフォルトで収集されます
    • CPU 指標
    • ディスク指標
    • iis 指標(Windows のみ)
    • インターフェース指標
    • メモリ指標
    • mssql 指標(Windows のみ)
    • pagefile 指標(Windows のみ)
    • スワップ指標
    • ネットワーク指標
    • プロセス指標
    • エージェントのセルフ指標
  • 追加のサードパーティアプリケーションのサポート
    • 詳細はこちら参照いただきたいですが、よく⾒られるようなものだと、以下のアプリケーション統合が可能です
      • Apache
      • nginx
      • MySQL
      • JVM
    • これらアプリケーションの閲覧可能な情報としては、Apacheやnginxであればセッション数、worker数、JVMであればヒープメモリ、MySQLであればバッファープールサイズ、ページなどがありました

導⼊

導⼊する⽅法としては以下の3種類あります。

  • エージェントポリシー
  • ⾃動化ツールを使⽤して VM フリートにエージェントをインストールする
  • 個々の VM に Ops エージェントをインストールする それぞれの詳細についてはこちらでご確認ください。

導⼊⼿順

今回1台だけを対象に3つ⽬の⼿順でインストールしてみました。
こちらに記載がございますが、Linuxであれば以下のコマンドでインストールが可能です。

curl -sSO https://dl.google.com/cloudagents/add-google-cloud-ops-agentrepo.sh
sudo bash add-google-cloud-ops-agent-repo.sh --also-install

インストール後以下コマンドでスクリーンショットの通りactiveであり、エージェントステータスがOKであることを確認します。

sudo systemctl status google-cloud-ops-agent"*"

また実際の環境に⼊らずに、こちらにある通り、コンソールからもインストールが可能です。

オブザーバビリティタブの⾒え⽅

インストールすることでオブザーバビリティタブでこんなふうに⾒えるようになりました。
Ops エージェントをインストールしてください、となっていた箇所が、プロセス毎のCPUやメモリ、ディスクI/Oなどの使⽤率が⾼いものを⾒つけられるようになりました。

またログについても転送され、以下のようにコンソールから確認が可能なりました。

所感

Ops エージェントの導⼊により、オブザーバビリティタブへの詳細な情報が明らかになります。特にプロセスあたりの諸々がでたり、アプリケーション連携が優秀だなと感じました。
導⼊することでインスタンスへログインせずとも、次のアクションを検討できる状態、また状態の把握がより詳細に可能になることがわかりました。
特にエージェント⾃体もコンソールからも導⼊ができるようになっていたり、Ansibleの⼿引があったり、ポリシー利⽤によって導⼊が⾏えたりと、利⽤者⽬線でも導⼊がし易いものと感じました。
また指標の情報だけでなく、ログ情報についても転送されるようになっており、これもGCEのメニュー内から検索し、把握することが可能になっているのもメリットだと感じました。
先⽇のCloud Trace、Cloud Monitoring、そして今回のものを通して、運⽤⽬線での⼯夫がまだまだできる内容だと感じました。
直近のアップデートでCloud Storageへのオブザーバビリティタブが追加になっていたり、Cloud RunのSLI/SLOの設定が可能になっていたり、引き続き充実する内容かと思うので、注⽬していきたいと思います。