Sensuは、必要な監視システムを構成するための無料のオープンソースツールです。これは、RabbitMQを使用してメッセージを処理し、Redisを使用してデータを格納するRubyで記述されています。 Sensuは、インフラストラクチャとアプリケーションの状態を監視するためのフレームワークを提供します。 Sensuは、IBM AIX、Ubuntu、Debian、RedHat、CentOS、FreeBSD、Mac OS、Solaris、Windowsなどの多くのプラットフォームをサポートしています。 Sensuは、組織が独自のビジネス要件を満たす包括的な監視ソリューションを作成できるようにします。 Sensuには、Webサーバーとプロキシ、データベース、メッセージキュー、ログ集約、インデックス作成、検索、キャッシュ、ネットワークとシステムリソース、構成管理、検出など、ビジネスが依存するツールとサービスのネイティブインストルメンテーションを提供する何百ものプラグインが付属しています。 、汎用、シェフ、Clackなど。
このチュートリアルでは、Ubuntu 16.04にRedis、RabbitMQ、Sensuを段階的にインストールします。
- システムにインストールされているUbuntu16.04サーバー。
- システムにsudo権限が設定されているroot以外のユーザー。
- システムに静的IPアドレス192.168.0.227を設定します。
開始する前に、システムを最新の安定バージョンに更新することをお勧めします。次のコマンドを実行して、システムを更新できます。
sudo apt-get update -y
sudo apt-get upgrade -y
システムが更新されたら、次のコマンドを使用してシステムを再起動し、すべての更新を適用します。
sudo reboot
再起動後、sudoユーザーでシステムにログインし、次の手順に進みます。
RabbitMQのインストールと構成
開始する前に、RabbitMQはErlangで実行されるため、システムにErlangをインストールする必要があります。
まず、次のコマンドを使用して、ErlangリポジトリとErlang公開鍵を信頼できる鍵リストに追加します。
wget https://packages.erlang-solutions.com/erlang-solutions_1.0_all.deb
sudo dpkg -i erlang-solutions_1.0_all.deb
wget -O- https://packages.erlang-solutions.com/ubuntu/erlang_solutions.asc | sudo apt-key add -
次に、次のコマンドでリポジトリを更新します。
sudo apt-get update -y
リポジトリが更新されたら、次のコマンドを実行してErlangをインストールします:
sudo apt-get install socat erlang-nox -y
次に、最新バージョンのRabbitMQリポジトリをダウンロードしてシステムにインストールする必要があります。これを行うには、次のコマンドを実行します。
wget http://www.rabbitmq.com/releases/rabbitmq-server/v3.6.10/rabbitmq-server_3.6.10-1_all.deb
sudo dpkg -i rabbitmq-server_3.6.10-1_all.deb
リポジトリがインストールされたら、次のコマンドでリポジトリを更新します。
sudo apt-get update -y
最後に、次のコマンドを実行してRabbitMQサーバーをインストールします。
sudo apt-get install rabbitmq-server -y
インストールが完了したら、RabbitMQサービスを開始し、次のコマンドを使用して起動時に開始できるようにします。
sudo systemctl start rabbitmq-server
sudo systemctl enable rabbitmq-server
次に、SensuのRabbitMQ仮想ホストとユーザーを作成する必要があります。これを行うには、次のコマンドを実行します。
sudo rabbitmqctl add_vhost /sensu
sudo rabbitmqctl add_user sensu your-password
sudo rabbitmqctl set_permissions -p /sensu sensu ".*" ".*" ".*"
完了したら、Redisサーバーのインストールに進むことができます。
Redisサーバーをインストールする
SensuはRedisサーバーを使用してデータを保存します。デフォルトでは、SensuはUbuntuリポジトリで利用できます。次のコマンドを実行して、Redisサーバーをインストールできます。
sudo apt-get install redis-server apt-transport-https -y
インストールが完了したら、次のコマンドを実行して、Redisサーバーを起動し、起動時に起動できるようにします。
sudo systemctl start Redis-server
sudo systemctl enable Redis-server
完了したら、次のステップに進むことができます。
Sensuのインストールと構成
デフォルトでは、SensuはUbuntuリポジトリでは利用できません。したがって、公開鍵とリポジトリをシステムに追加する必要があります。
まず、次のコマンドでGPGキーを追加します。
wget -O- https://sensu.global.ssl.fastly.net/apt/pubkey.gpg | sudo apt-key add -
次に、次のコマンドを使用して/etc/apt/sources.list.dディレクトリ内にsensu.listファイルを作成し、Sensuリポジトリを追加します。
sudo nano /etc/apt/sources.list.d/sensu.list
次の行を追加します:
deb https://sensu.global.ssl.fastly.net/apt sensu main
ファイルを保存し、次のコマンドでリポジトリを更新します。
sudo apt-get update -y
リポジトリが更新されたら、次のコマンドを使用してSensuをインストールします。
sudo apt-get install sensu -y
Sensuをインストールした後、RabbitMQとRedis用にSensuを構成する必要があります。デフォルトでは、Sensuは/etc/sensu/conf.d/ディレクトリから設定をロードします。したがって、RabbitMQ、Redi、およびApiの構成ファイルを作成する必要があります。
まず、次のコマンドを実行して、/ etc / sensu/conf.dディレクトリ内にrabbitmq.jsonファイルを作成します。
sudo nano /etc/sensu/conf.d/rabbitmq.json
次の行を追加して、RabbitMQインスタンスを接続します。
{ "rabbitmq": { "host": "127.0.0.1", "port": 5672, "vhost": "/sensu", "user": "sensu", "password": "your-password" } }
終了したら、ファイルを保存して閉じます。
次に、次のコマンドを使用してredis.jsonファイルを作成します。
sudo nano /etc/sensu/conf.d/redis.json
次の行を追加して、SensuがRedisにアクセスするための接続情報を含めます。
{ "redis": { "host": "127.0.0.1", "port": 6379 } }
終了したら、ファイルを保存して閉じます。
次に、次のコマンドを実行して、SensuがAPIサービスにアクセスするための接続情報を含めるapi.jsonファイルを作成します。
sudo nano /etc/sensu/conf.d/api.json
次の行を追加します:
{ "api": { "host": "localhost", "bind": "0.0.0.0", "port": 4567 } }
終了したらファイルを保存して閉じ、次の手順に進むことができます。
Sensuダッシュボードのインストールと構成
デフォルトでは、Sensuには、Webインターフェイスを介してSensuを監視するためのダッシュボードは付属していません。
そのため、システムにオープンソースのダッシュボード内和をインストールする必要があります。デフォルトでは、UchiwaはUbuntuリポジトリでは利用できません。そのため、Uchiwaリポジトリをシステムに追加する必要があります。
まず、次のコマンドを使用して、内和の公開鍵を追加します。
wget -O- https://sensu.global.ssl.fastly.net/apt/pubkey.gpg | sudo apt-key add -
次に、次のコマンドを使用して/etc/apt/sources.list.dディレクトリ内にuchiwa..listファイルを作成し、Uchiwaリポジトリを追加します。
sudo nano /etc/apt/sources.list.d/uchiwa.list
次の行を追加します:
deb https://sensu.global.ssl.fastly.net/apt sensu main
ファイルを保存してから、次のコマンドでリポジトリを更新します。
sudo apt-get update -y
リポジトリが更新されたら、次のコマンドを使用してUchiwaをインストールします。
sudo apt-get install uchiwa -y
Uchiwaがインストールされたら、次のコマンドを使用してUchiwaの構成ファイルを作成します。
sudo nano /etc/sensu/conf.d/uchiwa.json
次の行を追加します:
{ "sensu": [ { "name": "Sensu", "host": "localhost", "port": 4567, "timeout": 10 } ], "uchiwa": { "host": "0.0.0.0", "port": 3000, "refresh": 10 } }
終了したら、ファイルを保存して閉じます。
最後に、SensuおよびUchiwaサービスを再起動し、次のコマンドを使用して起動時に開始できるようにします。
sudo systemctl start sensu-server
sudo systemctl enable sensu-server
sudo systemctl start sensu-api
sudo systemctl enable sensu-api
sudo systemctl start sensu-client
sudo systemctl enable sensu-client
sudo systemctl start uchiwa
sudo systemctl enable uchiwa
完了したら、次のステップに進むことができます。
Sensuダッシュボードにアクセスする前に、UFWファイアウォールを通過するポート3000を許可する必要があります。
まず、次のコマンドを実行してUFWファイアウォールをインストールします。
sudo apt-get install ufw -y
UFWをインストールしたら、次のコマンドでUFWサービスを有効にします。
sudo ufw enable
次に、次のコマンドを使用して、UFWファイアウォールを通過するポート3000を許可します。
sudo ufw allow 3000
ファイアウォールが構成されたら、Webブラウザーを開き、URL http://192.168.0.227:3000を入力すると、次のページが表示されます。
次に、データセンターアイコンをクリックすると、Sensuサーバーインスタンスが次のように表示されます。
次に、Sensuサーバー自体を監視するクライアントを追加する必要があります。これを行うには、client.jsonファイルを作成します:
sudo 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-clientサービスを再起動してこれらの変更を適用します。
sudo systemctl restart sensu-client
最後に、次のようにクライアントアイコンをクリックして、クライアントのステータスを確認します。
おめでとう!これで、Ubuntu16.04サーバーにSensuサーバーが正常にインストールおよび構成されました。必要に応じて、クライアントを簡単に追加できるようになりました。ご不明な点がございましたら、お気軽にコメントしてください。