[telemetry][ceilometer][gnocchi] How to configure aggregate for cpu_util or calculate from metrics

Bernd Bausch berndbausch at gmail.com
Thu Aug 1 01:16:25 UTC 2019


Lingxian,

Thanks for "bumping" my request and keeping it alive. The reason I need 
an answer: I am updating courseware to Stein that includes autoscaling 
based on CPU and disk I/O rates. Looks like I am "cutting edge" :)

I don't think the problem is in the Gnocchi camp, but rather Ceilometer. 
To store rates of measures in z, the following is needed:

  * A /metric/. Raw measures are sent to the metric.
  * An /archive policy/. The metric has an archive policy.
  * The archive policy includes one or more /rate aggregates/

My cloud has archive policies with rate aggregates, but the question is 
about the first bullet: *How can I configure Ceilometer so that it 
creates the corresponding metrics and sends measures to them. *In other 
words, how is Ceilometer's output connected to my archive policy. From 
my experience, just adding the archive policy to Ceilometer's publishers 
is not sufficient.

Ceilometer's source code includes 
/.../publisher/data/gnocchi_resources.yaml/, which might well be the 
place where this can be configured. I am not sure how to do it though, 
and this file is not documented. I can read the source, but my developer 
skills are insufficient for understanding how everything fits together.

Bernd

On 8/1/2019 9:01 AM, Lingxian Kong wrote:
> Hi Bernd,
>
> There were a lot of people asked the same question before, 
> unfortunately, I don't know the answer either(we are still using an 
> old version of Ceilometer). The original cpu_util support has been 
> removed from Ceilometer in favor of Gnocchi, but AFAIK, there is no 
> doc in Gnocchi mentioned how to achieve the same thing and no clear 
> answer from the Gnocchi maintainers.
>
> It'd be much appreciated if you could find the answer in the end, or 
> there will be someone who has the already solved the issue.
>
> Best regards,
> Lingxian Kong
> Catalyst Cloud
>
>
> On Wed, Jul 31, 2019 at 1:28 PM Bernd Bausch <berndbausch at gmail.com 
> <mailto:berndbausch at gmail.com>> wrote:
>
>     The message at the end of this email is some three months old. I
>     have the same problem. The question is: *How to use the new rate
>     metrics in Gnocchi. *I am using a Stein Devstack for my tests.*
>     *
>
>     For example, I need the CPU rate, formerly named /cpu_util/. I
>     created a new archive policy that uses /rate:mean/ aggregation and
>     has a 1 minute granularity:
>
>     $ gnocchi archive-policy show ceilometer-medium-rate
>     +---------------------+------------------------------------------------------------------+
>     | Field               | Value |
>     +---------------------+------------------------------------------------------------------+
>     | aggregation_methods | rate:mean,
>     mean                                                  |
>     | back_window         | 0 |
>     | definition          | - points: 10080, granularity: 0:01:00,
>     timespan: 7 days, 0:00:00 |
>     | name                | ceilometer-medium-rate |
>     +---------------------+------------------------------------------------------------------+
>
>     I added the new policy to the publishers in /pipeline.yaml/:
>
>     $ tail -n5 /etc/ceilometer/pipeline.yaml
>     sinks:
>         - name: meter_sink
>           publishers:
>               -
>     gnocchi://?archive_policy=medium&filter_project=gnocchi_swift
>     *-
>     gnocchi://?archive_policy=ceilometer-medium-rate&filter_project=gnocchi_swift*
>
>     After restarting all of Ceilometer, my hope was that the CPU rate
>     would magically appear in the metric list. But no: All metrics are
>     linked to archive policy /medium/, and looking at the details of
>     an instance, I don't detect anything rate-related:
>
>     $ gnocchi resource show ae3659d6-8998-44ae-a494-5248adbebe11
>     +-----------------------+---------------------------------------------------------------------+
>     | Field                 | Value |
>     +-----------------------+---------------------------------------------------------------------+
>     ...
>     | metrics               | compute.instance.booting.time:
>     76fac1f5-962e-4ff2-8790-1f497c99c17d |
>     |                       | cpu: af930d9a-a218-4230-b729-fee7e3796944 |
>     |                       | disk.ephemeral.size:
>     0e838da3-f78f-46bf-aefb-aeddf5ff3a80           |
>     |                       | disk.root.size:
>     5b971bbf-e0de-4e23-ba50-a4a9bf7dfe6e                |
>     |                       | memory.resident:
>     09efd98d-c848-4379-ad89-f46ec526c183               |
>     |                       | memory.swap.in <http://memory.swap.in>:
>     1bb4bb3c-e40a-4810-997a-295b2fe2d5eb                |
>     |                       | memory.swap.out:
>     4d012697-1d89-4794-af29-61c01c925bb4               |
>     |                       | memory.usage:
>     93eab625-0def-4780-9310-eceff46aab7b                  |
>     |                       | memory:
>     ea8f2152-09bd-4aac-bea5-fa8d4e72bbb1 |
>     |                       | vcpus:
>     e1c5acaf-1b10-4d34-98b5-3ad16de57a98 |
>     | original_resource_id  | ae3659d6-8998-44ae-a494-5248adbebe11 |
>     ...
>
>     | type                  | instance |
>     | user_id               | a9c935f52e5540fc9befae7f91b4b3ae |
>     +-----------------------+---------------------------------------------------------------------+
>
>     Obviously, I am missing something. Where is the missing link? What
>     do I have to do to get CPU usage rates? Do I have to create
>     metrics? Do//I have to ask Ceilometer to create metrics? How?
>
>     Right now, no instructions seem to exist at all. If that is
>     correct, I would be happy to write documentation once I understand
>     how it works.
>
>     Thanks a lot.
>
>     Bernd
>
>     On 5/10/2019 3:49 PM, info at dantalion.nl <mailto:info at dantalion.nl>
>     wrote:
>>     Hello,
>>
>>     I am working on Watcher and we are currently changing how metrics are
>>     retrieved from different datasources such as Monasca or Gnocchi. Because
>>     of this major overhaul I would like to validate that everything is
>>     working correctly.
>>
>>     Almost all of the optimization strategies in Watcher require the cpu
>>     utilization of an instance as metric but with newer versions of
>>     Ceilometer this has become unavailable.
>>
>>     On IRC I received the information that Gnocchi could be used to
>>     configure an aggregate and this aggregate would then report cpu
>>     utilization, however, I have been unable to find documentation on how to
>>     achieve this.
>>
>>     I was also notified that cpu_util is something that could be computed
>>     from other metrics. When reading
>>     https://docs.openstack.org/ceilometer/rocky/admin/telemetry-measurements.html#openstack-compute
>>     the documentation seems to agree on this as it states that cpu_util is
>>     measured by using a 'rate of change' transformer. But I have not been
>>     able to find how this can be computed.
>>
>>     I was hoping someone could spare the time to provide documentation or
>>     information on how this currently is best achieved.
>>
>>     Kind Regards,
>>     Corne Lukken (Dantali0n)
>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack-discuss/attachments/20190801/69992919/attachment-0001.html>


More information about the openstack-discuss mailing list