ElastAlert Kibana Pluginをインストールした状態のKibanaのDockerイメージを作成する方法


この記事について

Kibana 6.8.1~6.8.11、7.5.1~7.8.1の対応版は、公式サイトにzipファイルが公開されていますが、Kibana 7.5.1からは公開されていません(2020/07/29現在)。
そのため、対応版のzipファイルの作成&インストールをKibanaに対して行った状態のDockerイメージの作成方法の記事を書きました。

ちなみに、Kibana 7.6.x対応については、公式サイトでプルリクエストが上がっていました(2020/04/07確認)
manually disabling payload validation on the routes to fix for Kibana 7.6.0 #148

準備

AWS workspaces (Amazon Linux2)

[Legacy] Route payload must be set to 'parse' when payload validation enabled #57777
Kibana ElastAlert rule editor does not work with Kibana 7.6.0 #119
update elasticsearch to 7.6.2; also, fix issue idaholab#119

cd
mkdir -p docker-image-build/kibana
cd docker-image-build/kibana
mkdir -p kibana/elastalert-kibana-plugin/server/routes
cd kibana/elastalert-kibana-plugin/server/routes
curl -L -O https://raw.githubusercontent.com/mmguero-dev/Malcolm/development/kibana/elastalert-kibana-plugin/server/routes/elastalert.js
cd 
cd docker-image-build/kibana
mkdir -p elastalert-kibana-plugin
cd elastalert-kibana-plugin
curl -L -O https://github.com/bitsensor/elastalert-kibana-plugin/releases/download/1.1.0/elastalert-kibana-plugin-1.1.0-7.5.0.zip
cd
cd docker-image-build/kibana
touch Dockerfile-elastalert-kibana-plugin-1.1.0-6.8.1
touch Dockerfile-elastalert-kibana-plugin-1.1.0-6.8.2
touch Dockerfile-elastalert-kibana-plugin-1.1.0-6.8.3
touch Dockerfile-elastalert-kibana-plugin-1.1.0-6.8.4
touch Dockerfile-elastalert-kibana-plugin-1.1.0-6.8.5
touch Dockerfile-elastalert-kibana-plugin-1.1.0-6.8.6
touch Dockerfile-elastalert-kibana-plugin-1.1.0-6.8.7
touch Dockerfile-elastalert-kibana-plugin-1.1.0-6.8.8
touch Dockerfile-elastalert-kibana-plugin-1.1.0-6.8.9
touch Dockerfile-elastalert-kibana-plugin-1.1.0-6.8.10
touch Dockerfile-elastalert-kibana-plugin-1.1.0-6.8.11
touch Dockerfile-elastalert-kibana-plugin-1.1.0-7.5.1
touch Dockerfile-elastalert-kibana-plugin-1.1.0-7.5.2
touch Dockerfile-elastalert-kibana-plugin-1.1.0-7.6.0
touch Dockerfile-elastalert-kibana-plugin-1.1.0-7.6.1
touch Dockerfile-elastalert-kibana-plugin-1.1.0-7.6.2
touch Dockerfile-elastalert-kibana-plugin-1.1.0-7.7.0
touch Dockerfile-elastalert-kibana-plugin-1.1.0-7.7.1
touch Dockerfile-elastalert-kibana-plugin-1.1.0-7.8.0
touch Dockerfile-elastalert-kibana-plugin-1.1.0-7.8.1

Kibana 6.8.1用のDockerイメージを作成する場合

Dockerfile-elastalert-kibana-plugin-1.1.0-6.8.1
FROM docker.elastic.co/kibana/kibana:6.8.1 AS builder

USER root

RUN yum install -y \
    zip \
    unzip && \
    rm -rf /var/cache/yum/* && \
    yum clean all

ADD elastalert-kibana-plugin/elastalert-kibana-plugin-1.1.0-7.5.0.zip /tmp/elastalert-kibana-plugin.zip

RUN cd /tmp && \
    unzip elastalert-kibana-plugin.zip kibana/elastalert-kibana-plugin/package.json && \
    sed -i "s/7\.5\.0/6\.8\.1/g" kibana/elastalert-kibana-plugin/package.json && \
    zip elastalert-kibana-plugin.zip kibana/elastalert-kibana-plugin/package.json

FROM docker.elastic.co/kibana/kibana:6.8.1

USER root

COPY --from=builder /tmp/elastalert-kibana-plugin.zip /tmp/elastalert-kibana-plugin.zip

RUN cd /tmp && \
    /usr/share/kibana/bin/kibana-plugin install file:///tmp/elastalert-kibana-plugin.zip

USER kibana

Dockerイメージ作成

docker build -f Dockerfile-elastalert-kibana-plugin-1.1.0-6.8.1 -t kibana-elastalert:6.8.1 .

Kibana 6.8.2用のDockerイメージを作成する場合

Dockerfile-elastalert-kibana-plugin-1.1.0-6.8.2
FROM docker.elastic.co/kibana/kibana:6.8.2 AS builder

USER root

RUN yum install -y \
    zip \
    unzip && \
    rm -rf /var/cache/yum/* && \
    yum clean all

ADD elastalert-kibana-plugin/elastalert-kibana-plugin-1.1.0-7.5.0.zip /tmp/elastalert-kibana-plugin.zip

RUN cd /tmp && \
    unzip elastalert-kibana-plugin.zip kibana/elastalert-kibana-plugin/package.json && \
    sed -i "s/7\.5\.0/6\.8\.2/g" kibana/elastalert-kibana-plugin/package.json && \
    zip elastalert-kibana-plugin.zip kibana/elastalert-kibana-plugin/package.json

FROM docker.elastic.co/kibana/kibana:6.8.2

USER root

COPY --from=builder /tmp/elastalert-kibana-plugin.zip /tmp/elastalert-kibana-plugin.zip

RUN cd /tmp && \
    /usr/share/kibana/bin/kibana-plugin install file:///tmp/elastalert-kibana-plugin.zip

USER kibana

Dockerイメージ作成

docker build -f Dockerfile-elastalert-kibana-plugin-1.1.0-6.8.2 -t kibana-elastalert:6.8.2 .

Kibana 6.8.3用のDockerイメージを作成する場合

Dockerfile-elastalert-kibana-plugin-1.1.0-6.8.3
FROM docker.elastic.co/kibana/kibana:6.8.3 AS builder

USER root

RUN yum install -y \
    zip \
    unzip && \
    rm -rf /var/cache/yum/* && \
    yum clean all

ADD elastalert-kibana-plugin/elastalert-kibana-plugin-1.1.0-7.5.0.zip /tmp/elastalert-kibana-plugin.zip

RUN cd /tmp && \
    unzip elastalert-kibana-plugin.zip kibana/elastalert-kibana-plugin/package.json && \
    sed -i "s/7\.5\.0/6\.8\.3/g" kibana/elastalert-kibana-plugin/package.json && \
    zip elastalert-kibana-plugin.zip kibana/elastalert-kibana-plugin/package.json

FROM docker.elastic.co/kibana/kibana:6.8.3

USER root

COPY --from=builder /tmp/elastalert-kibana-plugin.zip /tmp/elastalert-kibana-plugin.zip

RUN cd /tmp && \
    /usr/share/kibana/bin/kibana-plugin install file:///tmp/elastalert-kibana-plugin.zip

USER kibana

Dockerイメージ作成

docker build -f Dockerfile-elastalert-kibana-plugin-1.1.0-6.8.3 -t kibana-elastalert:6.8.3 .

Kibana 6.8.4用のDockerイメージを作成する場合

Dockerfile-elastalert-kibana-plugin-1.1.0-6.8.4
FROM docker.elastic.co/kibana/kibana:6.8.4 AS builder

USER root

RUN yum install -y \
    zip \
    unzip && \
    rm -rf /var/cache/yum/* && \
    yum clean all

ADD elastalert-kibana-plugin/elastalert-kibana-plugin-1.1.0-7.5.0.zip /tmp/elastalert-kibana-plugin.zip

RUN cd /tmp && \
    unzip elastalert-kibana-plugin.zip kibana/elastalert-kibana-plugin/package.json && \
    sed -i "s/7\.5\.0/6\.8\.4/g" kibana/elastalert-kibana-plugin/package.json && \
    zip elastalert-kibana-plugin.zip kibana/elastalert-kibana-plugin/package.json

FROM docker.elastic.co/kibana/kibana:6.8.4

USER root

COPY --from=builder /tmp/elastalert-kibana-plugin.zip /tmp/elastalert-kibana-plugin.zip

RUN cd /tmp && \
    /usr/share/kibana/bin/kibana-plugin install file:///tmp/elastalert-kibana-plugin.zip

USER kibana

Dockerイメージ作成

docker build -f Dockerfile-elastalert-kibana-plugin-1.1.0-6.8.4 -t kibana-elastalert:6.8.4 .

Kibana 6.8.5用のDockerイメージを作成する場合

Dockerfile-elastalert-kibana-plugin-1.1.0-6.8.5
FROM docker.elastic.co/kibana/kibana:6.8.5 AS builder

USER root

RUN yum install -y \
    zip \
    unzip && \
    rm -rf /var/cache/yum/* && \
    yum clean all

ADD elastalert-kibana-plugin/elastalert-kibana-plugin-1.1.0-7.5.0.zip /tmp/elastalert-kibana-plugin.zip

RUN cd /tmp && \
    unzip elastalert-kibana-plugin.zip kibana/elastalert-kibana-plugin/package.json && \
    sed -i "s/7\.5\.0/6\.8\.5/g" kibana/elastalert-kibana-plugin/package.json && \
    zip elastalert-kibana-plugin.zip kibana/elastalert-kibana-plugin/package.json

FROM docker.elastic.co/kibana/kibana:6.8.5

USER root

COPY --from=builder /tmp/elastalert-kibana-plugin.zip /tmp/elastalert-kibana-plugin.zip

RUN cd /tmp && \
    /usr/share/kibana/bin/kibana-plugin install file:///tmp/elastalert-kibana-plugin.zip

USER kibana

Dockerイメージ作成

docker build -f Dockerfile-elastalert-kibana-plugin-1.1.0-6.8.5 -t kibana-elastalert:6.8.5 .

Kibana 6.8.6用のDockerイメージを作成する場合

Dockerfile-elastalert-kibana-plugin-1.1.0-6.8.6
FROM docker.elastic.co/kibana/kibana:6.8.6 AS builder

USER root

RUN yum install -y \
    zip \
    unzip && \
    rm -rf /var/cache/yum/* && \
    yum clean all

ADD elastalert-kibana-plugin/elastalert-kibana-plugin-1.1.0-7.5.0.zip /tmp/elastalert-kibana-plugin.zip

RUN cd /tmp && \
    unzip elastalert-kibana-plugin.zip kibana/elastalert-kibana-plugin/package.json && \
    sed -i "s/7\.5\.0/6\.8\.6/g" kibana/elastalert-kibana-plugin/package.json && \
    zip elastalert-kibana-plugin.zip kibana/elastalert-kibana-plugin/package.json

FROM docker.elastic.co/kibana/kibana:6.8.6

USER root

COPY --from=builder /tmp/elastalert-kibana-plugin.zip /tmp/elastalert-kibana-plugin.zip

RUN cd /tmp && \
    /usr/share/kibana/bin/kibana-plugin install file:///tmp/elastalert-kibana-plugin.zip

USER kibana

Dockerイメージ作成

docker build -f Dockerfile-elastalert-kibana-plugin-1.1.0-6.8.6 -t kibana-elastalert:6.8.6 .

Kibana 6.8.7用のDockerイメージを作成する場合

Dockerfile-elastalert-kibana-plugin-1.1.0-6.8.7
FROM docker.elastic.co/kibana/kibana:6.8.7 AS builder

USER root

RUN yum install -y \
    zip \
    unzip && \
    rm -rf /var/cache/yum/* && \
    yum clean all

ADD elastalert-kibana-plugin/elastalert-kibana-plugin-1.1.0-7.5.0.zip /tmp/elastalert-kibana-plugin.zip

RUN cd /tmp && \
    unzip elastalert-kibana-plugin.zip kibana/elastalert-kibana-plugin/package.json && \
    sed -i "s/7\.5\.0/6\.8\.7/g" kibana/elastalert-kibana-plugin/package.json && \
    zip elastalert-kibana-plugin.zip kibana/elastalert-kibana-plugin/package.json

FROM docker.elastic.co/kibana/kibana:6.8.7

USER root

COPY --from=builder /tmp/elastalert-kibana-plugin.zip /tmp/elastalert-kibana-plugin.zip

RUN cd /tmp && \
    /usr/share/kibana/bin/kibana-plugin install file:///tmp/elastalert-kibana-plugin.zip

USER kibana

Dockerイメージ作成

docker build -f Dockerfile-elastalert-kibana-plugin-1.1.0-6.8.7 -t kibana-elastalert:6.8.7 .

Kibana 6.8.8用のDockerイメージを作成する場合

Dockerfile-elastalert-kibana-plugin-1.1.0-6.8.8
FROM docker.elastic.co/kibana/kibana:6.8.8 AS builder

USER root

RUN yum install -y \
    zip \
    unzip && \
    rm -rf /var/cache/yum/* && \
    yum clean all

ADD elastalert-kibana-plugin/elastalert-kibana-plugin-1.1.0-7.5.0.zip /tmp/elastalert-kibana-plugin.zip

RUN cd /tmp && \
    unzip elastalert-kibana-plugin.zip kibana/elastalert-kibana-plugin/package.json && \
    sed -i "s/7\.5\.0/6\.8\.8/g" kibana/elastalert-kibana-plugin/package.json && \
    zip elastalert-kibana-plugin.zip kibana/elastalert-kibana-plugin/package.json

FROM docker.elastic.co/kibana/kibana:6.8.8

USER root

COPY --from=builder /tmp/elastalert-kibana-plugin.zip /tmp/elastalert-kibana-plugin.zip

RUN cd /tmp && \
    /usr/share/kibana/bin/kibana-plugin install file:///tmp/elastalert-kibana-plugin.zip

USER kibana

Dockerイメージ作成

docker build -f Dockerfile-elastalert-kibana-plugin-1.1.0-6.8.8 -t kibana-elastalert:6.8.8 .

Kibana 6.8.9用のDockerイメージを作成する場合

Dockerfile-elastalert-kibana-plugin-1.1.0-6.8.9
FROM docker.elastic.co/kibana/kibana:6.8.9 AS builder

USER root

RUN yum install -y \
    zip \
    unzip && \
    rm -rf /var/cache/yum/* && \
    yum clean all

ADD elastalert-kibana-plugin/elastalert-kibana-plugin-1.1.0-7.5.0.zip /tmp/elastalert-kibana-plugin.zip

RUN cd /tmp && \
    unzip elastalert-kibana-plugin.zip kibana/elastalert-kibana-plugin/package.json && \
    sed -i "s/7\.5\.0/6\.8\.9/g" kibana/elastalert-kibana-plugin/package.json && \
    zip elastalert-kibana-plugin.zip kibana/elastalert-kibana-plugin/package.json

FROM docker.elastic.co/kibana/kibana:6.8.9

USER root

COPY --from=builder /tmp/elastalert-kibana-plugin.zip /tmp/elastalert-kibana-plugin.zip

RUN cd /tmp && \
    /usr/share/kibana/bin/kibana-plugin install file:///tmp/elastalert-kibana-plugin.zip

USER kibana

Dockerイメージ作成

docker build -f Dockerfile-elastalert-kibana-plugin-1.1.0-6.8.9 -t kibana-elastalert:6.8.9 .

Kibana 6.8.10用のDockerイメージを作成する場合

Dockerfile-elastalert-kibana-plugin-1.1.0-6.8.10
FROM docker.elastic.co/kibana/kibana:6.8.10 AS builder

USER root

RUN yum install -y \
    zip \
    unzip && \
    rm -rf /var/cache/yum/* && \
    yum clean all

ADD elastalert-kibana-plugin/elastalert-kibana-plugin-1.1.0-7.5.0.zip /tmp/elastalert-kibana-plugin.zip

RUN cd /tmp && \
    unzip elastalert-kibana-plugin.zip kibana/elastalert-kibana-plugin/package.json && \
    sed -i "s/7\.5\.0/6\.8\.10/g" kibana/elastalert-kibana-plugin/package.json && \
    zip elastalert-kibana-plugin.zip kibana/elastalert-kibana-plugin/package.json

FROM docker.elastic.co/kibana/kibana:6.8.10

USER root

COPY --from=builder /tmp/elastalert-kibana-plugin.zip /tmp/elastalert-kibana-plugin.zip

RUN cd /tmp && \
    /usr/share/kibana/bin/kibana-plugin install file:///tmp/elastalert-kibana-plugin.zip

USER kibana

Dockerイメージ作成

docker build -f Dockerfile-elastalert-kibana-plugin-1.1.0-6.8.10 -t kibana-elastalert:6.8.10 .

Kibana 6.8.11用のDockerイメージを作成する場合

Dockerfile-elastalert-kibana-plugin-1.1.0-6.8.11
FROM docker.elastic.co/kibana/kibana:6.8.11 AS builder

USER root

RUN yum install -y \
    zip \
    unzip && \
    rm -rf /var/cache/yum/* && \
    yum clean all

ADD elastalert-kibana-plugin/elastalert-kibana-plugin-1.1.0-7.5.0.zip /tmp/elastalert-kibana-plugin.zip

RUN cd /tmp && \
    unzip elastalert-kibana-plugin.zip kibana/elastalert-kibana-plugin/package.json && \
    sed -i "s/7\.5\.0/6\.8\.11/g" kibana/elastalert-kibana-plugin/package.json && \
    zip elastalert-kibana-plugin.zip kibana/elastalert-kibana-plugin/package.json

FROM docker.elastic.co/kibana/kibana:6.8.11

USER root

COPY --from=builder /tmp/elastalert-kibana-plugin.zip /tmp/elastalert-kibana-plugin.zip

RUN cd /tmp && \
    /usr/share/kibana/bin/kibana-plugin install file:///tmp/elastalert-kibana-plugin.zip

USER kibana

Dockerイメージ作成

docker build -f Dockerfile-elastalert-kibana-plugin-1.1.0-6.8.11 -t kibana-elastalert:6.8.11 .

Kibana 7.5.1用のDockerイメージを作成する場合

Dockerfile-elastalert-kibana-plugin-1.1.0-7.5.1
FROM docker.elastic.co/kibana/kibana:7.5.1 AS builder

USER root

RUN yum install -y \
    zip \
    unzip && \
    rm -rf /var/cache/yum/* && \
    yum clean all

ADD elastalert-kibana-plugin/elastalert-kibana-plugin-1.1.0-7.5.0.zip /tmp/elastalert-kibana-plugin.zip

RUN cd /tmp && \
    unzip elastalert-kibana-plugin.zip kibana/elastalert-kibana-plugin/package.json && \
    sed -i "s/7\.5\.0/7\.5\.1/g" kibana/elastalert-kibana-plugin/package.json && \
    zip elastalert-kibana-plugin.zip kibana/elastalert-kibana-plugin/package.json

FROM docker.elastic.co/kibana/kibana:7.5.1

USER root

COPY --from=builder /tmp/elastalert-kibana-plugin.zip /tmp/elastalert-kibana-plugin.zip

RUN cd /tmp && \
    /usr/share/kibana/bin/kibana-plugin install file:///tmp/elastalert-kibana-plugin.zip --allow-root

USER kibana

Dockerイメージ作成

docker build -f Dockerfile-elastalert-kibana-plugin-1.1.0-7.5.1 -t kibana-elastalert:7.5.1 .

Kibana 7.5.2用のDockerイメージを作成する場合

Dockerfile-elastalert-kibana-plugin-1.1.0-7.5.2
FROM docker.elastic.co/kibana/kibana:7.5.2 AS builder

USER root

RUN yum install -y \
    zip \
    unzip && \
    rm -rf /var/cache/yum/* && \
    yum clean all

ADD elastalert-kibana-plugin/elastalert-kibana-plugin-1.1.0-7.5.0.zip /tmp/elastalert-kibana-plugin.zip

RUN cd /tmp && \
    unzip elastalert-kibana-plugin.zip kibana/elastalert-kibana-plugin/package.json && \
    sed -i "s/7\.5\.0/7\.5\.2/g" kibana/elastalert-kibana-plugin/package.json && \
    zip elastalert-kibana-plugin.zip kibana/elastalert-kibana-plugin/package.json

FROM docker.elastic.co/kibana/kibana:7.5.2

USER root

COPY --from=builder /tmp/elastalert-kibana-plugin.zip /tmp/elastalert-kibana-plugin.zip

RUN cd /tmp && \
    /usr/share/kibana/bin/kibana-plugin install file:///tmp/elastalert-kibana-plugin.zip --allow-root

USER kibana

Dockerイメージ作成

docker build -f Dockerfile-elastalert-kibana-plugin-1.1.0-7.5.2 -t kibana-elastalert:7.5.2 .

Kibana 7.6.0用のDockerイメージを作成する場合

Dockerfile-elastalert-kibana-plugin-1.1.0-7.6.0
FROM docker.elastic.co/kibana/kibana:7.6.0 AS builder

USER root

RUN yum install -y \
    zip \
    unzip && \
    rm -rf /var/cache/yum/* && \
    yum clean all

ADD elastalert-kibana-plugin/elastalert-kibana-plugin-1.1.0-7.5.0.zip /tmp/elastalert-kibana-plugin.zip
ADD kibana/elastalert-kibana-plugin/server/routes/elastalert.js /tmp/elastalert-server-routes.js

RUN cd /tmp && \
      unzip elastalert-kibana-plugin.zip kibana/elastalert-kibana-plugin/package.json && \
      sed -i "s/7\.5\.0/7\.6\.0/g" kibana/elastalert-kibana-plugin/package.json && \
      mkdir -p kibana/elastalert-kibana-plugin/server/routes/ && \
      cp /tmp/elastalert-server-routes.js kibana/elastalert-kibana-plugin/server/routes/elastalert.js && \
      zip elastalert-kibana-plugin.zip kibana/elastalert-kibana-plugin/package.json kibana/elastalert-kibana-plugin/server/routes/elastalert.js

FROM docker.elastic.co/kibana/kibana:7.6.0

USER root

COPY --from=builder /tmp/elastalert-kibana-plugin.zip /tmp/elastalert-kibana-plugin.zip

RUN cd /tmp && \
    /usr/share/kibana/bin/kibana-plugin install file:///tmp/elastalert-kibana-plugin.zip --allow-root

USER kibana

Dockerイメージ作成

docker build -f Dockerfile-elastalert-kibana-plugin-1.1.0-7.6.0 -t kibana-elastalert:7.6.0 .

Kibana 7.6.1用のDockerイメージを作成する場合

Dockerfile-elastalert-kibana-plugin-1.1.0-7.6.1
FROM docker.elastic.co/kibana/kibana:7.6.1 AS builder

USER root

RUN yum install -y \
    zip \
    unzip && \
    rm -rf /var/cache/yum/* && \
    yum clean all

ADD elastalert-kibana-plugin/elastalert-kibana-plugin-1.1.0-7.5.0.zip /tmp/elastalert-kibana-plugin.zip
ADD kibana/elastalert-kibana-plugin/server/routes/elastalert.js /tmp/elastalert-server-routes.js

RUN cd /tmp && \
      unzip elastalert-kibana-plugin.zip kibana/elastalert-kibana-plugin/package.json && \
      sed -i "s/7\.5\.0/7\.6\.1/g" kibana/elastalert-kibana-plugin/package.json && \
      mkdir -p kibana/elastalert-kibana-plugin/server/routes/ && \
      cp /tmp/elastalert-server-routes.js kibana/elastalert-kibana-plugin/server/routes/elastalert.js && \
      zip elastalert-kibana-plugin.zip kibana/elastalert-kibana-plugin/package.json kibana/elastalert-kibana-plugin/server/routes/elastalert.js

FROM docker.elastic.co/kibana/kibana:7.6.1

USER root

COPY --from=builder /tmp/elastalert-kibana-plugin.zip /tmp/elastalert-kibana-plugin.zip

RUN cd /tmp && \
    /usr/share/kibana/bin/kibana-plugin install file:///tmp/elastalert-kibana-plugin.zip --allow-root

USER kibana

Dockerイメージ作成

docker build -f Dockerfile-elastalert-kibana-plugin-1.1.0-7.6.1 -t kibana-elastalert:7.6.1 .

Kibana 7.6.2用のDockerイメージを作成する場合

Dockerfile-elastalert-kibana-plugin-1.1.0-7.6.2
FROM docker.elastic.co/kibana/kibana:7.6.2 AS builder

USER root

RUN yum install -y \
    zip \
    unzip && \
    rm -rf /var/cache/yum/* && \
    yum clean all

ADD elastalert-kibana-plugin/elastalert-kibana-plugin-1.1.0-7.5.0.zip /tmp/elastalert-kibana-plugin.zip
ADD kibana/elastalert-kibana-plugin/server/routes/elastalert.js /tmp/elastalert-server-routes.js

RUN cd /tmp && \
      unzip elastalert-kibana-plugin.zip kibana/elastalert-kibana-plugin/package.json && \
      sed -i "s/7\.5\.0/7\.6\.2/g" kibana/elastalert-kibana-plugin/package.json && \
      mkdir -p kibana/elastalert-kibana-plugin/server/routes/ && \
      cp /tmp/elastalert-server-routes.js kibana/elastalert-kibana-plugin/server/routes/elastalert.js && \
      zip elastalert-kibana-plugin.zip kibana/elastalert-kibana-plugin/package.json kibana/elastalert-kibana-plugin/server/routes/elastalert.js

FROM docker.elastic.co/kibana/kibana:7.6.2

USER root

COPY --from=builder /tmp/elastalert-kibana-plugin.zip /tmp/elastalert-kibana-plugin.zip

RUN cd /tmp && \
    /usr/share/kibana/bin/kibana-plugin install file:///tmp/elastalert-kibana-plugin.zip --allow-root

USER kibana

Dockerイメージ作成

docker build -f Dockerfile-elastalert-kibana-plugin-1.1.0-7.6.2 -t kibana-elastalert:7.6.2 .

Kibana 7.7.0用のDockerイメージを作成する場合

Dockerfile-elastalert-kibana-plugin-1.1.0-7.7.0
FROM docker.elastic.co/kibana/kibana:7.7.0 AS builder

USER root

RUN yum install -y \
    zip \
    unzip && \
    rm -rf /var/cache/yum/* && \
    yum clean all

ADD elastalert-kibana-plugin/elastalert-kibana-plugin-1.1.0-7.5.0.zip /tmp/elastalert-kibana-plugin.zip
ADD kibana/elastalert-kibana-plugin/server/routes/elastalert.js /tmp/elastalert-server-routes.js

RUN cd /tmp && \
      unzip elastalert-kibana-plugin.zip kibana/elastalert-kibana-plugin/package.json && \
      sed -i "s/7\.5\.0/7\.7\.0/g" kibana/elastalert-kibana-plugin/package.json && \
      mkdir -p kibana/elastalert-kibana-plugin/server/routes/ && \
      cp /tmp/elastalert-server-routes.js kibana/elastalert-kibana-plugin/server/routes/elastalert.js && \
      zip elastalert-kibana-plugin.zip kibana/elastalert-kibana-plugin/package.json kibana/elastalert-kibana-plugin/server/routes/elastalert.js

FROM docker.elastic.co/kibana/kibana:7.7.0

USER root

COPY --from=builder /tmp/elastalert-kibana-plugin.zip /tmp/elastalert-kibana-plugin.zip

RUN cd /tmp && \
    /usr/share/kibana/bin/kibana-plugin install file:///tmp/elastalert-kibana-plugin.zip --allow-root

USER kibana

Dockerイメージ作成

docker build -f Dockerfile-elastalert-kibana-plugin-1.1.0-7.7.0 -t kibana-elastalert:7.7.0 .

Kibana 7.7.1用のDockerイメージを作成する場合

Dockerfile-elastalert-kibana-plugin-1.1.0-7.7.1
FROM docker.elastic.co/kibana/kibana:7.7.1 AS builder

USER root

RUN yum install -y \
    zip \
    unzip && \
    rm -rf /var/cache/yum/* && \
    yum clean all

ADD elastalert-kibana-plugin/elastalert-kibana-plugin-1.1.0-7.5.0.zip /tmp/elastalert-kibana-plugin.zip
ADD kibana/elastalert-kibana-plugin/server/routes/elastalert.js /tmp/elastalert-server-routes.js

RUN cd /tmp && \
      unzip elastalert-kibana-plugin.zip kibana/elastalert-kibana-plugin/package.json && \
      sed -i "s/7\.5\.0/7\.7\.1/g" kibana/elastalert-kibana-plugin/package.json && \
      mkdir -p kibana/elastalert-kibana-plugin/server/routes/ && \
      cp /tmp/elastalert-server-routes.js kibana/elastalert-kibana-plugin/server/routes/elastalert.js && \
      zip elastalert-kibana-plugin.zip kibana/elastalert-kibana-plugin/package.json kibana/elastalert-kibana-plugin/server/routes/elastalert.js

FROM docker.elastic.co/kibana/kibana:7.7.1

USER root

COPY --from=builder /tmp/elastalert-kibana-plugin.zip /tmp/elastalert-kibana-plugin.zip

RUN cd /tmp && \
    /usr/share/kibana/bin/kibana-plugin install file:///tmp/elastalert-kibana-plugin.zip --allow-root

USER kibana

Dockerイメージ作成

docker build -f Dockerfile-elastalert-kibana-plugin-1.1.0-7.7.1 -t kibana-elastalert:7.7.1 .

Kibana 7.8.0用のDockerイメージを作成する場合

Dockerfile-elastalert-kibana-plugin-1.1.0-7.8.0
FROM docker.elastic.co/kibana/kibana:7.8.0 AS builder

USER root

RUN yum install -y \
    zip \
    unzip && \
    rm -rf /var/cache/yum/* && \
    yum clean all

ADD elastalert-kibana-plugin/elastalert-kibana-plugin-1.1.0-7.5.0.zip /tmp/elastalert-kibana-plugin.zip
ADD kibana/elastalert-kibana-plugin/server/routes/elastalert.js /tmp/elastalert-server-routes.js

RUN cd /tmp && \
      unzip elastalert-kibana-plugin.zip kibana/elastalert-kibana-plugin/package.json && \
      sed -i "s/7\.5\.0/7\.8\.0/g" kibana/elastalert-kibana-plugin/package.json && \
      mkdir -p kibana/elastalert-kibana-plugin/server/routes/ && \
      cp /tmp/elastalert-server-routes.js kibana/elastalert-kibana-plugin/server/routes/elastalert.js && \
      zip elastalert-kibana-plugin.zip kibana/elastalert-kibana-plugin/package.json kibana/elastalert-kibana-plugin/server/routes/elastalert.js

FROM docker.elastic.co/kibana/kibana:7.8.0

USER root

COPY --from=builder /tmp/elastalert-kibana-plugin.zip /tmp/elastalert-kibana-plugin.zip

RUN cd /tmp && \
    /usr/share/kibana/bin/kibana-plugin install file:///tmp/elastalert-kibana-plugin.zip --allow-root

USER kibana

Dockerイメージ作成

docker build -f Dockerfile-elastalert-kibana-plugin-1.1.0-7.8.0 -t kibana-elastalert:7.8.0 .

Kibana 7.8.1用のDockerイメージを作成する場合

Dockerfile-elastalert-kibana-plugin-1.1.0-7.8.1
FROM docker.elastic.co/kibana/kibana:7.8.1 AS builder

USER root

RUN yum install -y \
    zip \
    unzip && \
    rm -rf /var/cache/yum/* && \
    yum clean all

ADD elastalert-kibana-plugin/elastalert-kibana-plugin-1.1.0-7.5.0.zip /tmp/elastalert-kibana-plugin.zip
ADD kibana/elastalert-kibana-plugin/server/routes/elastalert.js /tmp/elastalert-server-routes.js

RUN cd /tmp && \
      unzip elastalert-kibana-plugin.zip kibana/elastalert-kibana-plugin/package.json && \
      sed -i "s/7\.5\.0/7\.8\.1/g" kibana/elastalert-kibana-plugin/package.json && \
      mkdir -p kibana/elastalert-kibana-plugin/server/routes/ && \
      cp /tmp/elastalert-server-routes.js kibana/elastalert-kibana-plugin/server/routes/elastalert.js && \
      zip elastalert-kibana-plugin.zip kibana/elastalert-kibana-plugin/package.json kibana/elastalert-kibana-plugin/server/routes/elastalert.js

FROM docker.elastic.co/kibana/kibana:7.8.1

USER root

COPY --from=builder /tmp/elastalert-kibana-plugin.zip /tmp/elastalert-kibana-plugin.zip

RUN cd /tmp && \
    /usr/share/kibana/bin/kibana-plugin install file:///tmp/elastalert-kibana-plugin.zip --allow-root

USER kibana

Dockerイメージ作成

docker build -f Dockerfile-elastalert-kibana-plugin-1.1.0-7.8.1 -t kibana-elastalert:7.8.1 .