How to run Kibana 4.4.1 on IBM Bluemix PaaS


(Abhijit) #1

I am trying to run Kibana 4.4.1 on an IBM Bluemix PaaS as a nodejs application. In my implementation, i use cloudfoundry to connect to the PaaS cloud.

I was able to run Kibana 4.1.1 on PaaS using the following steps

> Download Kibana from here to your personal desktop:
> https://download.elastic.co/kibana/kibana/kibana-4.1.1-windows.zip
> Extract the files using WinZip and navigate to /src/config/index.js
> Modify the following line from:
> // Set defaults for config file stuff
> kibana.port = kibana.port || 5601;
> To the following:
> kibana.port = process.env.PORT || 5601;

> Once the change has been made save the file.

> Navigate to the folder /src/ and create a new file called manifest.yml. The contents of this file should be the following:

> ---
> applications:
>  - name: %name%
>    host: %name%
>    memory: %memory%
>    domain: asdy.gfbryb..mybluemix.net
>    instances: 1
>    command: node ./bin/kibana.js
>    env:
>      NODE_ENV: production
>      CONFIG_PATH: ./config/kibana.yml

> This file will tell Blue Mix how to run this application once uploaded. The %name% should be the same as the application name within Blue Mix. For %memory% use an increment of 128M, 256M, 512M.

> Navigate to the folder /src/config/ and open the file kibana.yml. Add the following lines to the end of the file:

> bundled_plugin_ids:
>  - plugins/dashboard/index
>  - plugins/discover/index
>  - plugins/doc/index
>  - plugins/kibana/index
>  - plugins/markdown_vis/index
>  - plugins/metric_vis/index
>  - plugins/settings/index
>  - plugins/table_vis/index
>  - plugins/vis_types/index
>  - plugins/visualize/index

> In the same file we need to update the variable “elasticsearch_url” to point to the virtual machine’s IP:

> elasticsearch_url: "http://<Virtual Machine IP>:9200"

> Save the file when finished.

> Download the Cloud Foundary Command Line Interface (CF CLI) here:

> https://github.com/cloudfoundry/cli/releases

> Once CF CLI has been installed follow the steps from the webpage we need to connect to Blue Mix. Open up command prompt on your computer by navigating to Start -> Run and typing in “CMD”:

>  

> To connect to Blue Mix use the command “cf api https://api.ng.bluemix.net”:
>  

> Log in to Blue Mix “cf login –u user_name –o org_name –s space_name”:
>  

> User_name is your login for Blue Mix
> Org_name is the organization that will house the application(s)
> Space_name is the folder which the application will be stored

> To upload the application use the command cf push in the following syntax “cf push appname –m 512m”
>  

> When pushing the application make sure the directory is the /src/ folder of kibana.

but these steps dont work for Kibana 4.4.1 as the directory structure is completely different. I tried to push Kibana to PaaS by moving to the src folder and typing the cf push command, but it fails to upload.

Has anyone tried to do this?


(Abhijit) #2

finally figured it out. all you have to do is

create manifest.yml next to package.json

---
applications:
- name: %name_of_app%
  memory: 512M
  host: %name_of_app%
  domain: %name_of_domain%

create a Procfile next to package.json

web: bin/kibana --port $PORT

and we are done :slight_smile:


(system) #3