One Node Deployment¶
Sizing¶
The physical or virtual device must have at least:
- CPU: 1 core
- Memory: 4GB recommended
- Storage: 20GB recommended
System description¶
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.
Deploy the punchpatform 1-node¶
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.
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 |