openstack-manuals/doc/install-guide/section_ceilometer-swift.xml
gordon chung 530f6bfb8c update ceilometer install guide and external service configuration
- change notification_driver option to use messagingv2.
*.openstack.common.* is pre-icehouse option.
- add note to configure swift metrics using new ceilometermiddleware
- update telemetry get_started guide:
  - generalise supported functions
  - fix notification agent and collector service purpose

Closes-Bug: #1425713
Co-Authored-By: Matt Kassawara <mkassawara@gmail.com>
backport: juno
Change-Id: I90dff1b5c2a7dd2943cfa7ff25bb63c08eb7986d
2015-03-12 13:56:49 -05:00

94 lines
4.4 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<section xmlns="http://docbook.org/ns/docbook"
xmlns:xi="http://www.w3.org/2001/XInclude"
xmlns:xlink="http://www.w3.org/1999/xlink"
version="5.0"
xml:id="ceilometer-swift">
<title>Configure the Object Storage service</title>
<para>To retrieve storage-oriented events and samples, configure the
Object Storage service to send notifications to the message bus.</para>
<procedure>
<title>To configure prerequisites</title>
<para>The Telemetry service requires access to the Object Storage
service using the <literal>ResellerAdmin</literal> role. Perform
these steps on the controller node.</para>
<step>
<para>Source the <literal>admin</literal> credentials to gain
access to admin-only CLI commands.</para>
<screen><prompt>$</prompt> <userinput>source admin-openrc.sh</userinput></screen>
</step>
<step>
<para>Create the <literal>ResellerAdmin</literal> role:</para>
<screen><prompt>$</prompt> <userinput>keystone role-create --name ResellerAdmin</userinput>
<computeroutput>+----------+----------------------------------+
| Property | Value |
+----------+----------------------------------+
| id | 462fa46c13fd4798a95a3bfbe27b5e54 |
| name | ResellerAdmin |
+----------+----------------------------------+</computeroutput></screen>
</step>
<step>
<para>Add the <literal>ResellerAdmin</literal> role to the
<literal>service</literal> tenant and <literal>ceilometer</literal>
user:</para>
<screen><prompt>$</prompt> <userinput>keystone user-role-add --tenant service --user ceilometer \
--role 462fa46c13fd4798a95a3bfbe27b5e54</userinput></screen>
</step>
</procedure>
<procedure>
<title>To configure notifications</title>
<para>Perform these steps on the controller and any other nodes that
run the Object Storage proxy service.</para>
<step>
<para>Edit the <filename>/etc/swift/proxy-server.conf</filename> file
and complete the following actions:</para>
<substeps>
<step>
<para>In the <literal>[filter:keystoneauth]</literal> section,
add the <literal>ResellerAdmin</literal> role:</para>
<programlisting language="ini">[filter:keystoneauth]
...
operator_roles = admin,_member_,ResellerAdmin</programlisting>
</step>
<step>
<para>In the <literal>[pipeline:main]</literal> section, add
<literal>ceilometer</literal>:</para>
<programlisting language="ini">[pipeline:main]
...
pipeline = authtoken cache healthcheck keystoneauth proxy-logging ceilometer proxy-server</programlisting>
</step>
<step>
<para>In the <literal>[filter:ceilometer]</literal> section, configure
notifications:</para>
<programlisting language="ini">[filter:ceilometer]
...
paste.filter_factory = ceilometermiddleware.swift:filter_factory
control_exchange = swift
url = rabbit://guest:<replaceable>RABBIT_PASS</replaceable>@<replaceable>controller></replaceable>:5672/
driver = messagingv2
topic = notifications
log_level = WARN</programlisting>
<para>Replace <replaceable>RABBIT_PASS</replaceable> with the
password you chose for the <literal>guest</literal> account in
<application>RabbitMQ</application>.</para>
</step>
</substeps>
</step>
<step>
<para>Add the <literal>swift</literal> system user to the
<literal>ceilometer</literal> system group to permit access to the
Telemetry configuration files by the Object Storage service:</para>
<screen><prompt>#</prompt> <userinput>usermod -a -G ceilometer swift</userinput></screen>
</step>
<step>
<para>Restart the Object Storage proxy service:</para>
<screen os="ubuntu;debian"><prompt>#</prompt> <userinput>service swift-proxy restart</userinput></screen>
<screen os="rhel;centos;fedora"><prompt>#</prompt> <userinput>systemctl restart openstack-swift-proxy.service</userinput></screen>
<para os="sles">On SLES:</para>
<screen os="sles"><prompt>#</prompt> <userinput>service openstack-swift-proxy restart</userinput></screen>
<para os="opensuse">On openSUSE:</para>
<screen os="opensuse"><prompt>#</prompt> <userinput>systemctl restart openstack-swift-proxy.service</userinput></screen>
</step>
</procedure>
</section>