7.1 ELK Stackのコンポーネント
ELK Stack、Elasticsearch、Logstash、Kibanaで構成されていて、中央集中的なログ管理やデータ分析に強力なツールだよね。これを使えば、Dockerコンテナを含むいろんなソースからログを収集、保存、分析、そして可視化することができるよ。この講義では、Dockerコンテナの中央集中的なログ管理のためにELK Stackを設定する方法を詳しく見ていくよ。
ELK Stackのコンポーネント
- Elasticsearch — 分散型の検索と分析システムで、ログを保存して検索するために使うよ。
- Logstash — ログを収集、処理、そしてElasticsearchに送るためのツールだね。
- Kibana — Elasticsearchに保存されたデータを可視化して分析するためのWebインターフェースだよ。
7.2 Elasticsearchのインストール
Linuxで
1. Elasticsearchリポジトリの追加
公開鍵リポジトリをダウンロードしてインストール:
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
Elasticsearchリポジトリを追加:
sudo sh -c 'echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" > \
/etc/apt/sources.list.d/elastic-7.x.list'
sudo apt-get update
2. Elasticsearchのインストール
sudo apt-get install elasticsearch
3. Elasticsearchの起動と自動起動の設定
sudo systemctl start elasticsearch
sudo systemctl enable elasticsearch
MacOSで
1. Homebrewでのインストール
brew update
brew install elasticsearch
2. Elasticsearchの起動
elasticsearch
Windowsで
1. インストールファイルのダウンロード
公式サイトからElasticsearchの最新バージョンをダウンロード: https://www.elastic.co/downloads/elasticsearch.
2. Elasticsearchのインストール
ダウンロードしたインストールファイルを実行し、画面上の指示に従います。
3. Elasticsearchの起動
インストール後、Elasticsearchのフォルダに移動してPowerShellでサービスを起動:
.\bin\elasticsearch.bat
Elasticsearchを自動起動設定するには、Windowsサービスに追加します services.msc
.
7.3 Logstashのインストール
Linuxで
1. Logstashのインストール
ElasticリポジトリからLogstashをインストールしてね:
sudo apt-get install logstash
2. Logstashの設定
logstash.confという設定ファイルを作成してね:
sudo nano /etc/logstash/conf.d/logstash.conf
Dockerログ収集用の設定例:
input {
beats {
port => 5044
}
}
filter {
json {
source => "message"
}
}
output {
elasticsearch {
hosts => ["localhost:9200"]
index => "docker-logs-%{+YYYY.MM.dd}"
}
}
3. Logstashの起動と自動起動設定
Logstashを起動して自動起動を有効化する:
sudo systemctl start logstash
sudo systemctl enable logstash
MacOSで
1. Homebrewを使ってLogstashをインストール
brew update
brew install logstash
2. Logstashの設定
Logstash設定フォルダ内にlogstash.confというファイルを作成してね:
nano /usr/local/etc/logstash/logstash.conf
設定例:
input {
beats {
port => 5044
}
}
filter {
json {
source => "message"
}
}
output {
elasticsearch {
hosts => ["localhost:9200"]
index => "docker-logs-%{+YYYY.MM.dd}"
}
}
3. Logstashの起動
Homebrewを使ってLogstashを起動:
logstash -f /usr/local/etc/logstash/logstash.conf
Windowsで
1. Logstashのダウンロードとインストール
公式サイトから最新のLogstashバージョンをダウンロード:https://www.elastic.co/downloads/logstash。
Logstashのアーカイブを適切な場所に展開(例:C:\logstash
)。
2. Logstashの設定
Logstash設定フォルダ内にlogstash.confファイルを作成してね:
notepad C:\logstash\config\logstash.conf
設定例:
input {
beats {
port => 5044
}
}
filter {
json {
source => "message"
}
}
output {
elasticsearch {
hosts => ["localhost:9200"]
index => "docker-logs-%{+YYYY.MM.dd}"
}
}
3. Logstashの起動
設定を使ってLogstashを起動する:
cd C:\logstash
bin\logstash.bat -f config\logstash.conf
7.4 Kibanaのインストール
Linuxの場合
1. Kibanaのインストール
Kibanaをインストールするには:
sudo apt-get install kibana
2. Kibanaの起動と自動起動の有効化
Kibanaを起動して自動起動を有効化するには:
sudo systemctl start kibana
sudo systemctl enable kibana
Kibanaは http://localhost:5601 で利用可能になります。
MacOSの場合
1. Homebrew経由でKibanaをインストール
brew update
brew install kibana
2. Kibanaの起動
Homebrewを使用してKibanaを起動するには:
brew services start kibana
Kibanaは http://localhost:5601 で利用可能になります。
Windowsの場合
1. Kibanaのダウンロードとインストール
公式サイトから最新バージョンのKibanaをダウンロードしてください: https://www.elastic.co/downloads/kibana.
Kibanaのアーカイブを便利な場所に解凍してください(例: C:\kibana
)。
2. Kibanaの起動
Kibanaを起動するには:
cd C:\kibana\bin
kibana.bat
Kibanaは http://localhost:5601 で利用可能になります。
8.5 Filebeatの設定でDockerログを収集する
Linuxの場合
1. Filebeatのインストール
ElasticリポジトリからFilebeatをインストールします:
sudo apt-get install filebeat
2. Filebeatの設定
Dockerログを収集するためにFilebeatを設定します:
sudo nano /etc/filebeat/filebeat.yml
設定例:
filebeat.inputs:
- type: docker
containers.ids:
- '*'
processors:
- add_docker_metadata: ~
output.logstash:
hosts: ["localhost:5044"]
3. Filebeatを開始し、自動起動を有効化する
Filebeatを開始し、自動起動を有効にします:
sudo systemctl start filebeat
sudo systemctl enable filebeat
MacOSの場合
1. HomebrewでFilebeatをインストールする
brew update
brew install filebeat
2. Filebeatの設定
filebeat.yml
ファイルを編集してFilebeatを設定します:
nano /usr/local/etc/filebeat/filebeat.yml
設定例:
filebeat.inputs:
- type: docker
containers.ids:
- '*'
processors:
- add_docker_metadata: ~
output.logstash:
hosts: ["localhost:5044"]
3. Filebeatを開始する
Homebrewを使用してFilebeatを開始します:
brew services start filebeat
Windowsの場合
1. Filebeatのダウンロードとインストール
公式サイトから最新バージョンのFilebeatをダウンロードします: https://www.elastic.co/downloads/beats/filebeat.
Filebeatアーカイブを適切な場所に解凍します(例: C:\filebeat
)。
2. Filebeatの設定
filebeat.yml
ファイルを編集します:
notepad C:\filebeat\filebeat.yml
設定例:
filebeat.inputs:
- type: docker
containers.ids:
- '*'
processors:
- add_docker_metadata: ~
output.logstash:
hosts: ["localhost:5044"]
3. Filebeatを開始する
Filebeatを開始します:
cd C:\filebeat
filebeat.exe -e -c filebeat.yml
GO TO FULL VERSION