0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

helmのみでELK stackをインストールする方法

Last updated at Posted at 2024-12-17

Kuberntes環境でELK stackのyamlファイルを使用せず,helmのみでインストールする方法について説明します.

まず,環境についてです.環境は以下のにようになっており,ノードは1台です.

ノードの詳細情報

  • CPU: 4core
  • メモリー: 16GB
  • ストレージ: 25GB
  • OS: Ubuntu 24.04

次に,インストールの手順についてです.以下の手順でインストールと説明をします.

インストール手順

  • k3sのインストール
  • helmのインストール
  • namespaceの作成
  • Elasticsearchのインストール
  • Logstashのインストール
  • Kibanaのインストール
  • usernameとpasswordを確認
  • Filebeatのインストール

k3sのインストール

sudo curl -sfL https://get.k3s.io | sh -
sudo cp -p /etc/rancher/k3s/k3s.yaml /tmp/config
sudo chmod 644 /tmp/config
echo "export KUBECONFIG=/tmp/config" >> ~/.bashrc
echo "export KUBECONFIG=/tmp/config" >> ~/.bashrc

helmのインストール

curl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3
chmod 700 get_helm.sh
./get_helm.sh
helm repo add elastic https://helm.elastic.co
helm repo update

namespaceの作成

namespaceがない場合は,作成する必要があるため,今回,例としてnamespaceをelasticとして作成するコマンドを載せます.

kubectl create namespace elastic

Elasticsearchのインストール

helm install elasticsearch elastic/elasticsearch -n elastic --set replicas=1

Logstashのインストール

helm install logstash elastic/logstash -n elastic --set replicas=1

Kibanaのインストール

helm install kibana elastic/kibana -n elastic \
  --set replicas=1 \
  --set service.type=NodePort \
  --set service.nodePort=30100 \
  --set service.port=5601 \
  --set elasticsearchHosts="https://elasticsearch-master:9200" \
  --timeout 30m \
  --wait=false

usernameとpasswordを確認

Filestreamをインストールする際にそれぞれのVM環境のpasswordが必要になるので,そのための確認コマンドです.

  • username
kubectl get secret elasticsearch-master-credentials -n elastic -o jsonpath='{.data.username}' | base64 --decode
  • password
kubectl get secret elasticsearch-master-credentials -n elastic -o jsonpath='{.data.username}' | base64 --decode

Filebeatのインストール

helm install filebeat elastic/filebeat -n elastic \
  --set daemonset.enabled=true \
  --set-string filebeatConfig."filebeat\.yml"="
filebeat.inputs:
  - type: container
    paths:
      - /var/log/containers/*.log
output.elasticsearch:
  hosts: [\"elasticsearch-master:9200\"]
  protocol: https
  username: \"elastic\"
  password: \"確かめたpasswordを入れる\"
  ssl.verification_mode: none"

これで手順は終了です.これによりELKstackがインストールされ使用できるようになります.

ELKStackとFilebeatが正常にインストールされ,起動されているかを確認するには,以下のコマンドを使用すると確認できます.

kubectl get pod -A

結果

このようにREADYが1/1になっており,STATUSがRunningになっていればOKです.

image.png

サイトにて,IPアドレス:ポート番号で検索をかけるとKibanaも閲覧可能です.ポート番号は30100です.

image.png

最後に

注意点として,passwordを適切なものに設定していなかったり,CPUの数が足りていなかったりすると,インストールの手順の中でエラーが起こるかもしれないので気を付けてください.

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?