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.
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.
This has been tested on Ubuntu 10.04.4 64 bit, Ubuntu 12.04.3 64 bit and Ubuntu 13.04 64 bit.
sudo apt-get install -f -y --no-install-recommends git-core build-essential libssl-dev
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
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
git clone https://github.com/cloudfoundry-incubator/admin-ui.git
cd admin-ui
bundle install
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:somepassword@10.10.10.10/path/file.log]
Example[sftp://someuser@10.10.10.10/path/*.log]
Example[sftp://someuser:somepassword@10.10.10.10/path/**/*.log]
-
mbus
-
URL to the NATS.
Example:nats://nats:c1oudc0w@10.10.10.10: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:[bar@10.10.10.10, baz@10.10.10.10]
-
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:system@10.10.10.10
-
-
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
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>]
http://<admin ui host>:8070