Skip to content

One Node Deployment

Sizing

The physical or virtual device must have at least:

  • CPU: 1 core
  • Memory: 4GB recommended
  • Storage: 20GB recommended

System description

image

Prerequisites

To start the 15-min installation, you need:

  • access to a unix server. Typically a VM.
  • a unix account with sudoers credentials.
    • In this guide we will use SSH_USER for the sake of the example, make sure you replace with your own in commands described below.
    • Check you can execute the ssh SSH_USER@localhost command
  • the 1-node package (ie punchplatform-data*-1node-X.Y.Z.zip)

On the server :

  • Ubuntu 16.04 LTS
  • A configured DNS (or a /etc/hosts correctly updated).

  • Using apt :

1
sudo apt install unzip git jq curl sshpass libssl-dev python-pip openjdk-8-jre
  • ansible 2.3.0

Tip

The 1-node package (punchplatform-data*-1node-X.Y.Z.zip) provides an archive to install the supported ansible version.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
# unzip package
adm-infra:~$ unzip punchplatform-data*-*.zip
adm-infra:~$ cd punchplatform-data*-*

#unzip provided ansible
adm-infra:~$ cd deployment_dependencies  
adm-infra:~$ unzip ansible-2.3.0-pippackages.zip  

# install provided ansible
adm-infra:~$ cd ansible-2.3.0-pippackages  
adm-infra:~$ sudo ./install.sh 

Deployment procedure

Deployment procedure with deployment account.

Unzip the 1-node package

1
adm-infra:~$ unzip punchplatform-data*-*.zip

Install prerequisites

Go to the package folder and install the system prequisites

1
2
adm-infra:~$ cd punchplatform-data*-*
adm-infra:~$ ./install.sh

Configure installation

1
2
# start deployment several times until the deployment finishes
adm-infra:~$ punchplatform-deployer.sh configuration_install -u SSH_USER [-Kk]

Initialize your configuration

Initialise your configuration. This step will prompt you with suggestion to setup your git environment.
To do it properly, make sure you are in the right place (in ./pp-deployment-conf). To be sure, go to $PUNCHPLATFORM_CONF_DIR before running the next command.

Git: Please tell me who you are

If you are a message like Please tell me who you are to set your account's default identity, run the git config commands and re-commit your configuration.

image

Deploy the punchpatform 1-node

image

1
2
# start deployment several times until the deployment finishes
adm-infra:~$ punchplatform-deployer.sh deploy -u SSH_USER [-Kk]

Check running as expected

Check everything is up and running as expected

Data Transport :

1
2
3
4
5
6
7
8
adm-infra:~$ sudo supervisorctl status
 elasticsearch                    RUNNING   pid 31042, uptime 0:03:50
 kafka-local                      RUNNING   pid 28375, uptime 0:04:26
 metricbeat                       RUNNING   pid 2963, uptime 0:02:02
 storm-nimbus                     RUNNING   pid 24396, uptime 0:05:28
 storm-supervisor                 RUNNING   pid 24707, uptime 0:05:06
 storm-ui                         RUNNING   pid 24545, uptime 0:05:17
 zookeeper                        RUNNING   pid 21477, uptime 0:06:22

Data Management :

1
2
3
4
5
6
7
8
9
adm-infra:~$ sudo supervisorctl status
 elasticsearch                    RUNNING   pid 31042, uptime 0:03:50
 kafka-local                      RUNNING   pid 28375, uptime 0:04:26
 kibana-mononode                  RUNNING   pid 1886, uptime 0:02:33
 metricbeat                       RUNNING   pid 2963, uptime 0:02:02
 storm-nimbus                     RUNNING   pid 24396, uptime 0:05:28
 storm-supervisor                 RUNNING   pid 24707, uptime 0:05:06
 storm-ui                         RUNNING   pid 24545, uptime 0:05:17
 zookeeper                        RUNNING   pid 21477, uptime 0:06:22

Channels and Services

Channels and Services Start Procedure with operator.

image

Use punchplatform user

Login as punchplatform operator user

1
sudo su punchadmin

Recover configuration with git

1
git clone ssh://gituser@ppfrpeondmi:/data/pp-conf.git ~/pp-conf

Synchronize configuration between git and zookeeper

1
2
3
cd ~/pp-conf
punchplatform-putconf.sh -pf
punchplatform-putconf.sh -t punchplatform-tenant

Start channel

start the punchplatform-tenant/main_collector channel

1
punchadmin:~$ punchplatform-channel.sh --start punchplatform-tenant/main_collector

System Description

The 1-Node punchplatform is ready to receive logs on: 9901/TCP

  • kibana port: 5601/TCP
  • elasticsearch REST API: 9200/TCP
  • storm UI port: 8080/TCP

Start injecting logs

Start injecting logs using the punchplatform log injector:

1
2
punchadmin:~$ cd $PUNCHPLATFORM_CONF_DIR/resources/injector/punchplatform-tenant
punchadmin:~$ punchplatform-log-injector.sh -c .

Setup kibana plugin environment

Manual configuration for Punch Kibana application.

1
2
sudo su - punchplatform
punchplatform-getconf.sh -t punchplatform-tenant

Troubleshooting

Unable to ssh on localhost

Unable to ssh on localhost (Permission denied):

1
2
# try the following command:
ssh localhost

If it prompts you to enter a password AND you have not password:

1
2
3
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
retry
ssh localhost

punchplatform-deployer.sh is not found

punchplatform-deployer.sh is not found:

  • make sure you are using the deployment unix account (ie not punchadmin)
  • then:
1
source ~/.bashrc

warning LC_ALL, LC_NUMERIC

Read How to set locale to remove this warning.

punchplatform-channel.sh is not found

punchplatform-channel.sh is not found:

  • make sure you are using the operator unix account (i.e punchadmim)
1
sudo su punchadmin

Unable to locate package

If you have a error like Unable to locate package python-pip, update your source.list and add universe keyword on each line.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
# sudo vim /etc/apt/sources.list

deb http://archive.ubuntu.com/ubuntu bionic main universe
deb http://archive.ubuntu.com/ubuntu bionic-security main universe 
deb http://archive.ubuntu.com/ubuntu bionic-updates main universe

# save and quit

sudo apt update
sudo apt install python-pip