从零开始的弹性什么什么

在进行日志收集时,我调查了一下关于ElasticSearch和Kibana的传闻。

ElasticSearch是什么?

看了官方网站(什么是Elasticsearch?)的介绍信息。

开放源码的分布式搜索与分析引擎

写着 “と書いてあります”。

只是一听到”搜索引擎”,我就不禁会想到像Google、Yahoo之类的东西。

虽然对于日志收集,我有时候也会想,嗯?有点和想做的事情不太一样吧?但是,暂且不考虑这个……

在那里稍微调查了一下,基本上我认定它是一个类似数据库的东西。

顺便提一下,开发这个的是Elastic公司(Elastic N.V.)(N.V.好像是类似于日本的株式会社在荷兰的写法=荷兰的企业)。

Kibana是什么?

关于Kibana的官方网站上存在

我们提供了对使用Elasticsearch索引的数据进行搜索和可视化的功能。

如上所述,這個問題正如我所預料的那樣。

暂时先试着运行一下

执行环境是在本地的虚拟环境上使用的Amazon Linux2(Linux版本为4.14.193-149.317.amzn2.x86_64)。
首先创建/etc/yum.repos.d/elasticsearch.repo文件。

[elasticsearch-7.x]
name=Elasticsearch repository for 7.x packages
baseurl=https://artifacts.elastic.co/packages/7.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md
# yum -y install elasticsearch
# yum -y install kibana
# systemctl start elasticsearch
# systemctl start kibana

查了一下,感觉好像需要很多东西,但是能够运行ElasticSearch和Kibana的话,好像只需要这些就可以了。
通过systemctl status确认了一下,看起来没有问题。
不过在脆弱的本地虚拟环境里很快就遇到了内存不足的问题,所以将可能是内存使用量的地方从1GB更改为128MB。

# -Xms1g
# -Xmx1g
-Xms128m
-Xmx128m

在中国之后,通过 “systemctl restart elasticsearch “重新启动elasticsearch,然后使用curl测试其操作(如果尚未安装,则可以使用 “yum -y install curl” 命令来安装)。

# curl http://127.0.0.1:9200
{
  "name" : "*******",
  "cluster_name" : "elasticsearch",
  "cluster_uuid" : "*****15sQh6fdLnom*****",
  "version" : {
    "number" : "7.9.2",
    "build_flavor" : "default",
    "build_type" : "rpm",
    "build_hash" : "*****0ea4a966c4e49417f2da2f244e3e97*****",
    "build_date" : "2020-09-**T**:45:33.626720Z",
    "build_snapshot" : false,
    "lucene_version" : "8.6.2",
    "minimum_wire_compatibility_version" : "6.8.0",
    "minimum_index_compatibility_version" : "6.0.0-beta1"
  },
  "tagline" : "You Know, for Search"
}

因为我不太清楚,所以只遮住了一部分,确认一下有什么在动。

curl -X PUT "http://127.0.0.1:9200/test_index"

根据添加索引(类似于RDB中的数据库)的操作,也执行这个任务。

现在我们来谈谈另一个方面,Kibana。由于尚未进行任何设置,我们需要进行一些配置。

# コメント外して変更します。どこからでもアクセスできる状態?にとりあえず変更します
#server.host: "localhost"
server.host: "0.0.0.0"

#コメント外します。まんまですがelasticsearchの場所の指定ですね
#elasticsearch.hosts: ["http://localhost:9200"]
elasticsearch.hosts: ["http://localhost:9200"]

也可以通过systemctl restart kibana重新启动并等待一段时间,在主机的浏览器中进行确认。
然后,输入http://192.168.1.1:5601(当然根据环境进行修改)

00.jpg

确认Kibana已经启动!

01.jpg
02.jpg

我已经成功验证了ElasticSearch和Kibana的运行!

记事

# network.host: 192.168.0.1
network.host: 0.0.0.0
# ↑を追記(他からデータを入れるならこれが必要?)
/var/log/messagesみたらパーミッションエラーが出ていた際にやってみたこと
# chown elasticsearch:elasticsearch -R /var/log/elasticsearch
# chown elasticsearch:elasticsearch -R /etc/elasticsearch
# elasticsearch操作いろいろ

# インデックス作成
curl -X PUT "http://127.0.0.1:9200/test_index"

# prettyとつけるとjsonが整形
curl "http://127.0.0.1:9200/test_index?pretty"

# エイリアスはインデックスに着けられる別名
curl http://127.0.0.1:9200/_aliases?pretty

# インデックスの各設定が表示されます
curl http://127.0.0.1:9200/sample_index/_settings?pretty

# 全データ削除
curl -XDELETE 'http://localhost:9200/*'
bannerAds