0からDockerを使ってELKログ分析システム(社内ネットワーク)を構築する

2813 ワード

OS環境の構築
CentOS 7のサーバ(今回のESサービスはシングルノード)
システム構成
ログデータ収集はLogstashを用いて行い,収集したデータをElasticSearchに転送し,最後にKibanaでBI表示を行う.
前期準備
CentOS用Dockerインストール関連RPMパッケージのダウンロードhttps://download.docker.com/linux/centos/7/x86_64/stable/Packages/
以下の3つのRPMファイルdocker-ce-19.03.7-3をダウンロードした.el7.x86_64.rpm docker-ce-cli-19.03.7-3.el7.x86_64.rpm containerd.io-1.2.6-3.3.el7.x86_64.rpm
インストールコマンド:
yum install *.rpm

インストールにはcontainer-selinuxも必要かもしれませんCentos公式サイトでダウンロードしてインストールできます
ダウンロード関連Docker Image外部ネットワーク環境で直接Pull Docker Image
docker pull docker.elastic.co/elasticsearch/elasticsearch:7.6.2
docker pull docker.elastic.co/logstash/logstash:7.6.2
docker pull docker.elastic.co/kibana/kibana:7.6.2

また、イントラネット環境でエージェントをロードしてPullコマンドを実行して他のバージョンをダウンロードする必要がある場合は、7.6.2を他のバージョンに置き換えることもできます
インストールおよび構成
ESミラーの起動
docker run -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" docker.elastic.co/elasticsearch/elasticsearch:7.6.2

マルチノードの場合は、公式サイトの説明を参考にすることができますhttps://www.elastic.co/guide/en/elasticsearch/reference/7.6/docker.html
Kibanaミラーの起動
docker run --link   ES      ID:elasticsearch -p 5601:5601 docker.elastic.co/kibana/kibana:7.6.2

Logstashミラーの起動
構成データ収集Pipline
input {
  tcp {
    port => 5044
    codec => json
  }
}
output {
   elasticsearch {
      hosts => ["IP:9200"]
      index => "log_collection_%{+YYYY.MM}"
      document_type => "logs"
   }
}

ミラーの起動
docker run --rm -it -v     Pipline  :/usr/share/logstash/pipeline/ docker.elastic.co/logstash/logstash:7.6.2

環境の検証
ブラウザアクセスhttp://IP:5601KibanaおよびESに正しくアクセスして5044ポートにJSONデータを送信してKibanaに正しく表示すればよい
もしあなたを助けることができたら、「いいね」をクリックしてください.