本シリーズのトップページ |
---|
https://qiita.com/robozushi10/items/68dc5f8c2df38f160fda |
はじめに
職場1 で「CI/CD ログ」や「CLI および Webアプリログ」の収集と可視化の導入の話が出てきた.
また、自宅で K8s の学習をする中で Fluentd という単語が頻繁に出てきていた.
そこで自宅の Ubuntu 18.04 マシンで docker-compose を用いて、
下図・下表のような Elasticsearch + Fluentd + Kibana (EFK) 環境を構築して検証し、
これらソフトの知見を得ることにした.
本項では以下を記す.
・文書だけでは理解できない派 の私が、Elasticsearch を図で把握するために見たサイト を書き出す
構成
図
表
No | サービス | ホスト側ポート | コンテナ側ポート | 備考 |
---|---|---|---|---|
1 | Nginx | 21337 | 80 | 採用バージョン v1.20.0. Fluentd のテストのために導入しているだけである. 本表 No 2 の Fluentd(24224) へログを配送する. |
2 | Fluentd | 24224 | 24224 | 採用バージョン v1.13.1. 受信したログを本表 No 3 の Fluentd(34224)へ転送する. |
3 | Fluentd | 34224 | 34224 | 採用バージョン v1.13.1. 受信したログを stdout へ出力する. 本項記載時点では Elasticsearch との連携は未である. |
4 | Elasticsearch | 29200 | 29200 | 採用バージョン v7.14. ログ格納のためのデータストア. 日本語検索をするための analysis-kuromoji 導入あり. |
5 | Kibana | 29601 | 29601 | 採用バージョン v7.14. Elasticsearch の視覚化 |
留意次項
次の設定は職場環境を想定したためである.
・Fluentd を 2つ配置していること
・Elasticsearch のコンテナ側ポートを 9200 以外にしていること.
・Kibana のコンテナ側ポートを 5601 以外にしていること.
用語
インスタンス、ノード、クラスタ
用語と図ともに圧倒的に分かりやすかった.
項目 | URL |
---|---|
用語 | Qiita - Elasticsearchの構成要素について |
図 | Qiita - Elasticsearchの構成要素について |
インデックス、タイプ、ドキュメント、フィールド
RDBMS に置き換えた考え方が、個人的には合っていた.
項目 | URL |
---|---|
用語 | https://dev.classmethod.jp/articles/elasticsearch-getting-started-06/ |
図 | https://www.devopsschool.com/blog/wp-content/uploads/2018/09/Elasticsearch-Keywords-and-Terminology.jpg |
シャード (プライマリとレプリカ)
シャードの目的を把握すると理解できた気になった.
項目 | URL |
---|---|
用語 | https://dev.classmethod.jp/articles/elasticsearch-getting-started-06/#toc-5 |
図 | https://miro.medium.com/max/700/1*u6kVsD_Yl3DY43IJAixDqw.png |
マッピング
項目 | URL |
---|---|
用語 | https://dev.classmethod.jp/articles/es-01/#toc-6 |
図 | https://d2908q01vomqb2.cloudfront.net/887309d048beef83ad3eabf2a79a64a389ab1c9f/2018/11/19/DMSElasicsearch1.png |
転置インデックス
下図を見つつ「転置インデックス」についての説明文を読むことで理解できた気になった.
項目 | URL | 補足 |
---|---|---|
図 | https://www.slideshare.net/JunOhtani/elasticsearch-pyfes-201207 | ← P8, P9 のスライドが該当する |
以上.
参考書籍およびサイト
書籍 |
---|
nginx実践入門 |
「Docker/Kubernetes 実践コンテナ開発入門 山田 明憲」 |
データ分析基盤構築入門[Fluentd,Elasticsearch,Kibanaによるログ収集と可視化] |
検索だけじゃない Elasticsearch 入門+ |
URL | 一言 |
---|---|
https://qiita.com/sanyamarseille/items/1c4c31547502791ecac6 | |
https://www.elastic.co/guide/en/elastic-stack-get-started/current/get-started-docker.html | |
https://qiita.com/suzuki_y/items/6365799485fa3973b916 | |
https://qiita.com/sugikeitter/items/f3b2c57bf8bbdc47a8bc | |
https://github.com/sugikeitter/elasticsearch-kibana-docker/blob/master/docker-compose.yml | |
https://gitya107.hatenablog.com/entry/2018/06/15/170334 | |
http://ittoo.jugem.jp/?eid=737 | |
https://qiita.com/kaibadash@github/items/9cfb532696dc8711e408 | 日本語検索を可能にする |
https://qiita.com/mserizawa/items/8335d39cacb87f12b678 | 日本語検索を可能にする |
https://github.com/deviantony/docker-elk | ELK を構築するための docker-compose が公開されている |
https://dev.classmethod.jp/articles/es-01/ | index, document, type の説明が簡潔に RDMS に例えられていて良かった |
http://www.tech-joy.work/article/a20180527115811.html | /etc/elasticsearch/elasticsearch.yml の記述例と説明あり |
https://qiita.com/Esfahan/items/3c07bfbb57c7098e9531 | 3台に Elasticsearch を導入した場合の手順あり |
-
オンプレ環境での組込み機器開発向け DevOps 業務 ↩