Skip to end of banner
Go to start of banner

ERP 17.08 Building ELK (ElasticSearch, LogStash and Kibana) on Aarch64

Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 47 Current »

Introduction


 

Build


Sources

Environment

Pre-Requisites

Docker, git

Dependencies

Install Prerequisites

# install docker engine
apt-get install -y docker.io git

Build Steps

Following scripts are expected to run in a debian-8 container.

Building ElasticSearch

Debian

# install prerequisites
echo "deb http://http.debian.net/debian jessie-backports main" | tee /etc/apt/sources.list.d/backports.list
sudo apt-get update -y
sudo apt-get install -y -t jessie-backports openjdk-8-jdk git build-essential automake autoconf libtool curl unzip rpm texinfo locales-all tar wget python-requests

wget https://services.gradle.org/distributions/gradle-3.5.1-bin.zip -O /tmp/gradle-3.5.1-bin.zip
cd ${HOME} && unzip /tmp/gradle-3.5.1-bin.zip && rm /tmp/gradle-3.5.1-bin.zip
ln -s gradle-3.5.1 gradle

# setup environments
export LANG="en_US.UTF-8"
export PATH=${HOME}/gradle/bin:$PATH
export JAVA_TOOL_OPTIONS="-Dfile.encoding=UTF8"

# setup JAVA_HOME
cd /usr/lib/jvm/java-8-openjdk-*
export JAVA_HOME=${PWD}

# clone the ElasticSearch v5.4.1
git clone --depth 1 https://git.linaro.org/leg/bigdata/elasticsearch.git -b v5.4.1 ${WORKSPACE}/elasticsearch
cd ${WORKSPACE}/elasticsearch

# okay everything is in place
gradle assemble -Dbuild.snapshot=false

Building Logstash

Debian

# install prerequisites
echo "deb http://http.debian.net/debian jessie-backports main" | tee /etc/apt/sources.list.d/backports.list
sudo apt-get update -y
sudo apt-get install -y -t jessie-backports openjdk-8-jdk git build-essential rubygems texinfo locales-all automake autoconf libtool wget unzip curl maven ant tar python-requests

sudo gem install rake
sudo gem install bundler

# setup environments
export RELEASE=1
export LANG="en_US.UTF-8"
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-arm64

# clone the Logstash definitions
git clone --depth 1 https://git.linaro.org/leg/bigdata/logstash.git -b v5.4.1 ${WORKSPACE}/logstash
cd ${WORKSPACE}/logstash

# okay everything is in place
rake bootstrap
rake plugin:install-default

rake artifact:deb

Building Kibana

Debian

# setup environments
export LANG="en_US.UTF-8"

# install prerequisites
sudo apt-get update -y
sudo apt-get install -y git build-essential automake autoconf libtool libffi-dev ruby-dev rubygems python2.7 curl zip rpm python-requests

sudo gem install fpm -v 1.5.0
sudo gem install pleaserun -v 0.0.24
sudo ln -s /usr/bin/python2.7 /usr/bin/python

curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.2/install.sh | bash
source ${HOME}/.bashrc

# clone the Kibana definitions
git clone --depth 1 https://git.linaro.org/leg/bigdata/kibana.git -b v5.4.1 ${WORKSPACE}/kibana


curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.2/install.sh | bash
source ${HOME}/.profile
			
#Install the version of node.js listed in the .node-version file (this can be easily automated with tools such as nvm and avn)
nvm install $(cat ${WORKSPACE}/kibana/.node-version)


cd ${WORKSPACE}/kibana
			
#Install npm dependencies
npm install
npm rebuild node-sass
			
npm run build -- --deb --release


mkdir -p out
cp -a ${WORKSPACE}/kibana/target/kibana-*-arm64.deb* out/


Patches

Elasticsearch

Enable ARM64 support in SecComp

Logstash

Support JRuby 9K for Logstash v5.4.1

Kibana

Support packaging archive on arm64

Support create deb/rpm packages for arm64

Issues and Resolutions


JIRA Reference:


Built Artifacts

Linaro snapshots



  • No labels