はじめに
ELKスタックとは何ですか?
「ELK」は、Elasticsearch、Logstash、Kibanaの3つのオープンソースプロジェクトの頭字語です。 Elasticsearchは、検索および分析エンジンです。 Logstashはサーバー側のデータ処理パイプラインであり、複数のソースから同時にデータを取り込み、変換してから、Elasticsearchのような「スタッシュ」に送信します。 Kibanaを使用すると、ユーザーはElasticsearchのチャートやグラフを使用してデータを視覚化できます。
なぜBitnamiELKスタックを使用するのですか?
BitnamiELKスタックは常に最新で安全です。スタックのインストールと構成は完全に自動化されているため、あまり技術的でない人も含め、誰でも簡単にスタックを起動して実行できます。
Filebeatとは何ですか?
Filebeatは、ログデータを転送および一元化するための軽量の配送業者です。サーバーにエージェントとしてインストールされたFilebeatは、指定したログファイルまたは場所を監視し、ログイベントを収集して、インデックス作成のためにElasticsearchまたはLogstashに転送します。
以下は、E2EMyaccountポータルからBitnamiELKサーバーを起動し、ログをフェッチするようにサーバーでfilebeatエージェントを構成する手順です。
前提条件
- E2E Myaccountポータルへのログインアクセス。Myaccountにまだサインアップしていない場合は、この記事を参照してサインアップしてください。
- filebeatエージェントを構成するためのエージェントサーバーへのsudoアクセス
E2EマイアカウントポータルからBitnamiELKサーバーを作成する手順
ステップ1:必要なメールアドレスとパスワードを使用してE2EMyaccountポータルにログインします

ステップ2:パネルからノードを選択し、ノードの作成に進みます

ステップ3:[コンピュートノードの作成]セクションで、[1クリック展開]セクションをクリックし、必要なELKバージョン、適切なプランを選択して、[VMの作成]をクリックします

ステップ4:ノードの詳細を入力し、認証とバックアップのオプションを選択し、[マイノードの作成]をクリックしてE2EのBitnamiELKサーバーを起動します

これで、BitnamiELKサーバーが起動しました。Kibanaポータルにログインする手順は次のとおりです
ELKBitnamiKibanaポータルにログインする手順
ステップ5:まず、Kibanaポータルのユーザー名とパスワードが必要です。ELKインスタンスが起動されるとすぐに、ELKインスタンスのルートクレデンシャルが登録済みのメールアドレスに送信されます。
ELKクレデンシャルはスタンドアロンファイルに保存されます。いつでも資格情報を取得するには、rootユーザーの資格情報を使用してSSH経由でノードに接続します。次のコマンドを実行してアプリケーションの資格情報を取得します
cat /home/bitnami/bitnami_credentials
以下のような出力が得られます
root@e2e-62-70:~# cat /home/bitnami/bitnami_credentials Welcome to the Bitnami ELK Stack The default username and password is 'user' and 'D2mYMa3Z9gMY'. You can also use this password to access the databases and any other component the stack includes. Please refer to https://docs.bitnami.com/ for more details.
ステップ6:Kibanaポータルにログインするには、URL http:// your_server_IPを使用します [管理コンソールにログイン]をクリックします。プロンプトが表示されたら、ユーザー名とパスワードを入力します。

FilebeatAgentを構成する手順
ステップ7:サーバーを起動してKibanaポータルにアクセスしたら、次にfilebeatを介してエージェントサーバーからログをフェッチします
ログを取得する必要がある場所からエージェントサーバーにログインして、サーバーへのsudoアクセス権があることを確認してください
ステップ8:LinuxサーバーにFilebeatをダウンロードしてインストールするには、ディストリビューションに従って以下のコマンドを使用します。bitnamiELKを使用しているため、ossバージョンのfilebeatを使用します
deb:
curl -L -O https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-oss-7.4.1-amd64.deb
sudo dpkg -i filebeat-oss-7.4.1-amd64.deb
rpm:
curl -L -O https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-oss-7.4.1-x86_64.rpm sudo rpm -vi filebeat-oss-7.4.1-x86_64.rpm
注:この記事のドラフトを作成している間、filebeat-7.4.1が最新バージョンでしたが、現在の最新バージョンは公式サイトから入手できます
ステップ9:上記のコマンドでFilebeatをインストールしたら、 Filebeat.ymlの構成を変更する必要があります ファイルを使用してログをELKサーバーにフェッチします。以下のコマンドを使用して、Filebeat.yml構成を編集します
vim /etc/filebeat/filebeat.yml
挿入モードに入るには、iを押して、このファイルに次の変更を加える必要があります
1)以下に示すように、ファイルビート入力構成を「enabled:true」としてtrueに変更します
2)フェッチする必要のあるログファイルのパスを変更します。現在、/ var / log/messagesをフェッチするように構成されています。要件に応じてログパスを構成できます。

3)output.elasticsearchホストの構成をELKサーバーのIPに変更します。

「ESC」を押してファイルを保存し、:wq!と入力します 保存して終了する
ステップ10:エージェントサーバーがElasticsearchポート9200のELKサーバーに接続できることも確認する必要があります
ELKサーバーにログインし、以下のコマンドを使用してエージェントサーバーのポート9200を開きます。必ず、エージェントサーバーのIPを変更してください。
sudo ufw allow from agent_server_ip to any port 9200
ufwファイアウォールでDebian9を使用しているため、上記のコマンドを使用しています。Iptableを使用している場合は、この記事を参照してポートを開いてください。
以下のコマンドでエージェントサーバーとtelnetにログインして、エージェントサーバーからELKサーバーにtelnetできる場合は、次のように出力されます
。# telnet elk_sever_ip 9200 Trying xx.xx.xx.xx… Connected to xx.xx.xx.xx Escape character is '^]'.
ステップ11:上記の構成とTelnet検証が完了したら、以下のコマンドを使用してFilebeatサービスを1回再起動します
service filebeat restart
データを表示するためのKibanaポータルでのKibanaインデックスパターンの作成
ステップ12:Kibanaポータルでの視覚化などのElasticsearchインデックスからデータを取得するには、Kibanaインデックスパターンを作成する必要があります。
Kibanaポータルにログインします—>管理パネルに移動します–>インデックスパターンを選択します

ファイルビートエージェントとELKサーバーの構成と接続が正常に機能している場合は、以下に示すように構成したファイルビートパターンが表示されます。
インデックスパターン名をfilebeat-*として入力し、[次のステップ]をクリックします

[タイムフィルター]フィールド名で[@timestamp]を選択し、[インデックスパターンの作成]をクリックします。これでインデックスパターンが正常に作成され、ポータルでデータを表示できるようになります
。
ステップ13:KibanaポータルのDiscoverPanelでデータを表示する
エージェントサーバーから出荷されたログを表示するには、Kibanaポータルの左側のパネルから[検出]を選択します。ここで、KibanaポータルにフェッチされたElasticsearchデータを表示できます。ログが正常にフェッチされると、ログを検索して参照できます。ダッシュボードをカスタマイズすることもできます。

結論
これで、ログを常にELKサーバーにフェッチし、Kibanaで視覚化することができます。ログをELKにフェッチするだけのログを送信し、Kibanaダッシュボードでログをさらにフィルタリングして、構造化された視覚化を行うことができます。
ELK導入に関するFAQについては、この記事を参照してください