[vitrage][monasca] Monasca datasource for Vitrage

Ifat Afek ifatafekn at gmail.com
Thu Dec 13 08:43:17 UTC 2018


Hi Witek,

On Wed, Dec 12, 2018 at 5:04 PM Bedyk, Witold <witold.bedyk at est.fujitsu.com>
wrote:

>
>
> > There is one issue that we need to close though – how to connect the
> Monasca alarms to the resources in Vitrage.
>
> >
>
> > In order to connect an alarm to a resource, Vitrage should be able to
> identify that resource in its entity graph using the dimensions coming from
> Monasca. I > understood that these dimensions are configurable and not
> pre-defined.
>
>
>
> Correct. To make the picture complete: every alarm contains an associated
> `metric name` and a set of dimensions which identify the monitored
> resource. Both metric name and dimensions could potentially be used in
> Vitrage.
>
>
>
> 1. For OpenStack services we typically use dimension keys `hostname` and
> `service`. Examples would be:
>
>                 `name`: `http_status`, `dimensions`: {`hostname`: `node1`,
> `service`: `keystone`, `url`: `http://node1/identity`
> <http://node1/identity>}
>
>
>
> Libvirt metrics all have the dimension keys `hostname`,
> `service`=`compute`, `resource_id`=instance_id
>


By instance_id do you mean the libvirt id or the OpenStack UUID? In order
to correlate the id with the vm that exists in Vitrage, we need the Nova
UUID.
Another question: are these dimensions names always the same? Is it
possible to change their names?



> 2. For other resources I’m not sure if we can define a general rule for
> assignments. As you have said, the unique information may be included in
> more the one dimension.
>
>
>
> For Prometheus, we use labels on each metric as dimensions. Additional
> dimensions can be configured in agent per Prometheus endpoint.
>
>
>
> How do you assign resources for alarms from Zabbix or Prometheus
> datasources?
>

We cannot define it hard-coded, but we are looking for a way that the end
user can easily configure it. We are currently facing similar questions
with Prometheus and Zabbix. In all cases, we have the basic integration
working, but do not always know how to map the resources.



Some examples:

·         Given a dimension/label with a resource name or a non-unique id,
how can we tell the resource type?

·         For a NIC, we should get the hostname and nic name, and somehow
figure the nic id in Vitrage. Or, we should configure Monasca to have a
nic_id dimension in the same format that Vitrage uses.



We are trying to find a configuration / heuristic method / hook mechanism
that will allow us to define some basic conversions and let the user select
the appropriate ones.



Can you give us some more examples of Monasca dimensions?


Another issue is that we need to decide where to handle the conversion – in
Monasca or in Vitrage. Is it possible to define a hook or plugin in inside
Monasca, that will perform some conversions on the alarm before sending it?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack-discuss/attachments/20181213/d9452dd1/attachment.html>


More information about the openstack-discuss mailing list