監視ソリューション · 4 min read · Nov 06, 2025
Rocky Linux 9にSensu監視ソリューションをインストールする方法

Sensuは、コンテナおよび非コンテナの監視とマルチクラウドインフラストラクチャのために設計されたオープンソースのインフラストラクチャおよびアプリケーション監視システムです。
Sensuは、技術およびサーバーインフラストラクチャのためのスケーラブルで安全な統合監視ソリューションです。サーバー、アプリケーションの健康、サービスを監視し、サードパーティとの統合を通じて複数のターゲットにアラート通知を送信するために使用できます。
このチュートリアルでは、Rocky Linux 9サーバーにSensu監視ソリューションをインストールします。それに加えて、コマンドラインターミナルを介してSensuを管理できるSensuctlもインストールして設定します。
このチュートリアルの最後までに、RHELベースのディストリビューションとDebianベースのディストリビューションにSensuエージェントをインストールします。その後、Sensuエージェントを介してサーバーを監視するためのチェックを設定します。
前提条件
このチュートリアルに従うには、以下の要件が必要です:
- Rocky Linux 9を搭載したLinuxサーバー。
- sudo/root管理者権限を持つ非rootユーザー。
- SELinuxが許可モードで実行されていること。
ターゲット監視サーバーについては、この例ではRocky LinuxとDebianサーバーを使用します。以下は、デモに使用されるサーバーの詳細です:
Host IP Address Used as
-----------------------------------------------
sensu-rock 192.168.5.45 Sensu Go Backend
RPM-OS 192.168.5.80 Sensu Go Agent
DEB-OS 192.168.5.85 Sensu Go Agentそれでは、Sensuのインストールを開始する準備が整いました。
リポジトリの設定
最初に行うことは、CRB(Code Ready Builder)リポジトリを有効にし、EPEL(Extra Package for Enterprise Linux)リポジトリを追加し、次にpackagecloud.ioを介してSensuリポジトリを追加することです。
Rocky Linux 9では、crbリポジトリはCentOSで利用可能なPowerToolsに相当します。以下のdnfコマンドを実行して、crbリポジトリを有効にし、EPELリポジトリをインストールします。
sudo dnf config-manager --set-enabled crb
sudo dnf install epel-release
crbが有効になり、EPELリポジトリがインストールされたら、次のコマンドを実行してSensuリポジトリをRocky Linuxサーバーに追加します。これにより、システムにSensuリポジトリが自動的に設定され、安定したブランチからSensuリポジトリを使用することになります。
curl -s https://packagecloud.io/install/repositories/sensu/stable/script.rpm.sh | sudo bashdnfコマンドを入力して、システム上の有効なリポジトリのリストを確認します。crb、epel、およびsensu_stableリポジトリがRocky Linuxシステムに追加されたという出力が得られるはずです。
sudo dnf repolist
必要なリポジトリを追加したので、Sensuのインストールを開始する準備が整いました。
Sensu Go Backendのインストール
Sensuは、従来のサーバー、コンテナ、アプリケーション、またはクラウドアプリケーションを監視するために使用できるスケールでの監視のための完全なソリューションです。Sensuをインストールする前に、Sensuには3つのコンポーネントがあることを知っておく必要があります。以下はそのリストです:
- Sensu Backend - Sensuの主要コンポーネントで、埋め込みトランスポートとetcdデータストアによって動作します。Sensu Backendは、Sensuエージェントと通信するために使用されるWebSocket、sensuctlと通信するために使用されるHTTP APIを公開します。また、ブラウザからアクセスできるWeb UIダッシュボードを提供します。
- Sensu Agent - これは、ターゲットサーバーにインストールされ、実行される軽量クライアントです。エージェントは、ターゲットサーバーのステータスとメトリックを生成し、結果をWebSocketを介してSensu Backendに送信します。
- Sensu Workstation - これは、Sensuctlをインストールできるローカルコンピュータであり、ブラウザからSensuダッシュボードにアクセスできます。
このセクションでは、Rocky LinuxサーバーにSensu Backendをインストールして構成します。
以下のdnfコマンドを入力して、’ sensu-go-backend ‘パッケージをシステムにインストールします。プロンプトが表示されたら、yを入力して確認し、ENTERを押して続行します。
sudo dnf install sensu-go-backend
Sensu Backendがインストールされたら、curlを使用してSensu Backendのサンプル構成を’ /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"完了したら、‘/etc/sensu/backend.yml’ファイルを保存して閉じます。
次に、以下のsystemctlコマンドユーティリティを実行して、’ sensu-backend ‘サービスを開始および有効にします。これにより、Sensu Backendが実行され、システム起動時に自動的に開始されます。
sudo systemctl start sensu-backend
sudo systemctl enable sensu-backend
以下のsystemctlコマンドを実行して、’sensu-backend’サービスを確認し、サービスが実行中で有効であることを確認します。
sudo systemctl is-enabled sensu-backend
sudo systemctl status sensu-backend出力の’ enabled ‘は、Sensu Backendがシステム起動時に自動的に開始されることを確認します。また、出力の’ active (running) ‘は、Sensu Backendが現在実行中であることを確認します。

Sensu Backendをインストールし、実行中で有効になったので、次にSensu管理者ユーザーを初期化し、インストールを確認します。
Sensu Go Backendの構成
このセクションでは、Sensu Backendの管理者ユーザー名とパスワードを初期化し、curlおよびWebブラウザを介してインストールを確認し、firewalldを介していくつかのポートを開きます。
以下のコマンドを実行して、環境変数’ SENSU_BACKEND_CLUSTER_ADMIN_USERNAME ‘と’ SENSU_BACKEND_CLUSTER_ADMIN_PASSWORD ‘を設定します。値を自分のユーザー名とパスワードに変更してください。
export SENSU_BACKEND_CLUSTER_ADMIN_USERNAME=adminsensu
export SENSU_BACKEND_CLUSTER_ADMIN_PASSWORD=SensuRocks次に、以下の’ sensu-backend init ‘コマンドを実行して、Sensuインストールを初期化します。これにより、Sensuバックエンド管理者ユーザーが作成されます。
sensu-backend init
次に、以下のコマンドを実行して、出力をjsonに解析するための’jq’パッケージをインストールします。その後、curlコマンドを実行してSensu Backendのステータスを確認します。SensuバックエンドのHTTP APIはデフォルトポート8080で実行されています。
sudo dnf install jq
curl -s http://127.0.0.1:8080/health | jq .出力の’Healthy: true’は、Sensu Backendがエラーなく実行されていることを確認します。

Sensuダッシュボードにアクセスする前に、firewalldでポートを開く必要があります。
以下のfirewall-cmdコマンドを入力して、Sensu Backendのためのいくつかのポートを開きます。その後、firewalldを再読み込みして変更を適用します。
sudo firewall-cmd --add-port={2379/tcp,2380/tcp,3000/tcp,6060/tcp,8080/tcp,8081/tcp} --permanent
sudo firewall-cmd --reload以下のコマンドを介してfirewalldで開いているポートのリストを確認します。
sudo firewall-cmd --list-all
今、ウェブブラウザを開いて、サーバーのIPアドレスにポート3000を追加して訪問します(例:http://192.168.5.45:3000/)。Sensuバックエンドのログインページが表示されるはずです。
ユーザー名とパスワードでログインし、次に’ SIGN-IN ‘をクリックします。

成功すると、Sensu管理ダッシュボードが表示されます。

これで、Sensu Backendをインストールし、管理者ユーザーとパスワードを構成し、ブラウザからSensuダッシュボードに正常にログインしました。次のステップでは、Sensuctlをインストールし、Sensuctlを介してSensu Backendに接続します。
Sensuctlコマンドラインのインストール
以下のdnfコマンドを実行して、Sensuctlコマンドをインストールします。プロンプトが表示されたら、yを入力して確認し、ENTERを押して続行します。
sudo dnf install sensu-go-cliSensuctlがインストールされたら、以下のコマンドを実行してSensuctlのバイナリパスとバージョンを確認します。
which sensuctl
sensuctl --versionSensuctlのバイナリパスは‘/bin/sensuctl’にあり、インストールされたバージョンはv6.9.1です。
次に、以下の’ sensuctl ‘コマンドを実行して、Sensu Backendサーバーへの接続を構成します。
sensuctl configureいくつかの構成について尋ねられます:
- 認証方法?ユーザー名/パスワード
- Sensu Backend API URL?Sensu APIはデフォルトでhttp://127.0.0.1:8080で実行されています。
- 名前空間?デフォルト
- 優先出力形式?希望の出力形式を選択します - この例ではjsonです。
- ユーザー名?sensuの管理ユーザー
- パスワード?sensu管理ユーザーのパスワード

完了したら、以下のコマンドを実行して接続の詳細を確認します。
sensuctl config view出力は次のようになります - Sensuctlはデフォルトで‘http://127.0.0.1:8080 ‘で実行されているSensu Backendに接続されています。

Sensuctlを構成した後、次にSensuctlコマンドラインの自動補完を有効にします。
以下のdnfコマンドを実行して、’ bash-completion ‘パッケージをインストールします。
sudo dnf install bash-completion -y‘bash-completion’がインストールされたら、以下のnanoエディタコマンドを使用して‘~/.bashrc ‘ファイルを開きます。
sudo nano ~/.bashrc以下の行をファイルに追加します。これにより、rootユーザーのための’ bash-completion ‘が有効になります。
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 ‘ファイルを再読み込みします。
source ~/.bashrc‘sensuctl’コマンドを入力し、TABを押すことで自動補完を確認します。
sensuctl TAB成功すると、’ sensuctl ‘コマンドで利用可能なオプションのリストが表示されるはずです。

これで、Sensuctlをインストールし、Sensuctlを介してSensu Backendサーバーに接続し、自動補完を構成しました。次に、Rocky LinuxおよびDebianサーバーにSensuエージェントを設定します。
Sensuエージェントのインストール
このセクションでは、2つの異なるノードにSensuエージェントをインストールして設定します。RHELベースのディストリビューションとDebianベースのディストリビューションにSensuエージェントをインストールします。その後、WebSocketを介してインストールしたSensu Backendサーバーに接続するようにSensuエージェントを設定します。
それでは、始めましょう。
RHELベースのディストリビューションのSensuエージェント
この例では、RHELまたはCentOS 9に基づくRocky Linux 9マシンを使用します。Sensuエージェントをインストールするには、Sensuリポジトリを追加し、firewalldでいくつかのポートを開く必要があります。
以下のfirewall-cmdコマンドを実行して、いくつかのポートを開きます。その後、firewalldを再読み込みして変更を適用します。
sudo firewall-cmd --add-port={3030/tcp,3030/udp,3031/tcp,8125/udp} --permanent
sudo firewall-cmd --reload以下のコマンドを介してfirewalldで有効なポートのリストを確認します。
sudo firewall-cmd --list-allこのような出力が得られるはずです:

次に、以下のdnfコマンドを入力してcrbリポジトリを有効にし、EPELリポジトリをインストールします。
sudo dnf config-manager --set-enabled crb
sudo dnf install epel-release次に、以下のコマンドを入力してSensuリポジトリを追加します。これにより、リポジトリ構成を自動化するbashインストーラースクリプトがダウンロードされ、実行されます。
curl -s https://packagecloud.io/install/repositories/sensu/stable/script.rpm.sh | sudo bash出力:

Sensuリポジトリが追加されたら、以下のdnfコマンドを実行して’sensu-go-agent’パッケージをシステムにインストールします。プロンプトが表示されたら、yを入力して確認し、ENTERを押して続行します。
sudo dnf install sensu-go-agent出力:

次に、以下のコマンドを実行して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 ‘をシステムのホスト名に、’ backend-url ‘をSensu BackendサーバーのWebSocket IPアドレスに変更してください。
この例では、システムのホスト名は’ RPM-OS ‘で、Sensu BackendサーバーのIPアドレスは’ 192.168.5.45 ‘です。
name: "RPM-OS"
namespace: "default"
...
backend-url:
- "ws://192.168.5.45:8081"
cache-dir: "/var/cache/sensu/sensu-agent"
config-file: "/etc/sensu/agent.yml"ファイル’ /etc/sensu/agent.yml ‘を保存し、完了したらエディタを終了します。

次に、以下のsystemctlコマンドを実行して、’ sensu-agent’サービスを開始および有効にします。
sudo systemctl start sensu-agent
sudo systemctl enable sensu-agent出力の’ Create symlink … => … ‘は、Sensuエージェントが有効になったことを確認します。

次に、以下のsystemctlコマンドを実行して、’ sensu-agent ‘サービスを確認し、サービスが実行中で有効であることを確認します。
sudo systemctl is-enabled sensu-agent
sudo systemctl status sensu-agent出力の’ enabled ‘は、Sensuエージェントが有効であり、システム起動時に自動的に開始されることを確認します。また、Sensuエージェントのステータスは‘active (running) ‘です。

‘ RPM-OS ‘マシンでSensuエージェントが実行されているので、エージェントはポート8081でWebSocketを介してSensu Backendに接続されます。
DebianベースのディストリビューションのSensuエージェント
次に、DebianベースのディストリビューションにSensuエージェントをインストールし、UFWファイアウォールを設定し、SensuエージェントをSensu Backendサーバーに接続するように構成します。
最初に、システムでいくつかのポートを開く必要があります。Debianベースのディストリビューションでは、ufwを使用してファイアウォールを設定できます。
以下のaptコマンドを実行して、ufwファイアウォールをインストールします。
sudo apt install ufw -y
インストールが完了したら、以下のufwコマンドを実行してOpenSSHサービスとSensuエージェントで使用されるいくつかのポートを追加します。
sudo ufw allow OpenSSH
sudo ufw allow 3030/tcp
sudo ufw allow 3030/udp
sudo ufw allow 3031/tcp
sudo ufw allow 8125/udp出力の’ Rules updated ‘は、新しいルールがファイアウォールに追加されたことを確認します。
次に、以下のコマンドを実行してufwファイアウォールを開始し、有効にします。プロンプトが表示されたら、yを入力して確認し、ENTERを押して続行します。
sudo ufw enable
以下のコマンドを入力して、ufwで有効なポートとアプリケーションのリストを確認します。
sudo ufw statusこのような出力が得られるはずです:

これで、Sensuエージェントパッケージをインストールする準備が整いました。
以下のaptコマンドを実行して、システムに基本的な依存関係をインストールします。yを入力して確認し、ENTERを押してインストールを続行します。
sudo apt install debian-archive-keyring curl gnupg apt-transport-https
次に、以下のコマンドを入力してDebianベースのディストリビューション用のSensuリポジトリを追加します。これにより、リポジトリ構成を自動化するbashインストーラースクリプトがダウンロードされ、実行されます。
curl -s https://packagecloud.io/install/repositories/sensu/stable/script.deb.sh | sudo bash
リポジトリが追加されたら、以下の’apt install’コマンドを使用して’sensu-go-agent’をインストールします。プロンプトが表示されたら、yを入力してENTERを押します。
sudo apt install sensu-go-agent
次に、以下のコマンドを実行して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 ‘をシステムのホスト名に、’ backend-url ‘をSensu BackendサーバーのWebSocket IPアドレスに変更してください。
この例では、システムのホスト名は’ DEB-OS ‘で、Sensu BackendサーバーのIPアドレスは’ 192.168.5.45 ‘です。
name: "DEB-OS"
namespace: "default"
...
backend-url:
- "ws://192.168.5.45:8081"
cache-dir: "/var/cache/sensu/sensu-agent"
config-file: "/etc/sensu/agent.yml"ファイル‘/etc/sensu/agent.yml ‘を保存し、完了したらエディタを終了します。

次に、以下のsystemctlコマンドを実行して、’sensu-agent’サービスを開始および有効にします。
sudo systemctl start sensu-agent
sudo systemctl enable sensu-agent出力の’ Create symlink … => … ‘は、Sensuエージェントが有効になったことを確認します。

次に、以下のsystemctlコマンドを実行して、’ sensu-agent ‘サービスを確認し、サービスが実行中で有効であることを確認します。
sudo systemctl is-enabled sensu-agent
sudo systemctl status sensu-agent出力の’ enabled ‘は、Sensuエージェントが有効であり、システム起動時に自動的に開始されることを確認します。また、Sensuエージェントのステータスは’ active (running) ‘です。

‘ DEB-OS ‘マシンでSensuエージェントが実行されているので、エージェントはポート8081でWebSocketを介してSensu Backendに接続されます。
Sensu Go BackendおよびSensuctlを介してエージェントを確認
この時点で、’ RPM-OS ‘と’ DEB-OS ‘の2つのサーバーがSensuエージェントを介してSensu監視ソリューションに追加されました。このセクションでは、SensuバックエンドダッシュボードとターミナルからのSensuctlコマンドの両方から両方のサーバーを確認します。
Sensuダッシュボードに戻ると、Sensuで利用可能な3つのエンティティが表示されるはずです。

‘ default ‘名前空間をクリックすると、’ RPM-OS ‘と’ DEB-OS ‘がSensuに追加されているのが見えるはずです。

次に、Sensu Backendターミナルサーバーに戻り、以下のsensuctlコマンドを実行してSensuで利用可能なエンティティのリストを確認します。
sensuctl entity list --format tabular‘ RPM-OS ‘と’ DEB-OS ‘の2つのエンティティが追加され、Sensuで利用可能であることが確認できるはずです。

システム監視のためのチェックの作成
Sensuでは、チェックは監視したい項目を定義する場所です。チェックの例には、CPU使用率、メモリ使用率、ディスク使用率などがあります。チェックは、共有可能で再利用可能な動的ランタイムであるアセットの一部です。
このセクションでは、CPU使用率、メモリ使用率、ディスク使用率を監視するための新しいチェックを作成します。これらのチェックは、’ RPM-OS ‘と’ DEB-OS ‘サーバーを監視するために使用されます。
Sensuでチェックを作成するプロセスは、Sensuアセットを追加し、必要に応じてチェックを定義することです。これらのプロセスはすべて、Sensuctlコマンドを介して実行できます。
以下のコマンドを実行して、CPU使用率をチェックするためのアセットを追加します。
sensuctl asset add sensu/check-cpu-usage
次に、以下のコマンドを実行して、’ check_cpu ‘というチェックを作成します。サブスクリプションは’ system ‘で、ランタイムアセットは’ sensu/check-cpu-usage ‘を使用します。’ command ‘オプションの設定を調整できます。
sensuctl check create check_cpu \
--command 'check-cpu-usage -w 75 -c 90' \
--interval 60 \
--subscriptions system \
--runtime-assets sensu/check-cpu-usage
次に、以下のコマンドを実行してメモリ使用率をチェックするための新しいアセットを追加します。
sensuctl asset add sensu/check-memory-usage
以下のコマンドを実行して、’ check_mem ‘というチェックを作成します。サブスクリプションは’ system ‘で、ランタイムアセットは’ sensu/check-memory-usage ‘を使用します。’ command ‘オプションの設定を調整できます。
sensuctl check create check_mem \
--command 'check-memory-usage -w 80 -c 90' \
--interval 60 \
--subscriptions system \
--runtime-assets sensu/check-memory-usage
以下のコマンドを実行して、ディスク使用率をチェックするための新しいアセットを追加します。
sensuctl asset add sensu/check-disk-usage
次に、以下のコマンドを使用してディスク使用率をチェックするための新しいチェックを作成します。これにより、’ check_disk ‘というチェックが作成され、サブスクリプションは’ system ‘で、ランタイムアセットは’ sensu/check-disk-usage ‘を使用します。’ 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最後に、以下のコマンドを実行して、Sensu Backendで利用可能なアセットのリストを確認します。複数のシステムアーキテクチャに対してチェックを作成するために使用できる複数のアセットが表示されるはずです。
sensuctl asset list --format tabular
次に、以下のコマンドを入力して作成したチェックのリストを確認します。’ check_cpu ‘、’ check_mem ‘、’ check_disk ‘の3つのチェックが表示されるはずです。
sensuctl check list --format tabularエージェント/ホストを監視するためのシステムチェックの適用
Sensuにチェックを追加したので、次に’ RPM-OS ‘と’ DEB-OS ‘エンティティ/ホストにチェックを適用します。各エンティティを変更し、そのサブスクリプションを変更します。
すべてのチェック’ check_cpu ‘、’ check_mem ‘、’ check_disk ‘は、’ system ‘サブスクリプションに設定されています。
まず、以下のsensuctlコマンドを実行してエンティティのリストを確認します。’ RPM-OS ‘と’ DEB-OS ‘サーバーがリストに表示されるはずです。
sensuctl entity list --format tabular次に、以下のコマンドを実行して’ RPM-OS ‘と’ DEB-OS ‘エンティティを変更します。エンティティクラスは’ agent ‘で、サブスクリプション’ system ‘を追加します。出力の’ Updated ‘は、エンティティが変更されたことを確認します。
sensuctl entity update RPM-OS
sensuctl entity update DEB-OS出力:

Sensuダッシュボードに戻り、’default’名前空間を選択します。Entitiesメニューをクリックすると、’ DEB-OS ‘と’ RPM-OS ‘の両方に’ system ‘サブスクリプションが追加されているのが見えるはずです。
‘ DEB-OS ‘をクリックして監視の詳細を取得します。’ system ‘サブスクリプションのすべてのチェックが適用されているのが見えるはずです。
‘ RPM-OS ‘をクリックして詳細な監視を取得します。’ system ‘サブスクリプションのすべてのチェックが適用されているのが見えるはずです。
これで、両方のサーバー’RPM-OS’と’DEB-OS’にチェックを適用しました。
結論
このチュートリアルでは、Rocky Linux 9サーバーにSensu監視ソリューションをインストールしました。Sensu Backend管理者ユーザーをインストールおよび初期化し、Sensuバックエンドを管理するためのSensuctlコマンドラインをインストールおよび構成しました。
さらに、Sensuエージェントを介してSensuに2つのホスト(Rocky LinuxおよびDebianサーバー)を追加しました。また、監視システム用のアセットを追加し、Sensuチェックを作成し、ターゲットホスト監視にチェックを適用しました。
これを念頭に置いて、Sensuエージェントを介して新しいホストを追加できます。また、新しいチェックを定義および作成し、新しいSensuアセットを追加し、ホストやアプリケーションにチェックを適用できます。Sensuの公式ドキュメントからSensuについてさらに学ぶことができます。
新しい投稿を受信箱で受け取る
スパムはありません。いつでも購読を解除できます。