Kibanaを一番シンプルに試す

# やりたいこと

- Kibana経由でElasticsearchを操作できるようにする
- Elasticsearchはシングルノードで構築する

# 前提条件

- VagrantでホスティングしたUbuntu Server 22.04 LTSにて検証を行う
- Elasticsearchの構築に関しては、『[Elasticsearchを一番シンプルに試す](https://qiita.com/h_tyokinuhata/items/5647c10be44a219b39d9)』を参照


# インストール

- 基本的に[公式ドキュメント](https://www.elastic.co/guide/en/kibana/current/deb.html)の手順に従っている

```bash
$ wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo gpg --dearmor -o /usr/share/keyrings/elasticsearch-keyring.gpg
$ sudo apt update
$ sudo apt install apt-transport-https -y
$ echo "deb [signed-by=/usr/share/keyrings/elasticsearch-keyring.gpg] https://artifacts.elastic.co/packages/8.x/apt stable main" | sudo tee /etc/apt/sources.list.d/elastic-8.x.list
$ sudo apt update
$ sudo apt install kibana -y
```

# 設定する

- ※ 変更点のみ抜粋
- リモートからHTTP(TCPポート5601番)でのアクセスを受け付けるよう設定
- `localhost:9200` でアクセス可能なElasticsearchを参照する設定

```bash
$ sudo vim /etc/kibana/kibana.yml
server.port: 5601
server.host: 0.0.0.0
elasticsearch.hosts: ["http://localhost:9200"]
```

- UFWを有効化する設定
- TCPポート5601番への外部からのアクセスを許可する設定

```bash
$ sudo ufw status
Status: inactive

$ sudo ufw enable
Command may disrupt existing ssh connections. Proceed with operation (y|n)? y
Firewall is active and enabled on system startup

$ sudo ufw status
Status: active

$ sudo ufw allow 5601/tcp
Rule added
Rule added (v6)

$ sudo ufw status
Status: active

To                         Action      From
--                         ------      ----
5601/tcp                   ALLOW       Anywhere                  
5601/tcp (v6)              ALLOW       Anywhere (v6)
```

# 起動する

```bash
$ sudo systemctl start kibana

$ sudo systemctl status kibana
● kibana.service - Kibana
     Loaded: loaded (/lib/systemd/system/kibana.service; disabled; vendor preset: enabled)
     Active: active (running) since Tue 2023-12-12 01:54:21 UTC; 3s ago
       Docs: https://www.elastic.co
   Main PID: 3674 (node)
      Tasks: 11 (limit: 2237)
     Memory: 113.1M
        CPU: 2.932s
     CGroup: /system.slice/kibana.service
             └─3674 /usr/share/kibana/bin/../node/bin/node /usr/share/kibana/bin/../src/cli/dist

Dec 12 01:54:21 ubuntu2204.localdomain systemd[1]: Started Kibana.
Dec 12 01:54:21 ubuntu2204.localdomain kibana[3674]: Kibana is currently running with legacy OpenSSL >
Dec 12 01:54:23 ubuntu2204.localdomain kibana[3674]: {"log.level":"info","@timestamp":"2023-12-12T01:>

$ ss -nlp | grep 5601
tcp   LISTEN 0      511                                       0.0.0.0:5601             0.0.0.0:*  
```

# 動作確認

- KibanaからElasticsearchに格納されているログを検索する手順
- ブラウザから `http://192.168.56.10:5601` にアクセス
- 「Explore on my own」を押下

![](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/78249/cb6ca989-057e-a28d-7d5e-95f74951f17b.png)

- 左上のハンバーガーメニューを押下

![](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/78249/e6cbcc19-7a41-c27c-67f0-7c8cd14e9a1c.png)

- 左側のメニューから「Management」を押下

![](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/78249/955b89fa-2477-44fd-c8c4-376ebc5d5bde.png)

- 左側のメニューから「Kibana > Data Views」を押下

![](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/78249/b8b2d793-8311-a640-1a39-0f0965d69427.png)

- 「Create data view」を押下

![](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/78249/e1294efb-e664-5a5d-bcc3-d9768eb30369.png)

- すでにElasticsearchで作成しているインデックス名を入力する
- 「Save data view to Kibana」を押下

![](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/78249/65f80369-e6f8-5d3d-29d1-c2119e1e46da.png)

- 左側のメニューから「Analytics > Discover」を押下

![](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/78249/bcfa4081-3467-3a7e-a4f7-6ce09e6a04e1.png)

- インデックスに追加されているログが一望できる

![](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/78249/f81d0767-bf9f-cf1f-f79a-d9106f4b0fbe.png)

- 上部にある検索窓からログを絞り込める

![](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/78249/bc6c2d20-6448-a1e7-5881-f3fc1e4ff3e0.png)