aodh/doc/source/configuration.rst
Ala Rezmerita 8af14e60d0 Fixed spelling mistake
Spelling mistakes was discovered on running
misspellings package on codebase

Closes-Bug: #1266693

Change-Id: I63bfea00b2b2196d1d971546e7a204137678880c
2014-01-07 17:34:40 +01:00

272 lines
19 KiB
ReStructuredText

..
Copyright 2012 New Dream Network, LLC (DreamHost)
Licensed under the Apache License, Version 2.0 (the "License"); you may
not use this file except in compliance with the License. You may obtain
a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
License for the specific language governing permissions and limitations
under the License.
=======================
Configuration Options
=======================
Ceilometer specific
===================
The following table lists the ceilometer specific options in the global configuration file.
Please note that ceilometer uses openstack-common extensively, which requires that
the other parameters are set appropriately. For information we are listing the configuration
elements that we use after the ceilometer specific elements.
If you use sql alchemy, its specific paramaters will need to be set.
=============================== ==================================== ==============================================================
Parameter Default Note
=============================== ==================================== ==============================================================
nova_control_exchange nova Exchange name for Nova notifications
glance_control_exchange glance Exchange name for Glance notifications
cinder_control_exchange cinder Exchange name for Cinder notifications
neutron_control_exchange neutron Exchange name for Neutron notifications
metering_secret change this or be hacked Secret value for signing metering messages
metering_topic metering the topic ceilometer uses for metering messages
sample_source openstack The source name of emitted samples
control_exchange ceilometer AMQP exchange to connect to if using RabbitMQ or Qpid
database_connection mongodb://localhost:27017/ceilometer Database connection string
metering_api_port 8777 The port for the ceilometer API server
reseller_prefix AUTH\_ Prefix used by swift for reseller token
=============================== ==================================== ==============================================================
Service polling authentication
==============================
The following options must be placed under a [service_credentials] section
and will be used by Ceilometer to retrieve information from OpenStack
components.
=============================== ==================================== ==============================================================
Parameter Default Note
=============================== ==================================== ==============================================================
os_username ceilometer Username to use for openstack service access
os_password admin Password to use for openstack service access
os_tenant_id Tenant ID to use for openstack service access
os_tenant_name admin Tenant name to use for openstack service access
os_auth_url http://localhost:5000/v2.0 Auth URL to use for openstack service access
os_endpoint_type publicURL Endpoint type in the catalog to use to access services
=============================== ==================================== ==============================================================
Keystone Middleware Authentication
==================================
The following table lists the Keystone middleware authentication options which are used to get admin token.
Please note that these options need to be under [keystone_authtoken] section.
=============================== ==================================== ==============================================================
Parameter Default Note
=============================== ==================================== ==============================================================
auth_host The host providing the Keystone service API endpoint for
validating and requesting tokens
auth_port 35357 The port used to validate tokens
auth_protocol https The protocol used to validate tokens
auth_uri auth_protocol://auth_host:auth_port The full URI used to validate tokens
admin_token Either this or the following three options are required. If
set, this is a single shared secret with the Keystone
configuration used to validate tokens.
admin_user User name for retrieving admin token
admin_password Password for retrieving admin token
admin_tenant_name Tenant name for retrieving admin token
signing_dir The cache directory for signing certificate
certfile Required if Keystone server requires client cert
keyfile Required if Keystone server requires client cert. This can be
the same as certfile if the certfile includes the private key.
=============================== ==================================== ==============================================================
SQL Alchemy
===========
========================== ==================================== ==============================================================
Parameter Default Note
========================== ==================================== ==============================================================
sql_connection_debug 0 Verbosity of SQL debugging information. 0=None, 100=Everything
sql_connection_trace False Add python stack traces to SQL as comment strings
sql_idle_timeout 3600 timeout before idle sql connections are reaped
sql_max_retries 10 maximum db connection retries during startup.
(setting -1 implies an infinite retry count)
sql_retry_interval 10 interval between retries of opening a sql connection
mysql_engine InnoDB MySQL engine to use
sqlite_synchronous True If passed, use synchronous mode for sqlite
========================== ==================================== ==============================================================
HBase
===================
To configure HBase as your database backend:
1. To install an HBase server, for pure development purpose, you can just
download the HBase image from Cloudera and get it up and running. Then the
quickest way to check it is to run the ``HBase shell`` and try a ``list``
command which would return the list of the tables in your HBase server:
::
$ ${HBASE_HOME}/bin/hbase shell
hbase> list
.. note::
This driver has been tested against HBase 0.92.1/CDH 4.1.1,
HBase 0.94.2/CDH 4.2.0, HBase 0.94.4/HDP 1.2 and HBase 0.94.5/Apache.
Versions earlier than 0.92.1 are not supported due to feature incompatibility.
2. A few HBase tables are expected by Ceilometer.
To create them, run the following:
::
$ ${HBASE_HOME}/bin/hbase shell
hbase> create 'project', {NAME=>'f'}
hbase> create 'user', {NAME=>'f'}
hbase> create 'resource', {NAME=>'f'}
hbase> create 'meter', {NAME=>'f'}
3. This driver is implemented to use HBase Thrift interface so it's necessary
to have the HBase Thrift server installed and started. When you have HBase
installed, normally, HBase thrift server is turned on by default. If it's not,
turn it on by running command ``hbase thrift start``. The implementation uses
`HappyBase`_ which is a wrapper library used to interact with HBase via Thrift
protocol, you can verify the thrift connection by running a quick test from a
client:
.. _HappyBase: http://happybase.readthedocs.org/en/latest/index.html#
::
import happybase
conn = happybase.Connection(host=$hbase-thrift-server, port=9090, table_prefix=None)
print conn.tables() # this returns a list of HBase tables in your HBase server
4. The parameter "database_connection" needs to be configured to point to
the Hbase Thrift server.
=========================== ==================================== ==============================================================
Parameter Value Note
=========================== ==================================== ==============================================================
database_connection hbase://$hbase-thrift-server:9090 Database connection string
=========================== ==================================== ==============================================================
.. note::
If you are changing the configuration on the fly, you will need to restart
the Ceilometer services that use the database to allow the changes to take
affect, i.e. the collector and API services.
Event Conversion
================
The following options in the [event] configuration section affect the extraction of Event data from notifications.
================================== ====================================== ==============================================================
Parameter Default Note
================================== ====================================== ==============================================================
drop_unmatched_notifications False If set to True, then notifications with no matching event
definition will be dropped.
(Notifications will *only* be dropped if this is True)
definitions_cfg_file event_definitions.yaml Name of event definitions config file (yaml format)
================================== ====================================== ==============================================================
General options
===============
The following is the list of openstack-common options that we use:
=========================== ==================================== ==============================================================
Parameter Default Note
=========================== ==================================== ==============================================================
default_notification_level INFO Default notification level for outgoing notifications
default_publisher_id $host Default publisher_id for outgoing notifications
bind_host 0.0.0.0 IP address to listen on
bind_port 9292 Port numver to listen on
port 5672 Rabbit MQ port to liste on
fake_rabbit False If passed, use a fake RabbitMQ provider
publish_errors False publish error events
use_stderr True Log output to standard error
logfile_mode 0644 Default file mode used when creating log files
log_dir Log output to a per-service log file in named directory
log_file Log output to a named file
log_format date-time level name msg Log format
log_date_format YYYY-MM-DD hh:mm:ss Log date format
log_config Logging configuration file used. The options specified in that
config file will override any other logging options specified
in Ceilometer config file.
default_log_levels ['amqplib=WARN',sqlalchemy=WARN,...] Default log level per components
notification_topics ['notifications', ] AMQP topic used for openstack notifications
enabled_apis ['ec2', 'osapi_compute'] List of APIs to enable by default
verbose False Print more verbose output
debug False Print debugging output
state_path currentdir Top-level directory for maintaining nova state
sqlite_db nova.sqlite file name for sqlite
sql_connection sqlite:///$state_path/$sqlite_db connection string for sql database
matchmaker_ringfile /etc/nova/matchmaker_ring.json Matchmaker ring file (JSON)
rpc_zmq_bind_address '*' ZeroMQ bind address
rpc_zmq_matchmaker ceilometer.openstack.common.rpc. MatchMaker drivers
matchmaker.MatchMakerLocalhost
rpc_zmq_port 9501 ZeroMQ receiver listening port
rpc_zmq_port_pub 9502 ZeroMQ fanout publisher port
rpc_zmq_contexts 1 Number of ZeroMQ contexts
rpc_zmq_ipc_dir /var/run/openstack Directory for holding IPC sockets
rabbit_port 5672 The RabbitMQ broker port where a single node is used
rabbit_host localhost The RabbitMQ broker address where a single node is used
rabbit_hosts ['$rabbit_host:$rabbit_port'] The list of rabbit hosts to listen to
rabbit_userid guest the RabbitMQ userid
rabbit_password guest the RabbitMQ password
rabbit_virtual_host / the RabbitMQ virtual host
rabbit_retry_interval 1 how frequently to retry connecting with RabbitMQ
rabbit_retry_backoff 2 how long to backoff for between retries when connecting
rabbit_max_retries 0 maximum retries with trying to connect to RabbitMQ
(the default of 0 implies an infinite retry count)
rabbit_durable_queues False use durable queues in RabbitMQ
rabbit_use_ssl False connect over SSL for RabbitMQ
rabbit_durable_queues False use durable queues in RabbitMQ
rabbit_ha_queues False use H/A queues in RabbitMQ (x-ha-policy: all).
kombu_ssl_version SSL version to use (valid only if SSL enabled)
kombu_ssl_keyfile SSL key file (valid only if SSL enabled)
kombu_ssl_certfile SSL cert file (valid only if SSL enabled)
kombu_ssl_ca_certs SSL certification authority file
qpid_hostname localhost Qpid broker hostname
qpid_port 5672 Qpid broker port
qpid_username Username for qpid connection
qpid_password Password for qpid connection
qpid_sasl_mechanisms Space separated list of SASL mechanisms to use for auth
qpid_reconnect_timeout 0 Reconnection timeout in seconds
qpid_reconnect_limit 0 Max reconnections before giving up
qpid_reconnect_interval_min 0 Minimum seconds between reconnection attempts
qpid_reconnect_interval_max 0 Maximum seconds between reconnection attempts
qpid_reconnect_interval 0 Equivalent to setting max and min to the same value
qpid_heartbeat 60 Seconds between connection keepalive heartbeats
qpid_protocol tcp Transport to use, either 'tcp' or 'ssl'
qpid_reconnect True Automatically reconnect
qpid_tcp_nodelay True Disable Nagle algorithm
rpc_backend kombu The messaging module to use, defaults to kombu.
rpc_thread_pool_size 64 Size of RPC thread pool
rpc_conn_pool_size 30 Size of RPC connection pool
rpc_response_timeout 60 Seconds to wait for a response from call or multicall
rpc_cast_timeout 30 Seconds to wait before a cast expires (TTL).
Only supported by impl_zmq.
dispatchers database The list of dispatchers to process metering data.
=========================== ==================================== ==============================================================
A sample configuration file can be found in `ceilometer.conf.sample`_.
.. _ceilometer.conf.sample: https://git.openstack.org/cgit/openstack/ceilometer/tree/etc/ceilometer/ceilometer.conf.sample