Ubuntu 20.04にSensu Monitoringをインストールする方法

Sensuは、インフラストラクチャとアプリケーションの状態を監視するために使用される無料のオープンソースツールです。 Rubyで記述されており、RabbitMQを使用してメッセージを処理し、Redisを使用してデータを格納します。 Ubuntu、Debian、RHEL、CentOS、IBM、AIX、FreeBSD、Mac OS、Solaris、Windowsなど、ほとんどのオペレーティングシステムにインストールできます。 Zabbix、Icinga、Nagiosなどの他の監視システムに取って代わる、最も人気のある次世代プラットフォームの1つです。 Sensuはクライアントサーバーモデルを使用しています。監視する各システムにsensuクライアントをインストールするだけで済みます。

このチュートリアルでは、Sensu監視サーバーをUbuntu 20.04サーバーにインストールする方法を示します。

前提条件

  • Ubuntu 20.04を実行しているサーバー。
  • rootパスワードがサーバーに構成されます。

入門

まず、システムを最新の安定バージョンに更新する必要があります。これを行うには、次のコマンドを使用してすべてのシステムパッケージを更新します。

apt-get update -y

システムが更新されたら、次のコマンドを使用して他の依存関係をインストールします。

apt-get install gnupg2 curl wget unzip -y

すべてのパッケージがインストールされたら、次のステップに進むことができます。

RedisとRabbitMQをインストールする

SensuはRabbitMQを使用してメッセージを処理し、Redisを使用してデータを格納します。したがって、両方のパッケージをシステムにインストールする必要があります。デフォルトでは、RabbitMQはUbuntu 20.04のデフォルトリポジトリでは使用できません。したがって、システムにRabbitMQリポジトリを追加する必要があります。

まず、次のコマンドでGPGキーをインポートします。

wget -O- https://packages.erlang-solutions.com/ubuntu/erlang_solutions.asc | apt-key add -

次に、次のコマンドを実行してリポジトリを追加します。

echo "deb http://binaries.erlang-solutions.com/debian $(lsb_release -cs) contrib" | tee /etc/apt/sources.list.d/erlang-solutions.list

次に、リポジトリを更新し、次のコマンドを使用してRabbitMQパッケージをインストールします。

apt-get update -y 
 apt-get install rabbitmq-server -y

インストールしたら、Sensu用のRabbitMQ vhostを作成する必要があります。次のコマンドで作成できます。

rabbitmqctl add_vhost /sensu

次の出力が表示されます。

Adding vhost "/sensu" ...

次に、次のコマンドで仮想ホストを管理するユーザーを作成します。

rabbitmqctl add_user sensu password

次の出力が表示されます。

Adding user "sensu" ...

次に、vhost / sensuに完全な権限を割り当てる必要があります。

rabbitmqctl set_permissions -p /sensu sensu ".*" ".*" ".*"

次の出力が表示されます。

 vhost "/ sensu"でユーザー "sensu"の権限を設定しています...

次に、次のコマンドを使用してRedisサーバーをインストールします。

apt-get install redis-server -y

インストールが完了したら、Redisサービスを開始し、システムの再起動時に次のコマンドで開始できるようにします。

systemctl start redis-server 
 systemctl enable redis-server

完了したら、次のステップに進むことができます。

Sensu Serverをインストールする

デフォルトでは、SensuはUbuntu公式リポジトリでは利用できません。したがって、システムにSensuリポジトリを追加する必要があります。

まず、次のコマンドでリポジトリGPGキーをインポートします。

wget -O- https://sensu.global.ssl.fastly.net/apt/pubkey.gpg | apt-key add -

次に、次のコマンドでリポジトリを追加します。

echo "deb https://sensu.global.ssl.fastly.net/apt bionic main" | tee /etc/apt/sources.list.d/sensu.list

リポジトリが追加されたら、リポジトリを更新し、次のコマンドでSensuをインストールします。

apt-get update -y 
 apt-get install sensu -y

Sensuがインストールされたら、次のステップに進むことができます。

Sensuを設定する

次に、RabbitMQ、Redis、およびApiの構成ファイルを作成する必要があります。まず、次のコマンドでapi.jsonファイルを作成します。

nano /etc/sensu/conf.d/api.json

次の行を追加します。 広告

{
  "api": {
    "host": "localhost",
    "bind": "0.0.0.0",
    "port": 4567
  }
}

ファイルを保存して閉じ、次のコマンドでredis.jsonファイルを作成します。

nano /etc/sensu/conf.d/redis.json

次の行を追加します。

{
  "redis": {
    "host": "127.0.0.1",
    "port": 6379
  }
}

ファイルを保存して閉じ、次のコマンドでRabbitMQ構成ファイルを作成します。

nano /etc/sensu/conf.d/rabbitmq.json

次の行を追加します。

{
  "rabbitmq": {
    "host": "127.0.0.1",
    "port": 5672,
    "vhost": "/sensu",
    "user": "sensu",
    "password": "password"
  }
}

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

Sensuダッシュボードのインストールと構成

次に、システムにUchiwaダッシュボードをインストールする必要があります。 Uchiwaは、Webインターフェイスを介してSensuを監視するためのオープンソースのダッシュボードです。

次のコマンドでUchiwaをインストールできます。

apt-get install uchiwa -y

Uchiwaをインストールしたら、次のコマンドを使用してUchiwaの構成ファイルを作成します。

nano /etc/sensu/uchiwa.json

次の行を追加します。

{
  "sensu": [
    {
      "name": "Sensu",
      "host": "127.0.0.1",
      "port": 4567,
      "timeout": 10
    }
  ],
  "uchiwa": {
    "host": "0.0.0.0",
    "port": 3000,
    "refresh": 10
  }
}

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

次に、Sensuサーバー自体を監視するclient.jsonファイルを作成する必要があります。次のコマンドで作成できます。

nano /etc/sensu/conf.d/client.json

次の行を追加します。

{
  "client": {
    "name": "sensu-server",
    "address": "127.0.0.1",
    "environment": "management",
    "subscriptions": [
      "dev",
      "ubuntu"
   ],
    "socket": {
      "bind": "127.0.0.1",
      "port": 3030
    }
  }
}

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

次に、次のコマンドでSensuサーバー、Api、Uchiwa、Sensuクライアントサービスを開始します。

systemctl start sensu-server 
 systemctl start sensu-api 
 systemctl start uchiwa 
 systemctl start sensu-client

すべてのサービスが開始されたら、次のコマンドですべてのサービスのステータスを確認できます。

systemctl status sensu-server sensu-api sensu-client uchiwa

次の出力が表示されます。

? sensu-server.service - sensu server
     Loaded: loaded (/lib/systemd/system/sensu-server.service; disabled; vendor preset: enabled)
     Active: active (running) since Sun 2020-08-23 09:04:43 UTC; 4min 18s ago
   Main PID: 10031 (sensu-server)
      Tasks: 24 (limit: 2353)
     Memory: 20.6M
     CGroup: /system.slice/sensu-server.service
             ??10031 /opt/sensu/embedded/bin/ruby /opt/sensu/bin/sensu-server -c /etc/sensu/config.json -d /etc/sensu/conf.d -e /etc/sensu/ext>

Aug 23 09:04:43 ubuntu2004 systemd[1]: Started sensu server.

? sensu-api.service - sensu api
     Loaded: loaded (/lib/systemd/system/sensu-api.service; enabled; vendor preset: enabled)
     Active: active (running) since Sun 2020-08-23 09:04:42 UTC; 4min 19s ago
   Main PID: 10023 (sensu-api)
      Tasks: 2 (limit: 2353)
     Memory: 18.9M
     CGroup: /system.slice/sensu-api.service
             ??10023 /opt/sensu/embedded/bin/ruby /opt/sensu/bin/sensu-api -c /etc/sensu/config.json -d /etc/sensu/conf.d -e /etc/sensu/extens>

Aug 23 09:04:42 ubuntu2004 systemd[1]: Started sensu api.

? sensu-client.service - sensu client
     Loaded: loaded (/lib/systemd/system/sensu-client.service; disabled; vendor preset: enabled)
     Active: active (running) since Sun 2020-08-23 09:04:42 UTC; 4min 18s ago
   Main PID: 10027 (sensu-client)
      Tasks: 2 (limit: 2353)
     Memory: 17.0M
     CGroup: /system.slice/sensu-client.service
             ??10027 /opt/sensu/embedded/bin/ruby /opt/sensu/bin/sensu-client -c /etc/sensu/config.json -d /etc/sensu/conf.d -e /etc/sensu/ext>

Aug 23 09:04:42 ubuntu2004 systemd[1]: sensu-client.service: Succeeded.
Aug 23 09:04:42 ubuntu2004 systemd[1]: Stopped sensu client.
Aug 23 09:04:42 ubuntu2004 systemd[1]: Started sensu client.

? uchiwa.service - LSB: Uchiwa, a Sensu dashboard.
     Loaded: loaded (/etc/init.d/uchiwa; generated)
     Active: active (exited) since Sun 2020-08-23 09:04:41 UTC; 4min 19s ago

完了したら、次のステップに進むことができます。

Sensuダッシュボードにアクセス

次に、Webブラウザーを開き、URL http:// your-server-ip:3000を入力します。次の画面にSensuダッシュボードが表示されます。

 

次に、左ペインのクライアントアイコンをクリックします 。次の画面にSensuクライアントのステータスが表示されます。

結論

おめでとう! Ubuntu 20.04サーバーにSensuとUchiwaを正常にインストールして構成しました。これで、クライアントを追加して、Uchiwaダッシュボードから監視を開始できます。ご不明な点がございましたら、お気軽にお問い合わせください。

Source