Ubuntu14.04にGraylog1.xをインストールする方法。

前書き ##

このチュートリアルでは、Graylog v1.3.x(Graylog2と呼ばれることもあります)をUbuntu 14.04にインストールし、システムのsyslogを一元化された場所に収集するように構成する方法を示します。 Graylogは、SSHログインや異常なアクティビティの監視からアプリケーションのデバッグまで、多くのユースケースを備えた強力なログ管理および分析ツールです。これは、Elasticsearch、Java、および[MongoDB](https://cloud.tencent.com/product/mongodb?from=10680)に基づいています。

Graylogを使用してさまざまなログを収集および監視できますが、このチュートリアルの範囲はsyslogコレクションに限定されています。また、Graylogの基本を示しているため、すべてのコンポーネントを1つのサーバーにインストールします。

グレイログコンポーネントについて

Graylogには4つの主要なコンポーネントがあります。

以下は、Graylogコンポーネントの概略図です(メッセージは他のサーバーから送信されることに注意してください)。

このチュートリアルでは、非常に基本的なGraylogセットアップを実装し、すべてのコンポーネントを同じサーバーにインストールします。大規模な実稼働設定の場合、パフォーマンス上の理由から、コンポーネントを異なるサーバーにインストールすることをお勧めします。

コースの準備

このチュートリアルで説明するセットアップには、少なくとも2GBのRAMを備えたUbuntu14.04サーバーが必要です。ルートアクセスも必要です。サーバーを持っていない学生は[こちら](https://cloud.tencent.com/product/cvm?from=10680)から購入できますが、個人的には無料のTencent Cloud [開発者ラボ](https://cloud.tencent.com/developer/labs?from=10680)を使用して実験し、インストールを学ぶことをお勧めします次に、[購入サーバー](https://cloud.tencent.com/product/cvm?from=10680)。

RAMが2GB未満のVPSを使用している場合、すべてのGraylogコンポーネントを起動することはできません。

ソフトウェアをインストールしましょう!

MongoDBをインストールします

MongoDBのインストールは簡単で迅速です。次のコマンドを実行して、MongoDBパブリックGPGキーをaptにインポートします。

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv 7F0CEB10

MongoDBソースリストを作成します。

echo "deb http://repo.mongodb.org/apt/ubuntu "$(lsb_release -sc)"/mongodb-org/3.0 multiverse"| sudo tee /etc/apt/sources.list.d/mongodb-org-3.0.list

aptパッケージデータベースを更新します。

sudo apt-get update

次のコマンドを使用して、MongoDBの最新の安定バージョンをインストールします。

sudo apt-get install mongodb-org

これで、MongoDBが稼働しているはずです。引き続きJavaをインストールしましょう。

Javaをインストール

ElasticsearchにはJavaが必要なので、今すぐインストールします。 Elasticが推奨しているため、Oracle Java8をインストールします。ただし、このルートを使用する場合は、OpenJDKで機能するはずです。

sudo add-apt-repository ppa:webupd8team/java

aptパッケージデータベースを更新します。

sudo apt-get update

このコマンドを使用して、Oracle Java 8の最新の安定バージョンをインストールします(そしてポップアップライセンス契約に同意します)。

sudo apt-get install oracle-java8-installer

Javaがインストールされたので、Elasticsearchをインストールしましょう。

Elasticsearchをインストール

Graylog 1.xはElasticsearchのバージョン2.0でのみ使用できるため、Elasticsearch 1.7.xをインストールします。Elasticのパッケージソースリストを追加することで、パッケージマネージャーを使用してElasticsearchをインストールできます。

次のコマンドを実行して、Elasticsearchの公開GPGキーをaptにインポートします。

wget -qO - https://packages.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -

プロンプトがそこでハングする場合は、ユーザーパスワードを待機している可能性があります( sudoコマンドを承認します)。その場合は、パスワードを入力してください。

echo "deb http://packages.elastic.co/elasticsearch/1.7/debian stable main"| sudo tee -a /etc/apt/sources.list.d/elasticsearch-1.7.x.list

aptパッケージデータベースを更新します。

sudo apt-get update

次のコマンドを使用してElasticsearchをインストールします。

sudo apt-get-y install elasticsearch

Elasticsearchがインストールされました。構成を編集しましょう:

sudo vi /etc/elasticsearch/elasticsearch.yml

指定された cluster.nameパーツを見つけます。以下に示すように、コメントを外してデフォルト値を「graylog-development」に置き換えます。

cluster.name: graylog-development

Elasticsearchインスタンス(ポート9200)への外部アクセスを制限して、部外者がHTTP APIを介してデータを読み取ったり、Elasticsearchクラスターをシャットダウンしたりできないようにする必要があります。指定された network.host行を見つけてコメントを外し、その値を「localhost」に置き換えて、次のようにします。

network.host: localhost

elasticsearch.ymlを保存して終了します。

次にElasticsearchを開始します。

sudo service elasticsearch restart

次に、次のコマンドを実行して、起動時にElasticsearchを開始します。

sudo update-rc.d elasticsearch defaults 9510

しばらくしてから、次のコマンドを実行して、Elasticsearchが正しく機能しているかどうかをテストします。

curl -XGET 'http://localhost:9200/_cluster/health?pretty=true'

Elasticsearchが稼働しているので、Graylogサーバーをインストールしましょう。

Graylogサーバーをインストールします

他の必要なソフトウェアをインストールしたので、Graylogのサーバーコンポーネント graylog-serverをインストールしましょう。

まず、次のコマンドを使用して、GraylogDebianパッケージをホームディレクトリにダウンロードします。

cd ~
wget https://packages.graylog2.org/repo/packages/graylog-1.3-repository-ubuntu14.04_latest.deb

次に、次のコマンドを使用して、パッケージをパッケージマネージャーに追加します。

sudo dpkg -i graylog-1.3-repository-ubuntu14.04_latest.deb

次に、次のコマンドを使用して graylog-serverパッケージをインストールします。

sudo apt-get update
sudo apt-get install apt-transport-https
sudo apt-get install graylog-server

pwgenをインストールします。これを使用して暗号化キーを生成します。

sudo apt-get install pwgen

次に、管理者のパスワードとキーを構成する必要があります。パスワードキーは、* server.conf *の password_secretパラメーターによって構成されます。次の2つのコマンドを使用して、ランダムキーを生成し、Graylog構成に挿入できます。

SECRET=$(pwgen -s 961)
sudo -E sed -i -e 's/password_secret =.*/password_secret = '$SECRET'/'/etc/graylog/server/server.conf

shasumを指定するためのパスワードを作成し、それを root_password_sha2で説明されているGraylog構成ファイルのパラメーターに割り当てることにより、管理者パスワードを割り当てることができます。次のコマンドを使用して、必要なパスワードのシャサムを作成し、強調表示された「パスワード」を独自のパスワードに置き換えます。 sedコマンドは、それをGraylog構成に挿入します。

PASSWORD=$(echo -n password | shasum -a 256| awk '{print $1}')
sudo -E sed -i -e 's/root_password_sha2 =.*/root_password_sha2 = '$PASSWORD'/'/etc/graylog/server/server.conf

管理者パスワードが設定されたので、Graylog構成を開いて、いくつかの変更を加えましょう。

sudo vi /etc/graylog/server/server.conf

上記の手順で実行したコマンドのため、 password_secret root_password_sha2にはランダムな文字列が含まれていることがわかります。

次に、GraylogWebインターフェイスがサーバーと通信する方法である rest_transport_uriを構成します。すべてのコンポーネントを単一のサーバーにインストールするため、値を「127.0.0.1」または「localhost」に設定しましょう。 rest_transport_uriを見つけてコメントを外し、次のように値を変更します。

/etc/graylog/server/server.conf - 1/4

rest_transport_uri = http://127.0.0.1:12900/

次に、(このサーバーで実行されている)Elasticsearchシャードが1つしかないため、 elasticsearch_shardsの値を1に変更します。

elasticsearch_shards =1

次に、 elasticsearch_cluster_nameの値を" graylog-development "(Elasticsearch cluster.nameと同じ)に変更します。

elasticsearch_cluster_name = graylog-development

Elasticsearchインスタンスを検出するために、マルチキャストの代わりにユニキャストを使用するには、次の2行のコメントを解除します。

/etc/graylog/server/server.conf - 4 of 4

elasticsearch_discovery_zen_ping_multicast_enabled =false
elasticsearch_discovery_zen_ping_unicast_hosts =127.0.0.1:9300

保存して終了。これで、 graylog-serverが構成され、開始する準備が整いました。

serviceコマンドを使用して、Graylogサーバーを起動します。

sudo start graylog-server

次のステップは、GraylogWebインターフェースをインストールすることです。今やりましょう!

GraylogWebをインストールします

次のコマンドを使用してGraylogWebをインストールします。

sudo apt-get install graylog-web

次に、Webインターフェイスのキーを構成する必要があります。これは** web.conf **の application.secretパラメーターです。 Graylogサーバー構成で行ったように別のキーを生成し、次のようにsedを使用して挿入します。

SECRET=$(pwgen -s 961)
sudo -E sed -i -e 's/application\.secret=""/application\.secret="'$SECRET'"/'/etc/graylog/web/web.conf

次に、次のコマンドを使用してWebインターフェイス構成ファイルを開きます。

sudo vi /etc/graylog/web/web.conf

次に、Webインターフェイスの構成を更新して、 graylog2-server.urisパラメーターを指定する必要があります。これは、サーバーRESTURIのコンマ区切りのリストです。 Graylogサーバーノードは1つしかないため、この値は rest_listen_uriGraylogサーバー構成の値と一致する必要があります。

/etc/graylog/web/web.confの抜粋

graylog2-server.uris="http://127.0.0.1:12900/"

これで、GraylogWebインターフェイスが構成されました。 GraylogWebインターフェイスを起動します。

sudo start graylog-web

これで、GraylogWebインターフェイスを使用できます。今からやります。

syslogメッセージを受信するようにGraylogを構成します

GraylogWebインターフェイスにログインします

お気に入りのWebブラウザーで、サーバーのパブリックIPアドレスの「9000」ポートに移動します。

In a web browser:http://graylog_public_IP:9000/

ログイン画面が表示されます。前に設定したユーザー名と管理者パスワードを adminに入力します。

ログインすると、次のように表示されます。

上部の赤い数字は通知です。クリックすると、実行入力のないノードがあることを示すメッセージが表示されます。 UDPでsyslogメッセージを受信するための入力を追加しましょう。

SyslogUDP入力を作成する

システムログメッセージを受信するための入力を追加するには、トップメニューの[システム]ドロップダウンリストをクリックします。

次に、ドロップダウンメニューから[入力]を選択します。

ドロップダウンメニューから[** Syslog UDP **]を選択し、[新しい入力の起動]ボタンをクリックします。

「Startnewinput:* SyslogUDP *」モードウィンドウがポップアップ表示されます。次の情報を入力します(サーバーのプライベートIPアドレスのバインディングアドレスを置き換えます)。

次に、[起動]をクリックします。

以下に示すように、ローカル入力セクションに「syslog」という名前の入力が表示されます(横に「実行中」の緑色のボックスがあるはずです)。

これで、Graylogサーバーは、サーバーからポート 8514でシステムログメッセージを受信する準備ができました。システムログメッセージをGraylogにすぐに送信するようにサーバーを構成しましょう。

SyslogをGraylogサーバーに送信するようにRsyslogを構成します

すべてのクライアントサーバーで、システムログメッセージをGraylogのサーバーに送信するには、以下の手順に従います。

/etc/rsyslog.dにrsyslog構成ファイルを作成します。 90-graylog.confと呼びます。

sudo vi /etc/rsyslog.d/90-graylog.conf

このファイルに、次の行を追加して、システムログメッセージをGraylogサーバーに送信するようにrsyslogを構成します( graylog_private_IPをGraylogサーバーのプライベートIPアドレスに置き換えます)。

/etc/rsyslog.d/90-graylog.conf

$template GRAYLOGRFC5424,"<%pri%>%protocol-version% %timestamp:::date-rfc3339% %HOSTNAME% %app-name% %procid% %msg%\n"*.* @graylog_private_IP:8514;GRAYLOGRFC5424

保存して終了。今後、このファイルはrsyslog構成の一部としてロードされます。ここで、変更を有効にするためにrsyslogを再起動する必要があります。

sudo service rsyslog restart

監視対象のすべてのサーバーでrsyslogの構成が完了したら、GraylogWebインターフェイスに戻ってください。

グレイログソースを表示

お気に入りのWebブラウザーで、サーバーのパブリックIPアドレスの「9000」ポートに移動します。

In a web browser:http://graylog_public_IP:9000/

トップバーの「ソース」をクリックします。 rsyslogで構成されているすべてのサーバーのリストが表示されます。

ソースのホスト名は左側にあり、Graylogによって受信されたメッセージの数は右側にあります。

グレイログデータを検索する

一定期間Graylogにメールを収集させると、メールを検索できるようになります。たとえば、「sshd」を検索して、サーバーでどのようなSSHアクティビティが発生しているかを確認しましょう。結果の抜粋は次のとおりです。

ご覧のとおり、検索結果の例には、さまざまなサーバーのsshdログと、失敗したルートログイン試行の数が表示されます。結果は異なる場合がありますが、権限のないユーザーがサーバーにアクセスしようとしている方法など、多くの問題を特定するのに役立ちます。

すべてのソースの基本的な検索機能に加えて、特定のホストのログまたは特定の時間範囲内のログを検索することもできます。

たとえば、イベント後に1つまたは複数のサーバーのログを表示する場合、Graylogでデータを検索すると非常に便利です。一元化されたロギングにより、複数のサーバーにログインしなくても発生したすべてのイベントを表示できるため、関連するイベントの関連付けが容易になります。

検索バーの動作の詳細については、公式ドキュメント[Graylog Search](http://docs.graylog.org/en/1.3/pages/queries.html)を確認してください。

結論として ##

グレイログを設定したので、グレイログが提供する他の機能を自由に閲覧してください。他のタイプのログをGraylogに送信し、エクストラクタを設定して(または、logstashなどのソフトウェアを使用してログを再フォーマットして)、ログをより構造化して検索できるようにすることができます。コンポーネントを分離し、冗長性を追加してパフォーマンスと可用性を向上させることにより、Graylog環境を拡張することもできます。

その他のUbuntuチュートリアルについては、[Tencent Cloud + Community](https://cloud.tencent.com/developer?from=10680)にアクセスして詳細を確認してください。


参照:「Ubuntu14.04にGraylog1.xをインストールする方法」

Recommended Posts

Ubuntu14.04にGraylog1.xをインストールする方法。
Ubuntu20.04にRubyをインストールする方法
Ubuntu20.04にMemcachedをインストールする方法
Ubuntu20.04にJavaをインストールする方法
Ubuntu20.04にMySQLをインストールする方法
Ubuntu20.04にElasticsearchをインストールする方法
UbuntuにProtobuf3をインストールするための詳細なチュートリアル
Ubuntu20.04にNginxをインストールする方法
Ubuntu16.04にNode.jsをインストールする方法
Ubuntu20.04にMySQLをインストールする方法
Ubuntu14.04にBacula-Webをインストールする方法
Ubuntu16.04にPostgreSQLをインストールする方法
Ubuntu20.04にGitをインストールする方法
Ubuntu18.04にAnaconda3をインストールする方法
Ubuntu16.04にJenkinsをインストールする方法
Ubuntu14.04にMemSQLをインストールする方法
Ubuntu20.04にGoをインストールする方法
Ubuntu16.04にMongoDBをインストールする方法
Ubuntu16.04にPrestaShopをインストールする方法
Ubuntu18.04にPython3.8をインストールする方法
Ubuntu18.04にKVMをインストールする方法
Ubuntu20.04にKVMをインストールする方法
ubuntu14.04にopencv3.0.0をインストールする方法
Ubuntu20.04にAnacondaをインストールする方法
Ubuntu16.04にPrometheusをインストールする方法
Ubuntu18.04にJenkinsをインストールする方法
Ubuntu20.04にApacheをインストールする方法
Ubuntu20.04にRをインストールする方法
Ubuntu16.04にMoodleをインストールする方法
Ubuntu14.04にSolr5.2.1をインストールする方法
Ubuntu16.04にTeamviewerをインストールする方法
Ubuntu20.04にNginxをインストールする方法
Ubuntu20.04にMonoをインストールする方法
Ubuntu20.04にGoをインストールする方法
Ubuntu20.04にZoomをインストールする方法
Ubuntu16.04にNginxをインストールする方法
Ubuntu20.04にSpotifyをインストールする方法
Ubuntu18.04にPostmanをインストールする方法
Ubuntu18.04にGoをインストールする方法
Ubuntu14.04にMySQLをインストールする方法
Ubuntu20.04にPostgreSQLをインストールする方法
Ubuntu18.04にVLCをインストールする方法
Ubuntu20.04にTeamViewerをインストールする方法
Ubuntu20.04にWebminをインストールする方法
Ubuntu14.04にBaculaServerをインストールする方法
Raspberry Pi4にUbuntu19.10をインストールする方法
Ubuntu18.04にApacheKafkaをインストールする方法
Ubuntu20.04にApacheMavenをインストールする方法
Ubuntu16.04にApacheTomcat8をインストールする方法
Ubuntu18.04にGCCコンパイラをインストールする方法
Ubuntu16.04サーバーにZabbixをインストールする方法
Ubuntu18.04にOperaWebブラウザをインストールする方法
Ubuntu14.04にDockerを使用してPrometheusをインストールする方法
Ubuntu20.04にVisualStudioコードをインストールする方法
Ubuntu18.04にSquidプロキシサーバーをインストールする方法
Ubuntu 16.04 /18.04にPycharmとIpythonをインストールする方法
Ubuntu16.04にNATSをインストールして構成する方法
Ubuntu18.04にGogsをインストールして構成する方法
Ubuntu18.04にChromiumWebブラウザーをインストールする方法
Ubuntu18.04にCyberpanelをインストールして構成する方法
Ubuntu18.04にRをインストールする方法[クイックスタート]