監視ソリューション · 2 min read · Oct 26, 2025

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

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

このチュートリアルでは、Debian 11サーバーにSensu監視ソフトウェアをインストールする方法を学びます。また、Sensuを管理するためのSensu CLIの設定方法も学びます。最後に、Sensuエージェントを通じてSensuでサーバー監視を設定する方法を学びます。

前提条件

このSensuデプロイメントには、以下の要件が必要です:

  • 4 GBのRAMと2つのCPUを持つDebian 11サーバー。この要件は、インフラストラクチャ環境に非常に依存します。
  • sudo/管理者権限を持つ非ルートユーザー。
  • 監視対象として使用されるLinuxマシン。

Sensuリポジトリの追加

Sensuのインストールを開始するには、Sensuパッケージリポジトリをすべてのシステム(Sensuバックエンドおよびターゲットサーバー)に追加する必要があります。

Sensuリポジトリはpackagecloud.ioで利用可能で、手動またはpackagecloud.ioが提供するbashスクリプトを介してシステムに追加できます。

Sensuリポジトリを追加する前に、以下のaptコマンドを実行して基本的なパッケージ依存関係をインストールします。インストールを確認するように求められたら、Yを押してEnterを押します。

sudo apt install debian-archive-keyring curl gnupg apt-transport-https

次に、以下のコマンドを実行してSensuリポジトリを追加します。このbashスクリプトは、SensuリポジトリとGPGキーをDebianサーバーに自動的に追加します。

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

リポジトリを追加

Sensuリポジトリを手動で追加したい場合は、以下の手順に従ってください:

GPGキーを保存するためのキーチェーンディレクトリを作成します。

mkdir -p /etc/apt/keyrings/  
curl -fsSL https://packagecloud.io/sensu/stable/gpgkey | gpg --dearmor > /etc/apt/keyrings/sensu_stable-archive-keyring.gpg

以下のコマンドを使用してSensuリポジトリを追加します。このリポジトリはDebian 11 Bullseyeおよび最新の安定版Sensu用です。

cat <

sensuリポジトリを追加

次に、以下のaptコマンドを使用してDebianパッケージインデックスを更新およびリフレッシュできます。

sudo apt update

リポジトリを更新

Sensuバックエンドのインストール

Sensu監視ソリューションの主要な部分は「Sensuバックエンド」であり、管理者が「sensuctl」コマンドラインを介して使用できるHTTP APIを提供します。WebSocket APIは「Sensuエージェント」によって監視に使用され、Sensuを管理するためのWeb UIダッシュボードも提供します。

また、Sensuはデータを保存するために「etcd」を使用します。特に大規模なSensuクラスターのデプロイメントで使用されます。

Sensuバックエンドをインストールするには、以下のaptコマンドを実行します。インストールが自動的に開始されます。

sudo apt install sensu-go-backend

sensuバックエンドをインストール

インストールが完了したら、サンプルのSensuバックエンド構成を「/etc/sensu/backend.yml」にダウンロードします。その後、以下のコマンドを使用して「/etc/sensu/backend.yml」ファイルを編集します。

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"

完了したら、ファイルを保存して閉じます。

次に、以下のsystemctlコマンドを実行してSensuバックエンドサービスを開始し、有効にします。Sensuバックエンドサービスは、システム起動時に自動的に実行されます。

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

sensuバックエンドを構成

以下のコマンドを使用してSensuバックエンドサービスを確認および検証します。Sensuバックエンドサービスが現在実行中で有効になっていることがわかります。

sudo systemctl status sensu-backend

sensuバックエンドサービスを確認

Sensuバックエンドが実行されていると、Sensuバックエンドのインストールと構成を初期化します。これは、Sensuバックエンドパッケージによって提供される「sensu-backend init」コマンドを使用して行うことができます。

また、Sensuバックエンドの初期化中に、Sensu監視ソリューションの管理ユーザーとパスワードを設定します。

以下のコマンドを実行して、Sensu管理ユーザーとパスワードの新しいシステム環境変数を作成します。この例では、新しいSensu管理ユーザー「adminsensu」をパスワード「SensuRocks」で作成します。

export SENSU_BACKEND_CLUSTER_ADMIN_USERNAME=adminsensu  
export SENSU_BACKEND_CLUSTER_ADMIN_PASSWORD=SensuRocks

以下のコマンドを使用してSensuバックエンドの初期化を開始します。初期化プロセスが表示され、Sensuは「etcd」データストア内にデータを保存します。

sensu-backend init

sensuバックエンドを初期化

Sensuバックエンドのインストールを確認および検証するために、デフォルトポート「8080」で実行されているSensu HTTP APIに対してcurlコマンドを使用してSensuのヘルスチェックを行います。

以下のcurlコマンドを実行してSensuバックエンドのヘルスチェックを行います。ターミナル画面に「health: OK」という出力メッセージが表示されるはずです。

curl http://127.0.0.1:8080/health

また、TCPポート「3000」を介してSensu Web UIダッシュボードにアクセスすることもできます。Webブラウザを開き、サーバーのIPアドレスにポート3000を続けて訪問します(例:http://192.168.5.100:3000)。そして、Sensuのログインページが表示されるはずです。

管理ユーザー「adminsensu」とパスワード「SensuRocks」を入力します。次に、「SIGN-IN」をクリックしてSensu Web UIダッシュボードにログインします。

sensuログインページ

これで、Sensu Web管理ダッシュボードが表示されるはずです。

sensuウェブUI

Sensuctlコマンドラインのインストール

Sensuでは、管理者はSensu Web UI管理ダッシュボードおよびコマンドライン端末を介して「sensuctl」を使用してSensu監視ソリューションを管理できます。

sensuctl」は、Sensuリソースを管理するためのコマンドラインツールです。Sensuバックエンドと通信するためにHTTP APIを使用し、リソース、イベント、およびエンティティを作成、読み取り、削除することができます。

sensuctl」は、Linux、Windows、macOSなどの複数のオペレーティングシステムにインストールできます。「sensuctl」の機能はSensu Web UIダッシュボードと似ており、ローカルワークステーションまたはインフラストラクチャの安全な「バスティオン」サーバーにインストールできます。

Debian/Ubuntuベースのシステムの場合、以下のaptコマンドを実行して「sensuctl」コマンドラインツールをインストールします。インストールが自動的に開始されます。

sudo apt install sensu-go-cli

sensu cliをインストール

インストールが完了したら、以下の「sensuctl」コマンドを実行してSensuバックエンドサーバーのAPIに接続して構成を開始します。

sensuctl configure

以下の構成が表示されます:

  • 認証方法として「ユーザー名/パスワード」を選択します。
  • サーバーのSensuバックエンドAPI URLを入力します。この例では、「sensuctl」を同じサーバーに設定するので、ホストはlocalhostまたは「127.0.0.1」になります。Sensu HTTP APIのデフォルトポートは「8080」です - http://127.0.0.1:8080。
  • 名前空間の構成として「default」を選択します。
  • 出力形式として「タブ形式」スタイルまたは「yaml」出力形式を選択できます。
  • 最後に、Sensuバックエンドの管理ユーザーとパスワードを入力します。

これで「sensuctl」の基本構成が完了し、SensuバックエンドAPIサーバーに接続されました。

sensuctlを構成

以下の「sensuctl」コマンドを実行して構成を確認します。「sensuctl」の詳細なAPI構成が表示されるはずです。

sensuctl config view

sensuctl構成ビュー

さらに、「sensuctl」はシェルの自動補完も提供します。bashを使用している場合は、「bash-completion」パッケージをインストールし、「~/.bashrc」構成ファイルにいくつかの構成を追加する必要があります。

以下のaptコマンドを実行して「bash-completion」パッケージをインストールします。

sudo apt install bash-completion

次に、以下のコマンドを使用して「~/.bashrc」構成を編集します。

sudo nano ~/.bashrc

以下の構成をファイルに追加します。

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)

完了したら、ファイルを保存して閉じます。

次に、以下のコマンドを使用してシェルの現在のセッションを再読み込みします。

source ~/.bashrc

最後に、「sensuctl」コマンドを入力し、TABボタンを押してすべての利用可能なコマンドオプションを取得します。「sensuctl」コマンドのすべての利用可能なオプションが表示されるはずです。

sensuctl TAB

sensuctl自動補完

Sensuエージェントのインストール

Sensuを使用してホストまたはマシンを監視するには、すべてのホストにSensuエージェントパッケージをインストールする必要があります。Sensuエージェントは、ほぼすべてのLinuxディストリビューションおよびWindowsで利用可能です。

LinuxシステムにSensuエージェントをインストールするには、Sensuリポジトリが追加されていることを確認します。

Debian/Ubuntuベースのシステムの場合、以下のaptコマンドを実行してSensuエージェントパッケージをインストールします。インストールが開始されます。

sudo apt install sensu-go-agent

インストールが完了したら、Sensuエージェント構成を「/etc/sensu/agent.yml」にダウンロードします。その後、以下のコマンドを使用して構成「/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」をシステムのホスト名に変更し、「backend-url」をSensuバックエンドサーバーのIPアドレスに変更してください。

この例では、ホスト名「linux-host1」を持つDebianマシンを追加し、「default」名前空間で利用可能にします。ここでのSensuバックエンドサーバーは「192.168.5.100」で、SensuバックエンドのデフォルトWebSocket APIポートは「8081」です。

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

完了したら、ファイルを保存して閉じます。

次に、以下のコマンドを実行してSensuエージェントサービスを開始し、システム起動時に自動的に実行されるように有効にします。

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

sensuエージェントを構成

次に、以下のコマンドを実行してSensuエージェントサービスを確認および検証します。Sensuエージェントが実行中で有効になっていることがわかります。

sudo systemctl status sensu-agent

sensuエージェントを確認

次に、Webブラウザに戻り、名前空間「default」を選択します。そして、新しいエンティティホスト「linux-host1」が利用可能であることがわかります。

また、以下のように「sensuctl」コマンドを使用してターミナルコマンドラインから確認することもできます。「linux-host1」エージェントがSensu監視ソリューションに追加されていることがわかります。

sensuctl entity list --format tabular

チェックでサーバーリソースを監視

Sensuエージェントは、エージェントノードまたはターゲットサーバーをSensuバックエンドにWebSocket APIを介して提供する方法を提供します。CPU使用率、帯域幅使用率、ディスク使用率などのサーバーリソースを監視するには、「サブスクリプション」を設定し、その上にいくつかの「チェック」を作成する必要があります。次に、複数の「サブスクリプション」をSensuエージェントまたはターゲットサーバーに追加できます。

Sensuを使用してサーバーリソースを監視するには、以下の手順を実行する必要があります:

  • サブスクリプションを作成
  • Sensuランタイムアセットを登録
  • システムリソースをチェックするためのチェックコマンドを定義

さらに進む前に、以下の「sensuctl」コマンドを実行して「linux-host1」エンティティに「system」という新しいサブスクリプションを作成します。

sensuctl entity update linux-host1

以下の質問が表示されます:

  • 「エンティティクラス」については、デフォルトの「agent」のままにしてENTERを押します。
  • 「サブスクリプション」については、サブスクリプションの名前「system」を入力してENTERを押します。

Sensuでは、「チェック」は基本的にサーバーリソースを監視するために使用できるコマンドを定義します。「チェック」は、すべての監視ニーズのためにSensuの「アセット」と「サブスクリプション」の上に定義できるコマンドラインです。「チェック」を作成するには、sensuctlコマンドを介して動的ランタイムアセットを設定します。すべてのSensu「アセット」はhttps://bonsai.sensu.io/で見つけることができます。

次に、以下の「sensuctl」コマンドを実行してCPU使用率を監視するためにSensu「アセット」を作成および登録します。「added asset: sensu/check-cpu-usage:0.2.2」のような出力メッセージが表示されるはずです。この例では、アセットのデフォルト名を「check-cpu-usage」に変更します。

sensuctl asset add sensu/check-cpu-usage:0.2.2 -r check-cpu-usage

アセットを追加

次に、以下のコマンドを実行してSensuアセットのリストを確認します。「check-cpu-usage」アセットがSensuに利用可能であることがわかります。

sensuctl asset list

sensuアセットリスト

次に、CPU使用率を監視するための「チェック」コマンドを作成するためのコマンドを実行します。この例では、「check_cpu」という新しいチェックコマンドを作成します。これは「system」サブスクリプションで利用可能で、「check-cpu-usage」アセットに基づいています。ここで「–command」オプションのパラメータを変更することもできます。「Created」という出力メッセージが表示されるはずです。

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

以下の「sensuctl」コマンドを実行して「check_cpu」を確認および検証します。作成した「check_cpu」の「チェック」の詳細が表示されるはずです。

sensuctl check info check_cpu --format yaml

sensuctlチェック情報

次に、以下のコマンドを使用して「check_cpu」イベント監視を確認できます。「linux-host1」のCPU使用率監視が構成され、完了していることがわかります。

sensuctl event list --format tabular

sensuctlチェックイベントリスト

次に、Sensu管理ダッシュボードに移動し、「default」名前空間を選択します。「エンティティ」メニューで、「linux-host1」エージェントがSensu監視システムに追加されていることがわかります。

sensuチェックエンティティ

linux-host1」エージェントの詳細をクリックすると、作成した「チェック」監視「check_cpu」が表示されます。

sensu監視

次に、監視システムのためにさらに多くの「チェック」を追加および作成できます。

結論

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

Share: X/Twitter LinkedIn

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

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