Giter VIP home page Giter VIP logo

admin-ui-v2's Introduction

Administration Web UI for CloudFoundry NG

The Administration Web UI provides metrics and operations data for CloudFoundry NG. It gathers data from the varz providers for the various CloudFoundry components as well as from the cloud controller and UAA REST API's.

Placement

In order to exeucute, the administration ui needs to be able to access the following resources:

  • NATS
  • Cloud controller REST API
  • UAA REST API

Installation of the administration ui and its prerequisites require access to the internet to access github.com, rubygems.org, ubuntu software repositories, etc.

Installation Steps

Ubuntu 10.04.4 64 bit

This has been tested on Ubuntu 10.04.4 64 bit, Ubuntu 12.04.3 64 bit and Ubuntu 13.04 64 bit.

Ubuntu Prerequisite Libraries

sudo apt-get install -f -y --no-install-recommends git-core build-essential libssl-dev

Ruby

Ruby is required to run the administration ui. This has been tested with Ruby 1.9.3-p448. Here is a sample installation of ruby using rbenv:

git clone https://github.com/sstephenson/rbenv.git ~/.rbenv
git clone https://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.profile
echo 'eval "$(rbenv init -)"' >> ~/.profile
. ~/.profile
rbenv install 1.9.3-p448
rbenv global 1.9.3-p448

Ruby Bundler Gem

The bundler gem is required to install prerequisite gems for the administration ui.

gem install bundler --no-rdoc --no-ri

If you are using rbenv you need to refresh the rbenv shims:

rbenv rehash

Retrieve the administration ui code

git clone https://github.com/cloudfoundry-incubator/admin-ui.git

Install Administration UI

cd admin-ui
bundle install

Administraton UI Configuration

Default configuration found in config/default.yml

Values that must be changed for your environment are marked in bold.

cloud_controller_discovery_interval
Seconds between cloud controller REST API discoveries
Example: 300
cloud_controller_ssl_verify_none
If connection to cloud_controller is https, true to ignore ssl verification
Example: true
Example: false
cloud_controller_uri
The URI used to connect to the cloud controller REST API. This is also used as a title for the web ui header as well as email notification.
component_connection_retries
The number of times to try to talk to a varz component before considered failing.
Example: 2
data_file
Relative path location to store the administration ui data file.
Example: data/data.json
log_file
Relative path locaton to the administration ui log file
Example: admin_ui.log
log_file_page_size
Size of each log file page in bytes.
Example: 51200
log_file_sftp_keys
Key files in a comma-delimited array to use to access logs using SFTP.
Example: [/some_directory/some_key.pem]
log_files
Log files in a comma-delimited array being exposed through the administration ui. Note that these files must be accessible by the user that started the administration ui. These files can either be found on a file system accessible by the local system or as an SFTP URI. In the case of SFTP, both user:password and user with pem files are supported. If the SFTP password is not specified, the key files specified in log_file_sftp_keys will be used.
Example [/var/vcap/sys/log/cloud_controller_ng/cloud_controller_ng.log]
Example [/var/vcap/sys/log/cloud_controller_ng/*.log]
Example [/var/vcap/sys/log/**/*.log]
Example [sftp://someuser:[email protected]/path/file.log]
Example [sftp://[email protected]/path/*.log]
Example [sftp://someuser:[email protected]/path/**/*.log]
mbus
URL to the NATS.
Example: nats://nats:[email protected]:4222
monitored_components
Components in a comma-delimited array which when down will result in notification.
Example of multiple components: [NATS, CloudController, DEA, HealthManager, Router]
Example of a wildcard: [-Provisioner]
Example for all components: [ALL]
nats_discovery_interval
Seconds between NATS discoveries
Example: 30
nats_discovery_timeout
The number of seconds to wait for the NATS to respond to vcap.component.discover.
Example: 10
port
Port for the administration ui web server.
Example: 8070
receiver_emails
The receiving email(s) in a comma-delimited array.
Example: [ ]
Example: [[email protected], [email protected]]
sender_email
Email server and account used when sending an email notifying receivers of down components.
server
The email server.
Example: 10.10.10.10
account
The email account.
Example: [email protected]
stats_file
Relative path location to store the administration ui statistics.
Example: data/stats.json
stats_refresh_time
Daily minute for automatic stats collection
Example: 300. This results in stats collection at 5 AM.
stats_retries
Number of stats retries.
Example: 5
stats_retry_interval
Seconds between stats collection saving.
Example: 300
uaa_admin_credentials
UAA credentials to access the cloud controller REST API as an admin user
username
User for UAA login.
Example: admin
password
Password for UAA login.
Example: c1oudc0w
ui_credentials
Credentials to access the administration ui as a standard user.
username
User for standard login.
Example: user
password
Password for standard login.
Example: passw0rd
ui_admin_credentials
Credentials to access the administration ui as an admin user
username
User for admin login.
Example: admin
password
Password for admin login.
Example: passw0rd
varz_discovery_interval
Seconds between VARZ discoveries
Example: 30

Execute Administration UI

You can provide an option to reference the configuration file when you execute the administration ui or you can let it default to config/default.yml

ruby bin/admin [-c <configuration file>]

View Administration UI

http://<admin ui host>:8070

admin-ui-v2's People

Contributors

xingzhou avatar

Watchers

Jack Feng 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.