CentOS 7にGraylogサーバーをインストールする方法
CentOS 7にGraylogサーバーをインストールし、ログ管理を行う方法を学びます。
スーパーバイザは、多くのUNIXプロセス、具体的にはプロジェクトまたは顧客に関連するプロセスを制御するために使用されるクライアント/サーバーシステムです。たとえば、スーパーバイザを使用して、Webアプリケーションの任意の数のワーカーキューを生成および監視できます。
このシステムのコンポーネントは次のとおりです。
このチュートリアルでは、最新バージョンのスーパーバイザーをインストールし、を介してプログラムを生成および管理する方法を示しsupervisorctl
、プログラムを管理するためのWebインターフェースを構成します。
easy_install
pythonのsetuptoolsの機能であるを介してスーパーバイザーをインストールします。
まず、ローカルパッケージリストを更新してから、pythonをインストールしますsetuptools
。
sudo apt-get update && sudo apt-get install python-setuptools
これでスーパーバイザーをインストールできます。
sudo easy_install supervisor
インストールが完了したら、構成ファイルを生成する必要があります。supervisor
inside という名前のフォルダを作成します/etc
。
sudo mkdir /etc/supervisor
そして、以下を実行します。
echo_supervisord_conf > /etc/supervisor/supervisord.conf
root
ユーザーでログインしていない場合は、Permission denied
エラーが発生する可能性があります(を使用してもsudo
)。これはリダイレクトによるものです。これを克服するには、rootとしてログインします。
sudo su
その後、コマンドを再度実行できます。
echo_supervisord_conf > /etc/supervisor/supervisord.conf
これで、root
ユーザーにexit
コマンドを残すことができます。echo_supervisord_conf
コマンドは、当社のスーパーバイザーのインストールによって提供されました。
/etc/supervisor/supervisord.conf
ファイルを開き、内容を確認します。この構成ファイルはINI
構文に従っており、セクションで区切られていることに注意してください(のように括弧で表します[section-name]
)。
監督者が管理するプログラムを追加するには、適切な[program]
セクションを作成するだけです。ただし、プログラムを追加(または変更)する必要があるたびにメイン構成ファイルをいじるのを避けるために、[include]
セクションを使用します。このセクションを見つけてコメントを外し、次のように編集します。
[include]
files=conf.d/*.conf
追加するプログラムごと.ini
に、/etc/supervisor/conf.d/
ディレクトリ内にファイルを作成します。このフォルダを作成してみましょう。
sudo mkdir /etc/supervisor/conf.d
前述のように、スーパーバイザーはサーバーとそれに接続するクライアントで構成されています。プログラムを管理および制御できるようにするには、サーバーを起動する必要があります。これを行うには、スーパーバイザーサーバーをに登録systemd
し、サーバーがシステムの起動時に起動されるようにします。
そのためにsupervisord.service
は、/etc/systemd/system
ディレクトリにというファイルを作成します。
sudo touch /etc/systemd/system/supervisord.service
次の内容をファイルに追加します。
[Unit]
Description=Supervisor daemon
Documentation=http://supervisord.org
After=network.target
[Service]
ExecStart=/usr/local/bin/supervisord -n -c /etc/supervisor/supervisord.conf
ExecStop=/usr/local/bin/supervisorctl $OPTIONS shutdown
ExecReload=/usr/local/bin/supervisorctl $OPTIONS reload
KillMode=process
Restart=on-failure
RestartSec=42s
[Install]
WantedBy=multi-user.target
Alias=supervisord.service
監視対象サービスをアクティブ化します。
sudo systemctl start supervisord.service
サービスファイルが/etc/systemd/system
ディレクトリにある限り、システムの起動時に自動的に開始されます。
サービスの状態を確認できます。
systemctl status supervisord.service
また、ログを確認することもできます。
sudo journalctl -u supervisord.service
スーパーバイザによって制御されるプログラム[program]
は、構成のさまざまなセクションで提供されます。管理するプログラムごとに、スタンドアロンの構成ファイルを作成して、コマンド実行可能パス、環境変数、シャットダウン時の実行方法を通知します。
まず、タイムスタンプを記録する簡単なスクリプトを作成しましょう。というファイルを作成しますhello_supervisor.sh
(任意の場所に、このスクリプトの完全パスを参照します)。
touch hello_supervisor.sh
さて、以下の内容を入れてください
#!/bin/bash
while true
do
# Echo current timestamp to stdout
echo Hello Supervisor: `date`
# Echo 'error!' to stderr
echo An error ocurred at `date`! >&2
sleep 1
done
それを実行可能にします
chmod +x hello_supervisor.sh
実際には、このスクリプトはほとんど役に立ちません。しかし、それを使用して、監督者の力を示すことができます。以下を実行して、対応する構成ファイルを作成します。
sudo touch /etc/supervisor/conf.d/hello_supervisor.conf
次の内容をこのファイルに入れます。
[program:hello_supervisor]
command=/home/USER/hello_supervisor.sh
autostart=true
autorestart=true
stderr_logfile=/var/log/hello_supervisor.err.log
stdout_logfile=/var/log/hello_supervisor.out.log
注: 必ずUSER
ユーザー名に置き換えてください。
この構成を段階的に確認します。
[program:hello_supervisor]
command=/home/USER/hello_supervisor.sh
まず、設定はhello_supervisorという名前のプログラムを定義することから始まります。また、実行する実行可能ファイルの完全パスも通知します。
autostart=true
この行は、スーパーバイザが起動すると、このプログラムが自動的に起動することを示しています。
autorestart=true
プログラムが何らかの理由で終了した場合、この行はスーパーバイザーにプロセスを自動的に再起動するように通知します。
stderr_logfile=/var/log/hello_supervisor.err.log
stdout_logfile=/var/log/hello_supervisor.out.log
これらの行は、stderr
およびのログファイルの場所をstdout
それぞれ定義しています。
スーパーバイザをインストールして構成したので、プロセスを管理できます。
新しいプログラムを追加したら、次の2つのコマンドを実行して、構成ファイルを再度読み取り、変更を適用するようサーバーに通知する必要があります。
sudo supervisorctl reread
sudo supervisorctl update
supervisorctl
クライアントを実行します。
sudo supervisorctl
登録されているプロセスのリストが表示されます。あなたは呼ばproccess表示されますhello_supervisor
とRUNNING
状況を。
hello_supervisor RUNNING pid 6853, uptime 0:22:30
supervisor>
使用help
可能なコマンドのリストを入力します。
supervisor> help
default commands (type help <topic>):
=====================================
add exit open reload restart start tail
avail fg pid remove shutdown status update
clear maintail quit reread signal stop version
簡単に言えば、プログラム名を引数として各コマンドに渡すことstart
でstop
、restart
プログラムを実行できます。
supervisor> stop hello_supervisor
hello_supervisor: stopped
supervisor> start hello_supervisor
hello_supervisor: started
supervisor> restart hello_supervisor
hello_supervisor: stopped
hello_supervisor: started
supervisor>
tail
コマンドでプログラムの出力を確認することもできます。
supervisor> tail hello_supervisor
Hello Supervisor: Mon Sep 25 19:27:29 UTC 2017
Hello Supervisor: Mon Sep 25 19:27:30 UTC 2017
Hello Supervisor: Mon Sep 25 19:27:31 UTC 2017
以下の場合stderr
、出力は、使用することができますtail
だけでなくとして。
supervisor> tail hello_supervisor stderr
An error ocurred at Mon Sep 25 19:31:12 UTC 2017!
An error ocurred at Mon Sep 25 19:31:13 UTC 2017!
An error ocurred at Mon Sep 25 19:31:14 UTC 2017!
status
コマンドを呼び出すと、登録されているすべてのプログラムのステータスを表示できます。
終了したら、終了できます。
supervisor> quit
スーパーバイザWebサーバーへのアクセスを許可するには、スーパーバイザ構成ファイルを開き、[inet_http_server]
セクションを見つけます。
nano /etc/supervisor/supervisord.conf
このセクションの構成を次のように更新します。
[inet_http_server]
port=*:9001
username=your_username
password=your_password
を希望の資格情報に置き換えてyour_username
、your_password
変更内容を保存し、監視対象サービスを再起動します。
sudo systemctl restart supervisord.service
ファイアウォールTCP
のポートへのアクセスを許可してから、ブラウザからの9001
アクセスを許可http://{server-ip}:9001
してください。尋ねられたとき、あなたを提供username
してpassword
。Webからプロセスを制御できるようになりました。
最新バージョンのsupervisordをインストールし、systemdを使用してシステムを自動起動するように構成する方法を学び、の基本的な使用方法も確認しましたsupervisorctl
。より高度な構成と使用例については、公式の監視ドキュメントを参照してください。
CentOS 7にGraylogサーバーをインストールし、ログ管理を行う方法を学びます。
Debian 10にWebDAVをデプロイする方法を学び、WsgiDAVとSSL証明書で安全な接続を実現しましょう。
CentOS 7サーバーにApache 2.4をインストールする方法を説明します。安定したウェブサーバーを構築するための前提条件と手順を解説します。
FreeBSD 11.1におけるBlacklistdのインストール方法について詳しく解説します。この方法を通じて、強力なセキュリティ対策を実装できます。
サーバーマネージャーを使用して、Windows Serverの管理が向上します。セキュリティリスクを軽減し、効率的な管理を実現します。
CentOS 7にSeafileサーバーをインストールする方法。Seafile(コミュニティバージョン)は、ownCloudに似た無料のオープンソースファイル同期および共有ソリューションです。
Snortは無料のネットワーク侵入検知システムです。最新の方法で、SnortをDebianにインストールし、設定する手順を紹介します。ネットワークのセキュリティを強化しましょう。
CentOS 7にGraylogサーバーをインストールし、ログ管理を行う方法を学びます。
WindowsサーバーでWebサイトを実行している場合、電子メールも受信できるようにするためにhMailServerを使用する方法を解説します。
FiveMサーバーをUbuntu 19.04にインストールするための詳細なガイド。必要条件からインストール、起動、トラブルシューティングまで、すべてのステップを含みます。
Debian 10にWebDAVをデプロイする方法を学び、WsgiDAVとSSL証明書で安全な接続を実現しましょう。
ヘルスケアにおけるAIは、過去数十年から大きな飛躍を遂げました。したがって、ヘルスケアにおけるAIの未来は、日々成長を続けています。