Containerized, multiarch version of Kibana. Designed to be usable within x86-64, armv6, and armv7 based Docker Swarm clusters. Compatible with all Raspberry Pi models (armv6 + armv7).
Run on a single Docker engine node:
sudo docker run --rm -p 5601:5601 \
-v ${PWD}/config/example/kibana.yml:/opt/kibana/config/kibana.yml \
jmb12686/kibana
Run with with Compose on Docker Swarm:
version: "3.7"
services:
kibana:
image: jmb12686/kibana
ports:
- 5601:5601
configs:
- source: kibana_config
target: /opt/kibana/config/kibana.yml
networks:
- elk
deploy:
mode: replicated
replicas: 1
resources:
limits:
memory: 1024M
reservations:
memory: 1024M
configs:
kibana_config:
name: kibana_config-${CONFIG_VERSION:-0}
file: ./kibana/config/kibana.yml
networks:
elk:
driver: overlay
When navigating to the 'Discovery' tab, receive following error in UI:
No indices match pattern "apm-*"
This may be resolved simply by adding configuration in filebeat to setup index template on startup
-
Tweak the
apt install
blocks. I had to break them apart while debugging hanging build. -
Break the dockerfile into multistage build, push builder stage as described here: https://pythonspeed.com/articles/faster-multi-stage-builds/
Build using buildx
for multiarchitecture image and manifest support
Setup buildx
docker buildx create --name multiarchbuilder
docker buildx use multiarchbuilder
docker buildx inspect --bootstrap
[+] Building 0.0s (1/1) FINISHED
=> [internal] booting buildkit 5.7s
=> => pulling image moby/buildkit:buildx-stable-1 4.6s
=> => creating container buildx_buildkit_multiarchbuilder0 1.1s
Name: multiarchbuilder
Driver: docker-container
Nodes:
Name: multiarchbuilder0
Endpoint: npipe:////./pipe/docker_engine
Status: running
Platforms: linux/amd64, linux/arm64, linux/ppc64le, linux/s390x, linux/386, linux/arm/v7, linux/arm/v6
Build
docker buildx build --platform linux/arm,linux/amd64 -t jmb12686/kibana:latest --push .