監視ソリューション · 2 min read · Nov 11, 2025

Ubuntu 22.04にSensu監視ソリューションをインストールする方法

Sensuは、コンテナおよび非コンテナ監視とマルチクラウドインフラストラクチャのために設計されたオープンソースのインフラストラクチャおよびアプリケーション監視システムです。

Sensuは、テクノロジーおよびサーバーインフラストラクチャのためのスケーラブルで安全かつ統合された監視ソリューションです。サーバー、アプリケーションの健康、サービスを監視し、サードパーティとの統合を通じて複数のターゲットにアラート通知を送信するために使用できます。

このガイドでは、Ubuntu 22.04サーバーにSensu監視ソリューションをセットアップします。また、Sensuを管理するために使用されるSensu-go-clientをインストールおよび構成します。最後に、ターゲットホストにSensuエージェントをインストールして、基本的なシステム監視のためのSensuチェックを設定します。

前提条件

このガイドを完了するには、以下の要件が必要です:

  • 2つのUbuntu 22.04サーバー - 最初のサーバーはSensu監視ソリューションをインストールするために使用され、2番目のサーバーは監視対象のサーバーです。
  • sudo/root管理者権限を持つ非ルートユーザー。

以下は、このガイドで使用されるサーバーの詳細です:

ホスト名   IPアドレス   使用目的  
--------------------------------------------------  
sensugo-server 192.168.5.100  Sensuサーバー  
machine1   192.168.5.120  ターゲット監視

それでは、インストールに進みましょう。

Sensuリポジトリの追加

Sensuは、Linux、macOS、Windows、FreeBSDなどの複数のオペレーティングシステムにインストールできる安全でスケーラブルな監視ソリューションです。Sensuは、特にRHELベースおよびDebianベースのディストリビューション用に独自のリポジトリを提供しています。sensuパッケージは、packagecloud.ioリポジトリを介して配信されます。

この最初のステップでは、Sensuサーバーとターゲット監視システムの両方にSensuリポジトリを設定します。

まず、以下のaptコマンドを実行してパッケージインデックスを更新し、システムにいくつかの基本パッケージをインストールします。

sudo apt update  
sudo apt install wget curl gnupg2 apt-transport-https

プロンプトが表示されたら、yを入力して確認し、ENTERを押します。

依存関係のインストール

次に、以下のコマンドを実行して、Sensuの安定リポジトリをシステムに追加します。これにより、Sensuリポジトリを自動的に設定および構成するbashスクリプトがダウンロードされます。

curl -s https://packagecloud.io/install/repositories/sensu/stable/script.deb.sh | sudo bash

次のような出力が得られます。

リポジトリの設定

sensuリポジトリが追加されたら、SensuサーバーでSensu Goのインストールを開始し、ターゲット監視でSensuエージェントをインストールする準備が整いました。

Sensu Goバックエンドのインストールと構成

Sensu Goバックエンドは、Sensu監視プラットフォームの主要コンポーネントです。Web管理ダッシュボードとHTTP APIを提供し、コマンドラインを介してSensuを管理できるようにし、ターゲットマシン/エージェントが接続するために使用されるWebSocketも提供します。

始める前に、以下のすべてのコマンドをSensuサーバーで実行してください。この例では、サーバーのホスト名は’sensugo-server’です。

まず、以下のaptコマンドを実行してSensu Goバックエンドをインストールします。

sudo apt install sensu-go-backend

インストールが始まるはずです。

sensu goのインストール

Sensu Goバックエンドがインストールされたら、以下のwgetコマンドを使用してサンプル構成を‘/etc/sensu/backend.yml’にダウンロードします。その後、nanoエディタコマンドを使用してファイルを開きます。

sudo curl -L https://docs.sensu.io/sensu-go/latest/files/backend.yml -o /etc/sensu/backend.yml  
sudo nano /etc/sensu/backend.yml

ファイル内の以下の行のコメントを外します。

cache-dir: "/var/cache/sensu/sensu-backend"  
config-file: "/etc/sensu/backend.yml"  
  
log-level: "debug"  
state-dir: "/var/lib/sensu/sensu-backend"

sensu goの設定

ファイルを保存し、編集が完了したらエディタを終了します。

次に、以下のsystemctlコマンドユーティリティを実行して、Sensu Goバックエンドサービス’sensu-backend‘を開始および有効にします。

sudo systemctl start sensu-backend  
sudo systemctl enable sensu-backend

sensu-backend‘は現在実行中で有効になっているはずです。また、サービスは起動時に自動的に実行されます。

sensuの設定と開始

以下のsystemctlコマンドを使用して’sensu-backend’サービスのステータスを確認します。

sudo systemctl is-enabled sensu-backend  
sudo systemctl status sensu-backend

次のような出力が得られます - ‘sensu-backend‘サービスは有効で、現在実行中です。

sensu-backendサービスの確認

Sensu Goバックエンドが実行中の状態で、次に管理者パスワードを設定し、いくつかの構成を生成してSensu Goバックエンドを初期化します。

Sensu Goバックエンドのインストールを初期化するには、以下のコマンドを実行してSensu管理ユーザーとパスワードを設定するために使用される新しい環境変数を作成します。

この例では、ユーザーとして’sensuadmin‘、パスワードとして’sensupassword‘を使用します。したがって、管理者ユーザーとパスワードを変更してください。

export SENSU_BACKEND_CLUSTER_ADMIN_USERNAME=sensuadmin  
export SENSU_BACKEND_CLUSTER_ADMIN_PASSWORD=sensupassword

次に、以下の’sensu-backend’コマンドを実行してSensu Goバックエンドのインストールを初期化します。

sensu-backend init

次のような出力が得られます - Sensu Goバックエンドは現在初期化されており、デフォルトポート’3000‘で実行されています。

sensuの初期化

次に、Webブラウザを開き、サーバーのIPアドレスの後にTCPポート3000を追加してアクセスします(例:http://192.168.5.100:3000)。Sensuのログインページが表示されるはずです。

初期化プロセス中に使用したユーザー名とパスワードでログインし、’SIGN-IN‘をクリックします。

sensuのログイン

ログイン後、Sensu管理ダッシュボードが表示されるはずです。これでSensu Goバックエンドのインストールが完了しました。

sensuダッシュボード

さらに、Sensu APIを介してSensu Goバックエンドサーバーの健康状態を確認することもできます。

以下のaptコマンドを使用して、システムに’jq‘パッケージユーティリティをインストールします。

sudo apt install jq -y

次に、以下のcurlコマンドを実行して、デフォルトポート’8080‘で実行されているSensuサーバーAPIにアクセスします。このコマンドは、Sensuサーバーの健康状態を確認し、出力をjson形式でフォーマットします。

curl -s http://127.0.0.1:8080/health | jq .

出力 - 次の出力には’Healthy: true’が含まれ、エラーはありません。

sensu健康チェック

sensuctlのインストールと構成

Sensu Goバックエンドがインストールされ、構成されたら、次にSensuサーバーにSensu Goクライアントをインストールします。Sensu Goクライアントは、ターミナルサーバーを介してSensuを管理するためのコマンドラインユーティリティ’sensuctl’を提供します。

‘sensuctl’の動作は、SensuサーバーとAPIを介して通信し、Sensuサーバー上のリソース、イベント、およびエンティティを作成、読み取り、更新、および削除することによって行われます。

以下のaptコマンドを実行してSensu Goクライアントをインストールします。インストールが始まるはずです。

sudo apt install sensu-go-cli

sensuctlのインストール

sensu-go-cli‘がインストールされたら、以下のnanoエディタコマンドを使用して’~/.bashrc‘ファイルを開きます。

nano ~/.bashrc

以下の行を行の最後に追加します。この構成により、’sensuctl’コマンドの自動補完が有効になります。

if [ -f /usr/share/bash-completion/bash_completion ]; then  
. /usr/share/bash-completion/bash_completion  
elif [ -f /etc/bash_completion ]; then  
. /etc/bash_completion  
fi  
  
source <(sensuctl completion bash)

ファイルを保存し、終了したらエディタを閉じます。

次に、’~/.bashrc*’ファイルを再読み込みして現在のセッションをリロードします。その後、’sensuctl’コマンドを使用して確認します。

source ~/.bashrc  
sensuctl TAB

‘sensuctl’コマンドの後にTABボタンを押すと、そのコマンドのオプションのリストが表示されるはずです。

sensuctlの補完

Sensu Goクライアントがインストールされたので、次にSensuサーバーへの接続を構成します。

以下の’sensuctl configure‘コマンドを実行してSensuサーバーを追加します。

sudo sensuctl configure

いくつかの構成について尋ねられます:

  • 認証方法?ユーザー名/パスワード
  • SensuバックエンドAPI URL?Sensu APIはデフォルトでhttp://127.0.0.1:8080で実行されています。
  • 名前空間?デフォルト
  • 優先出力形式?希望する出力形式を選択します - この例では表形式です。
  • ユーザー名?sensuの管理ユーザー
  • パスワード?sensu管理ユーザーのパスワード

sensuctl‘の構成が完了したら、以下のコマンドを実行して現在の構成の詳細を確認します。

sudo sensuctl config view

次のような出力が得られます - Sensu Goクライアントは、デフォルトでlocalhost:8080で実行されているSensuサーバーにHTTP APIを介して接続されています。

sensuctlの構成

この時点で、Sensu GoバックエンドとSensu Goクライアントの基本構成が完了しました。次のステップでは、Sensuエージェントを介してターゲットマシンを監視します。

ターゲットマシンにSensuエージェントをインストール

Sensuエージェントは、監視したいターゲットマシンで実行される軽量クライアントです。自己登録、キープアライブメッセージの送信、監視チェックの実行などの機能を持ち、SensuサーバーとWebSocketを介して通信します。

始める前に、Sensuリポジトリが追加されていることを確認してください。また、以下のコマンドをターゲットマシンで実行してください。この例では、ホスト名が’machine1‘のサーバーを使用します。

以下のaptコマンドを実行して、システムにSensuエージェントをインストールします。インストールは自動的に進行するはずです。

sudo apt install sensu-go-agent

sensu-agentのインストール

Sensuエージェントがインストールされたら、curlコマンドを使用してSensuエージェントの構成ファイルを’ /etc/sensu/agent.yml ‘にダウンロードします。その後、nanoエディタコマンドを使用してファイル’ /etc/sensu/agent.yml ‘を開きます。

sudo curl -L https://docs.sensu.io/sensu-go/latest/files/agent.yml -o /etc/sensu/agent.yml  
sudo nano /etc/sensu/agent.yml

デフォルトの構成を以下の行に変更します。ターゲットマシンのホスト名で’name’を変更し、バックエンドURLはデフォルトポート’8081‘で実行されているSensuサーバーのWebSocketアドレスにします。

この例では、ターゲットマシンのホスト名は’machine1‘で、SensuサーバーのIPアドレスは’192.168.5.100‘です。

name: "machine1"  
namespace: "default"  
...  
backend-url:  
  - "ws://192.168.5.100:8081"  
cache-dir: "/var/cache/sensu/sensu-agent"  
config-file: "/etc/sensu/agent.yml"

sensuエージェントの構成

ファイルを保存し、編集が完了したらエディタを終了します。

次に、以下のsystemctlコマンドユーティリティを実行して’sensu-agent‘サービスを開始および有効にします。サービスは現在実行中で有効になっているはずで、これはサービスが起動時に自動的に開始されることを意味します。

sudo systemctl start sensu-agent  
sudo systemctl enable sensu-agent

sensuエージェントの構成と開始

次に、以下のコマンドを使用して’sensu-agent’サービスを確認し、サービスが実行中であることを確認します。

sudo systemctl is-enabled sensu-agent  
sudo systemctl status sensu-agent

次のような出力が得られます - ‘sensu-agent‘サービスは有効で、現在のステータスは実行中です。

sensuエージェントの確認

最後に、Sensuサーバーターミナルに戻り、以下の’sensuctl’コマンドを実行して、ターゲットマシン’machine1’がSensuサーバーで利用可能であることを確認します。

sensuctl entity list --format tabular

次のような出力が得られます - ターゲットマシン’machine1‘がSensuエージェントを介してSensuサーバーに追加されました。

エンティティのリスト

ターゲットマシン’machine1’がSensuサーバーに追加されたので、次に基本的なシステム監視のためのチェックを設定します。

システム監視のためのチェックの設定

Sensuでは、チェックは監視したい項目を定義する場所です。チェックの例には、CPU使用率、メモリ使用率、ディスク使用率などがあります。チェックは、共有可能で再利用可能な動的ランタイムであるアセットの一部です。

このステップでは、CPU使用率、メモリ使用率、ディスク使用率を監視するための新しいチェックを作成します。これらのチェックは、ターゲットマシン’machine1‘を監視するために使用されます。

まず、以下のsensuctlコマンドを実行してエンティティまたはターゲットマシン’machine1‘を更新します。

sensuctl entity update machine1

クラスは’agent‘、サブスクリプションは’System‘である必要があります。

次に、以下のsensuctlコマンドユーティリティを実行して、Sensuサーバーにアセットを追加します。SensuのアセットはSensuアセットハブhttps://bonsai.sensu.ioから取得できます。

sensuctl asset add sensu/check-cpu-usage  
sensuctl asset add sensu/check-memory-usage  
sensuctl asset add sensu/check-disk-usage

次のような出力が得られます。

ランタイムアセット’sensu/check-cpu-usage‘を追加しています。

アセットチェックCPU

ランタイムアセット’sensu/check-memory-usage‘を追加しています。

アセットチェックメモリ

ランタイムアセット’sensu/check-disk-usage‘を追加しています。

ダウンロードチェックディスク

次に、以下のsensuctlコマンドを使用してSensuサーバー上のアセットのリストを確認します。これらのランタイムアセットがSensuサーバーに追加されているはずです。

sensuctl asset list

アセットのリスト

Sensuアセットが追加されたので、次に追加したアセットに基づいてチェックを作成します。

以下のコマンドを実行して、サブスクリプションを’system‘、ランタイムアセットを’sensu/check-cpu-usage‘としてチェック‘check_cpu’を作成します。’command’オプションの設定を調整できます。

sensuctl check create check_cpu \  
--command 'check-cpu-usage -w 75 -c 90' \  
--interval 60 \  
--subscriptions system \  
--runtime-assets sensu/check-cpu-usage

チェックCPUの作成

以下のコマンドを実行して、サブスクリプションを’system’、ランタイムアセットを’sensu/check-memory-usage‘としてチェック’check_mem‘を作成します。’command’オプションの設定を調整できます。

sensuctl check create check_mem \  
--command 'check-memory-usage -w 80 -c 90' \  
--interval 60 \  
--subscriptions system \  
--runtime-assets sensu/check-memory-usage

チェックメモリ

以下のコマンドを実行して、サブスクリプションを’system‘、ランタイムアセットを’sensu/check-disk-usage‘としてチェック‘check_disk’‘を作成します。’command’オプションの設定を調整できます。

sensuctl check create check_disk \  
--command 'check-disk-usage --include-fs-type "xfs,ext4" --exclude-fs-path "/boot" --warning 90 --critical 95' \  
--interval 60 \  
--subscriptions system \  
--runtime-assets sensu/check-disk-usage

次に、以下の’sensuctl’コマンドユーティリティを使用してSensuサーバー上のチェックのリストを確認します。作成したチェックcheck_cpucheck_memcheck_diskの3つが表示されるはずです。

sensuctl check list

次に、Webブラウザに戻り、Sensu管理ダッシュボードにアクセスします。’default‘名前空間にいることを確認し、’Entities‘をクリックします。

ターゲットマシン’machine1‘が追加され、ステータスがOKであることが表示されるはずです。

ステータスエンティティ

machine1‘をクリックして監視の詳細を取得します。作成したすべてのチェックが実行されているページが表示されるはずです。

監視の詳細

これで、Sensuサーバーでのシステム監視のためのアセットとチェックを作成および構成しました。

結論

これで、Ubuntu 22.04サーバーにSensu監視ソリューションをインストールしました。また、Sensuバックエンドを管理するためのSensuctlコマンドの基本的な使用法も学びました。さらに、Sensuエージェントを介してLinuxホストマシンを監視し、ターゲットサーバーの監視のために「アセット」と「チェック」を設定しました。

Share: X/Twitter LinkedIn

新しい投稿を受信箱で受け取る

スパムはありません。いつでも購読を解除できます。