drop api and storage references from install-guide

stop telling people how to use deprecated/unmaintained stuff
- remove all db docs detailing mongo install/config
- cleanup get_started.rst
  - remove note about future agents because i don't know what magic
    it's hinting at.
  - add note that collector is optional
- drop all notes about api service and notes about storage
- drop all stuff about configuring api with apache
- replace ceilometer+mongo config notes with ceilometer+gnocchi.
- remove keystone_authtoken config since no more api
- point all distro docs to gnocchi
- add a note to say api+storage is dead.

Change-Id: I494b4e7013ca146ffa640a356cacc4a1a5ee85e8
This commit is contained in:
gord chung 2017-01-27 16:29:51 +00:00
parent 05f4d1b041
commit 8342ff8968
10 changed files with 63 additions and 490 deletions

View File

@ -1,78 +0,0 @@
.. _environment-nosql-database-obs:
NoSQL database for openSUSE and SUSE Linux Enterprise
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The Telemetry service uses a NoSQL database to store information. The database
typically runs on the controller node. The procedures in this guide use
MongoDB.
Install and configure components
--------------------------------
1. Enable the Open Build Service repositories for MongoDB based on
your openSUSE or SLES version:
On openSUSE:
.. code-block:: console
# zypper addrepo -f obs://server:database/openSUSE_Leap_42.1 Database
On SLES:
.. code-block:: console
# zypper addrepo -f obs://server:database/SLE_12_SP1 Database
.. note::
The packages are signed by GPG key ``05905EA8``. You should
verify the fingerprint of the imported GPG key before using it.
.. code-block:: console
Key Name: server:database OBS Project <server:database@build.opensuse.org>
Key Fingerprint: 116EB863 31583E47 E63CDF4D 562111AC 05905EA8
Key Created: Mon 08 Dec 2014 09:54:12 AM UTC
Key Expires: Wed 15 Feb 2017 09:54:12 AM UTC
Install the MongoDB package:
.. code-block:: console
# zypper install mongodb
2. Edit the ``/etc/mongodb.conf`` file and complete the following
actions:
* Configure the ``bind_ip`` key to use the management interface
IP address of the controller node.
.. code-block:: ini
bind_ip = 10.0.0.11
* By default, MongoDB creates several 1 GB journal files
in the ``/var/lib/mongodb/journal`` directory.
If you want to reduce the size of each journal file to
128 MB and limit total journal space consumption to 512 MB,
assert the ``smallfiles`` key:
.. code-block:: ini
smallfiles = true
You can also disable journaling. For more information, see the
`MongoDB manual <http://docs.mongodb.org/manual/>`__.
Finalize installation
---------------------
* Start the MongoDB service and configure it to start when
the system boots:
.. code-block:: console
# systemctl enable mongodb.service
# systemctl start mongodb.service

View File

@ -1,50 +0,0 @@
.. _environment-nosql-database-rdo:
NoSQL database for Red Hat Enterprise Linux and CentOS
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The Telemetry service uses a NoSQL database to store information. The database
typically runs on the controller node. The procedures in this guide use
MongoDB.
Install and configure components
--------------------------------
1. Install the MongoDB packages:
.. code-block:: console
# yum install mongodb-server mongodb
2. Edit the ``/etc/mongod.conf`` file and complete the following
actions:
* Configure the ``bind_ip`` key to use the management interface
IP address of the controller node.
.. code-block:: ini
bind_ip = 10.0.0.11
* By default, MongoDB creates several 1 GB journal files
in the ``/var/lib/mongodb/journal`` directory.
If you want to reduce the size of each journal file to
128 MB and limit total journal space consumption to 512 MB,
assert the ``smallfiles`` key:
.. code-block:: ini
smallfiles = true
You can also disable journaling. For more information, see the
`MongoDB manual <http://docs.mongodb.org/manual/>`__.
Finalize installation
---------------------
* Start the MongoDB service and configure it to start when the system boots:
.. code-block:: console
# systemctl enable mongod.service
# systemctl start mongod.service

View File

@ -1,52 +0,0 @@
.. _environment-nosql-database-ubuntu:
NoSQL database for Ubuntu
~~~~~~~~~~~~~~~~~~~~~~~~~
The Telemetry service uses a NoSQL database to store information. The database
typically runs on the controller node. The procedures in this guide use
MongoDB.
Install and configure components
--------------------------------
1. Install the MongoDB packages:
.. code-block:: console
# apt-get install mongodb-server mongodb-clients python-pymongo
2. Edit the ``/etc/mongodb.conf`` file and complete the following
actions:
* Configure the ``bind_ip`` key to use the management interface
IP address of the controller node.
.. code-block:: ini
bind_ip = 10.0.0.11
* By default, MongoDB creates several 1 GB journal files
in the ``/var/lib/mongodb/journal`` directory.
If you want to reduce the size of each journal file to
128 MB and limit total journal space consumption to 512 MB,
assert the ``smallfiles`` key:
.. code-block:: ini
smallfiles = true
You can also disable journaling. For more information, see the
`MongoDB manual <http://docs.mongodb.org/manual/>`__.
Finalize installation
---------------------
* If you change the journaling configuration, stop the MongoDB
service, remove the initial journal files, and start the service:
.. code-block:: console
# service mongodb stop
# rm /var/lib/mongodb/journal/prealloc.*
# service mongodb start

View File

@ -16,8 +16,7 @@ The Telemetry service consists of the following components:
A compute agent (``ceilometer-agent-compute``)
Runs on each compute node and polls for resource utilization
statistics. There may be other types of agents in the future, but
for now our focus is creating the compute agent.
statistics.
A central agent (``ceilometer-agent-central``)
Runs on a central management server to poll for resource utilization
@ -31,11 +30,19 @@ A notification agent (``ceilometer-agent-notification``)
A collector (``ceilometer-collector``)
Runs on central management server(s) and dispatches collected
telemetry data to a data store or external consumer without
modification.
modification. This service is optional as the
``ceilometer-agent-notification`` service can be configured to provide
the equivalent functionality.
An API server (``ceilometer-api``)
Runs on one or more central management servers to provide data
access from the data store.
These services communicate by using the OpenStack messaging bus. Ceilometer
data is designed to be published to various endpoints for storage and
analysis.
These services communicate by using the OpenStack messaging bus. Only
the collector and API server have access to the data store.
.. note::
Ceilometer previously provided a storage and API solution. As of Newton,
this functionality is officially deprecated and discouraged. For efficient
storage and statistical analysis of Ceilometer data, Gnocchi_ is
recommended.
.. _Gnocchi: http://gnocchi.xyz

View File

@ -23,9 +23,6 @@ Telemetry Data Collection service
configure_services/swift/install-swift-ubuntu.rst
verify.rst
next-steps.rst
database/environment-nosql-database-obs.rst
database/environment-nosql-database-rdo.rst
database/environment-nosql-database-ubuntu.rst
This chapter assumes a working setup of OpenStack following the base
Installation Guide.

View File

@ -1,78 +1,55 @@
2. Edit the ``/etc/ceilometer/ceilometer.conf`` file and complete
the following actions:
* In the ``[database]`` section, configure database access:
* Configure Gnocchi connection:
.. code-block:: ini
[database]
[DEFAULT]
...
connection = mongodb://ceilometer:CEILOMETER_DBPASS@controller:27017/ceilometer
meter_dispatchers=gnocchi
event_dispatchers=gnocchi
Replace ``CEILOMETER_DBPASS`` with the password you chose for the
Telemetry service database. You must escape special characters such
as ':', '/', '+', and '@' in the connection string in accordance
with `RFC2396 <https://www.ietf.org/rfc/rfc2396.txt>`_.
[dispatcher_gnocchi]
# filter out Gnocchi-related activity meters (Swift driver)
filter_service_activity = False
# default metric storage archival policy
archive_policy = low
* In the ``[DEFAULT]`` section,
configure ``RabbitMQ`` message queue access:
.. note::
.. code-block:: ini
It is possible forego the collector service by modifying the
pipeline.yaml to use the ``gnocchi://`` publisher rather than
``notifier://``. Doing so will minimise resource requirements.
In this case, dispatchers do not need to be added to conf file.
[DEFAULT]
...
transport_url = rabbit://openstack:RABBIT_PASS@controller
* In the ``[DEFAULT]`` section,
configure ``RabbitMQ`` message queue access:
Replace ``RABBIT_PASS`` with the password you chose for the
``openstack`` account in ``RabbitMQ``.
.. code-block:: ini
* In the ``[DEFAULT]`` and ``[keystone_authtoken]`` sections,
configure Identity service access:
[DEFAULT]
...
transport_url = rabbit://openstack:RABBIT_PASS@controller
.. code-block:: ini
[DEFAULT]
...
auth_strategy = keystone
[keystone_authtoken]
...
auth_uri = http://controller:5000
auth_url = http://controller:35357
memcached_servers = controller:11211
auth_type = password
project_domain_name = default
user_domain_name = default
project_name = service
username = ceilometer
password = CEILOMETER_PASS
Replace ``CEILOMETER_PASS`` with the password you chose for
the ``ceilometer`` user in the Identity service.
Replace ``RABBIT_PASS`` with the password you chose for the
``openstack`` account in ``RabbitMQ``.
* In the ``[service_credentials]`` section, configure service credentials:
.. code-block:: ini
[service_credentials]
...
auth_type = password
auth_url = http://controller:5000/v3
project_domain_name = default
user_domain_name = default
project_name = service
username = ceilometer
password = CEILOMETER_PASS
interface = internalURL
region_name = RegionOne
[service_credentials]
...
auth_type = password
auth_url = http://controller:5000/v3
project_domain_name = default
user_domain_name = default
project_name = service
username = ceilometer
password = CEILOMETER_PASS
interface = internalURL
region_name = RegionOne
Replace ``CEILOMETER_PASS`` with the password you chose for
the ``ceilometer`` user in the Identity service.
3. Stop and disable the ceilometer-api which is dedicated for testing only
.. code-block:: console
# systemctl disable ceilometer-api
# systemctl stop ceilometer-api

View File

@ -14,42 +14,10 @@ Prerequisites
-------------
Before you install and configure the Telemetry service, you must
create a database, service credentials, and API endpoints. However,
unlike other services, the Telemetry service uses a NoSQL database.
See :ref:`environment-nosql-database-obs` to install and configure
MongoDB before proceeding further.
1. Create the ``ceilometer`` database:
.. code-block:: console
# mongo --host controller --eval '
db = db.getSiblingDB("ceilometer");
db.addUser({user: "ceilometer",
pwd: "CEILOMETER_DBPASS",
roles: [ "readWrite", "dbAdmin" ]})'
MongoDB shell version: 2.4.x
connecting to: controller:27017/test
{
"user" : "ceilometer",
"pwd" : "72f25aeee7ad4be52437d7cd3fc60f6f",
"roles" : [
"readWrite",
"dbAdmin"
],
"_id" : ObjectId("5489c22270d7fad1ba631dc3")
}
Replace ``CEILOMETER_DBPASS`` with a suitable password.
.. note::
If the command fails saying you are not authorized to insert a user,
you may need to temporarily comment out the ``auth`` option in
the ``/etc/mongodb.conf`` file, restart the MongoDB service using
``systemctl restart mongodb``, and try calling the command again.
configure a target to send metering data to. The recommended endpoint
is Gnocchi_. To enable Gnocchi, please see its install guide.
.. _Gnocchi: http:/gnocchi.xyz
.. include:: install-base-prereq-common.rst
Install and configure components
@ -59,51 +27,16 @@ Install and configure components
.. code-block:: console
# zypper install openstack-ceilometer-api \
# zypper install
openstack-ceilometer-collector \
openstack-ceilometer-agent-notification \
openstack-ceilometer-agent-central python-ceilometerclient
.. include:: install-base-config-common.rst
* In the ``[collector]`` section, configure the dispatcher:
.. code-block:: ini
[collector]
...
dispatcher = database
Configure the Apache HTTP server
--------------------------------
* Create the ``/etc/apache2/conf.d/wsgi-ceilometer.conf`` file
with the following content:
.. code-block:: apache
Listen 8777
<VirtualHost *:8777>
WSGIDaemonProcess ceilometer-api processes=2 threads=10 user=ceilometer group=ceilometer display-name=%{GROUP}
WSGIProcessGroup ceilometer-api
WSGIScriptAlias / "/var/www/cgi-bin/ceilometer/app"
WSGIApplicationGroup %{GLOBAL}
ErrorLog /var/log/apache2/ceilometer_error.log
CustomLog /var/log/apache2/ceilometer_access.log combined
</VirtualHost>
WSGISocketPrefix /var/run/apache2
Finalize installation
---------------------
#. Reload the Apache HTTP server:
.. code-block:: console
# systemctl reload apache2.service
#. Start the Telemetry services and configure them to start when the
system boots:

View File

@ -1,11 +1,11 @@
2. Source the ``admin`` credentials to gain access to admin-only
1. Source the ``admin`` credentials to gain access to admin-only
CLI commands:
.. code-block:: console
$ . admin-openrc
3. To create the service credentials, complete these steps:
2. To create the service credentials, complete these steps:
* Create the ``ceilometer`` user:
@ -48,55 +48,3 @@
| name | ceilometer |
| type | metering |
+-------------+----------------------------------+
4. Create the Telemetry service API endpoints:
.. code-block:: console
$ openstack endpoint create --region RegionOne \
metering public http://controller:8777
+--------------+----------------------------------+
| Field | Value |
+--------------+----------------------------------+
| enabled | True |
| id | b808b67b848d443e9eaaa5e5d796970c |
| interface | public |
| region | RegionOne |
| region_id | RegionOne |
| service_id | 5fb7fd1bb2954fddb378d4031c28c0e4 |
| service_name | ceilometer |
| service_type | metering |
| url | http://controller:8777 |
+--------------+----------------------------------+
$ openstack endpoint create --region RegionOne \
metering internal http://controller:8777
+--------------+----------------------------------+
| Field | Value |
+--------------+----------------------------------+
| enabled | True |
| id | c7009b1c2ee54b71b771fa3d0ae4f948 |
| interface | internal |
| region | RegionOne |
| region_id | RegionOne |
| service_id | 5fb7fd1bb2954fddb378d4031c28c0e4 |
| service_name | ceilometer |
| service_type | metering |
| url | http://controller:8777 |
+--------------+----------------------------------+
$ openstack endpoint create --region RegionOne \
metering admin http://controller:8777
+--------------+----------------------------------+
| Field | Value |
+--------------+----------------------------------+
| enabled | True |
| id | b2c00566d0604551b5fe1540c699db3d |
| interface | admin |
| region | RegionOne |
| region_id | RegionOne |
| service_id | 5fb7fd1bb2954fddb378d4031c28c0e4 |
| service_name | ceilometer |
| service_type | metering |
| url | http://controller:8777 |
+--------------+----------------------------------+

View File

@ -14,27 +14,10 @@ Prerequisites
-------------
Before you install and configure the Telemetry service, you must
create a database, service credentials, and API endpoints. However,
unlike other services, the Telemetry service uses a NoSQL database.
See :ref:`environment-nosql-database-rdo` to install and configure
MongoDB before proceeding further.
1. Create the ``ceilometer`` database:
.. code-block:: console
# mongo --host controller --eval '
db = db.getSiblingDB("ceilometer");
db.createUser({user: "ceilometer",
pwd: "CEILOMETER_DBPASS",
roles: [ "readWrite", "dbAdmin" ]})'
MongoDB shell version: 2.6.x
connecting to: controller:27017/test
Successfully added user: { "user" : "ceilometer", "roles" : [ "readWrite", "dbAdmin" ] }
Replace ``CEILOMETER_DBPASS`` with a suitable password.
configure a target to send metering data to. The recommended endpoint
is Gnocchi_. To enable Gnocchi, please see its install guide.
.. _Gnocchi: http:/gnocchi.xyz
.. include:: install-base-prereq-common.rst
Install and configure components
@ -44,42 +27,15 @@ Install and configure components
.. code-block:: console
# yum install openstack-ceilometer-api \
# yum install
openstack-ceilometer-collector openstack-ceilometer-notification \
openstack-ceilometer-central python-ceilometerclient
.. include:: install-base-config-common.rst
Configure the Apache HTTP server
--------------------------------
* Create the ``/etc/httpd/conf.d/wsgi-ceilometer.conf`` file with
the following content:
.. code-block:: apache
Listen 8777
<VirtualHost *:8777>
WSGIDaemonProcess ceilometer-api processes=2 threads=10 user=ceilometer group=ceilometer display-name=%{GROUP}
WSGIProcessGroup ceilometer-api
WSGIScriptAlias / /usr/lib/python2.7/site-packages/ceilometer/api/app.wsgi
WSGIApplicationGroup %{GLOBAL}
ErrorLog /var/log/httpd/ceilometer_error.log
CustomLog /var/log/httpd/ceilometer_access.log combined
</VirtualHost>
WSGISocketPrefix /var/run/httpd
Finalize installation
---------------------
#. Reload the Apache HTTP server:
.. code-block:: console
# systemctl reload httpd.service
#. Start the Telemetry services and configure them to start when the
system boots:

View File

@ -14,42 +14,10 @@ Prerequisites
-------------
Before you install and configure the Telemetry service, you must
create a database, service credentials, and API endpoints. However,
unlike other services, the Telemetry service uses a NoSQL database.
See :ref:`environment-nosql-database-ubuntu` to install and configure
MongoDB before proceeding further.
1. Create the ``ceilometer`` database:
.. code-block:: console
# mongo --host controller --eval '
db = db.getSiblingDB("ceilometer");
db.addUser({user: "ceilometer",
pwd: "CEILOMETER_DBPASS",
roles: [ "readWrite", "dbAdmin" ]})'
MongoDB shell version: 2.4.x
connecting to: controller:27017/test
{
"user" : "ceilometer",
"pwd" : "72f25aeee7ad4be52437d7cd3fc60f6f",
"roles" : [
"readWrite",
"dbAdmin"
],
"_id" : ObjectId("5489c22270d7fad1ba631dc3")
}
Replace ``CEILOMETER_DBPASS`` with a suitable password.
.. note::
If the command fails saying you are not authorized to insert a user,
you may need to temporarily comment out the ``auth`` option in
the ``/etc/mongodb.conf`` file, restart the MongoDB service using
``service mongodb restart``, and try calling the command again.
configure a target to send metering data to. The recommended endpoint
is Gnocchi_. To enable Gnocchi, please see its install guide.
.. _Gnocchi: http:/gnocchi.xyz
.. include:: install-base-prereq-common.rst
Install and configure components
@ -59,48 +27,15 @@ Install and configure components
.. code-block:: console
# apt-get install ceilometer-api ceilometer-collector \
# apt-get install ceilometer-collector \
ceilometer-agent-central ceilometer-agent-notification \
python-ceilometerclient
.. include:: install-base-config-common.rst
Configure the Apache HTTP server
--------------------------------
#. Create the ``/etc/apache2/sites-available/ceilometer.conf`` file
with the following content:
.. code-block:: apache
Listen 8777
<VirtualHost *:8777>
WSGIDaemonProcess ceilometer-api processes=2 threads=10 user=ceilometer group=ceilometer display-name=%{GROUP}
WSGIProcessGroup ceilometer-api
WSGIScriptAlias / "/usr/lib/python2.7/dist-packages/ceilometer/api/app.wsgi"
WSGIApplicationGroup %{GLOBAL}
ErrorLog /var/log/apache2/ceilometer_error.log
CustomLog /var/log/apache2/ceilometer_access.log combined
</VirtualHost>
WSGISocketPrefix /var/run/apache2
#. Enable the Telemetry service virtual hosts:
.. code-block:: console
# a2ensite ceilometer
Finalize installation
---------------------
#. Reload the Apache HTTP server:
.. code-block:: console
# service apache2 reload
#. Restart the Telemetry services:
.. code-block:: console