Giter VIP home page Giter VIP logo

provision-humio-cluster's Introduction

DEPRECATION NOTICE

This repository has been deprecated in favour of our Ansible-demo examples.


Scripts for setting up Humio

This repository contains scripts to setup one or a cluster of Humio nodes.

The project consists of bash scripts with a little bit of Python.
Scripts are run from the local machine, but they will copy files to the target machine, login using SSH and run scripts on the target machines. Before running the scripts, setup the machines with SSH public-key authentication, to avoid having to put in your password many times. Also make sure the target machines are already in the known_hosts file, before running the scripts.

The recommended operating system for Humio is Ubuntu 16.04. which these scripts also target. Although a few apt installs are used, we try to keep the scripts compatible with Linux in general as much as possible.

These scripts will do the following on the target machines (running as root):

  • install Docker, Python, jq, and curl
  • Create a user running Humio
  • Create a /data directory Humio will use
  • Setup configuration files in the Humio users home dir
  • Download and run Docker containers.

We encourage reading through the scripts to see what they do. Especially look at the bootstrap-machine.sh script that will provision the machine and install software.

It is important to note that no security is setup. Humio is run without authentication on port 8080. Kafka and Zookeeper are also running and listening on the configured ports. Do not expose the machine on public networks until security is setup. Please contact us at Humio and we will be happy to help.

Humio is running in Docker containers, so no more software needs to be installed on the host machine. A Humio installation consists of 3 containers:

  • Humio humio/humio-core
  • Kafka humio/kafka
  • Zookeeper humio/zookeeper

The Humio container is started in as many instances as the Host machine has CPUs (do not confuse with cores).

Configuring

The project is configured using a file config.conf

The file can look like this:

IPS=10.0.0.2,10.0.0.3,10.0.0.4
[email protected],[email protected],[email protected]
USER=humio

IPS

A comma delimited list of IP addresses. This will specify the IP address of each Humio server. The address specified here, is the address the server itself will use as bind address. It is also the IP address the other servers will use to contact this server. It is not necessary for the user running the provisioning to be able to connect on these addresses. The provisioning is done over SSH using the SSH_CONNECTS configuration.

SSH_CONNECTS

A comma delimited list of SSH connect strings, that will be used to login to the remote machines from the local machine running the provisioning.

USER

The user that will be created on the Humio servers. This will be the user running Humio (and Kafka/Zookeeper)

Run the scripts

Overall the project has 3 scripts:

  • provision.sh - Will install software, setup a user and the necessary directories
  • setup-cluster-member.sh - Will create the necessary configuration files in the Humio users home dir
  • update.sh - Will fetch and run the necessary Docker containers. This script can also be used to update Humio to a new version

The script setup-all.sh will call all of the above scripts.

provision-humio-cluster's People

Contributors

anagrius avatar chvitved avatar mortengrouleff avatar mwl avatar pmech avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.