<div dir="ltr">Yes, you will need to enable the metric/pollster to be processed. That is done via "polling.yml" file. Also, do not forget that you will need to configure Ceilometer to push this new metric. If you use Gnocchi as the backend, you will need to change/update the gnocchi resource YML file. That file maps resources and metrics in the Gnocchi backend. The configuration resides in Ceilometer. You can create/define new resource types and map them to specific metrics. It depends on how you structure your solution.<br><br>P.S. You do not need to use "authentication_parameters". You can use the barbican integration to avoid setting your credentials in a file.</div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Aug 30, 2022 at 9:11 AM Taltavull Jean-François <<a href="mailto:jean-francois.taltavull@elca.ch" target="_blank">jean-francois.taltavull@elca.ch</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div>
<div lang="FR">
<div>
<p class="MsoNormal"><span lang="EN-US">Hello,<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US"><u></u> <u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">I tried to define a Rados GW dynamic pollster and I can see, in Ceilometer logs, that it’s actually loaded. But it looks like it was not triggered, I see no trace of ceilometer connection
in Rados GW logs.<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US"><u></u> <u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">My definition:<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US"><u></u> <u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">- name: "dynamic.radosgw.usage"<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US"> </span>
<span>sample_type: "gauge"<u></u><u></u></span></p>
<p class="MsoNormal"><span> unit: "B"<u></u><u></u></span></p>
<p class="MsoNormal"><span> </span><span lang="EN-US">value_attribute: "total.size"<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US"> url_path:
<a href="http://%3cFQDN%3e/object-store/swift/v1/admin/usage" target="_blank">http://<FQDN>/object-store/swift/v1/admin/usage</a><u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US"> module: "awsauth"<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US"> authentication_object: "S3Auth"<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US"> authentication_parameters: xxxxxxxxxxxxx,yyyyyyyyyyyyy,<FQDN><u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US"> user_id_attribute: "admin"<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US"> project_id_attribute: "admin"<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US"> resource_id_attribute: "admin"<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US"> response_entries_key: "summary"<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US"><u></u> <u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">Do I have to set an option in ceilometer.conf, or elsewhere, to get my Rados GW dynamic pollster triggered ?<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US"><u></u> <u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">-JF<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US"><u></u> <u></u></span></p>
<div style="border-color:currentcolor currentcolor currentcolor blue;border-style:none none none solid;border-width:medium medium medium 1.5pt;padding:0cm 0cm 0cm 4pt">
<div>
<div style="border-color:rgb(225,225,225) currentcolor currentcolor;border-style:solid none none;border-width:1pt medium medium;padding:3pt 0cm 0cm">
<p class="MsoNormal"><b><span lang="EN-US">From:</span></b><span lang="EN-US"> Taltavull Jean-François
<br>
<b>Sent:</b> lundi, 29 août 2022 18:41<br>
<b>To:</b> 'Rafael Weingärtner' <<a href="mailto:rafaelweingartner@gmail.com" target="_blank">rafaelweingartner@gmail.com</a>><br>
<b>Cc:</b> openstack-discuss <<a href="mailto:openstack-discuss@lists.openstack.org" target="_blank">openstack-discuss@lists.openstack.org</a>><br>
<b>Subject:</b> RE: [Ceilometer] Pollster cannot get RadosGW metrics when API endpoints are based on URL instead of port number<u></u><u></u></span></p>
</div>
</div>
<p class="MsoNormal"><span lang="EN-US"><u></u> <u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">Thanks a lot for your quick answer, Rafael !<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">I will explore this approach.<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US"><u></u> <u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">Jean-Francois<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US"><u></u> <u></u></span></p>
<div style="border-color:currentcolor currentcolor currentcolor blue;border-style:none none none solid;border-width:medium medium medium 1.5pt;padding:0cm 0cm 0cm 4pt">
<div>
<div style="border-color:rgb(225,225,225) currentcolor currentcolor;border-style:solid none none;border-width:1pt medium medium;padding:3pt 0cm 0cm">
<p class="MsoNormal"><b><span lang="EN-US">From:</span></b><span lang="EN-US"> Rafael Weingärtner <<a href="mailto:rafaelweingartner@gmail.com" target="_blank">rafaelweingartner@gmail.com</a>>
<br>
<b>Sent:</b> lundi, 29 août 2022 17:54<br>
<b>To:</b> Taltavull Jean-François <<a href="mailto:jean-francois.taltavull@elca.ch" target="_blank">jean-francois.taltavull@elca.ch</a>><br>
<b>Cc:</b> openstack-discuss <<a href="mailto:openstack-discuss@lists.openstack.org" target="_blank">openstack-discuss@lists.openstack.org</a>><br>
<b>Subject:</b> Re: [Ceilometer] Pollster cannot get RadosGW metrics when API endpoints are based on URL instead of port number<u></u><u></u></span></p>
</div>
</div>
<p class="MsoNormal"><u></u> <u></u></p>
<table style="width:100%;border-collapse:collapse" width="100%" cellspacing="0" cellpadding="0" border="0">
<tbody>
<tr>
<td style="width:5.25pt;background:red none repeat scroll 0% 0%;padding:0.75pt" width="7">
<p class="MsoNormal" style="margin-bottom:7.5pt"><span style="font-size:10pt;color:red"> </span><u></u><u></u></p>
</td>
<td style="background:rgb(255,235,156) none repeat scroll 0% 0%;padding:3.75pt 11.25pt">
<p class="MsoNormal" style="margin-bottom:7.5pt"><strong><i><span style="font-size:10pt;font-family:"Arial",sans-serif;color:red">EXTERNAL MESSAGE
</span></i></strong><span style="font-size:10pt;font-family:"Arial",sans-serif;color:black">- This email comes from
<strong><span style="font-family:"Arial",sans-serif">outside ELCA companies</span></strong>.</span><u></u><u></u></p>
</td>
</tr>
</tbody>
</table>
<div>
<div>
<p class="MsoNormal"><span style="font-size:10pt;color:black">You could use a different approach. You can use Dynamic pollster [1], and create your own mechanism to collect data, without needing to change Ceilometer code. Basically all hard-coded pollsters
can be converted to a dynamic pollster that is defined in YML</span><span style="font-size:10pt">.<u></u><u></u></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10pt"><u></u> <u></u></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10pt">[1] <a href="https://docs.openstack.org/ceilometer/latest/admin/telemetry-dynamic-pollster.html#the-dynamic-pollsters-system-configuration-for-non-openstack-apis" target="_blank">
https://docs.openstack.org/ceilometer/latest/admin/telemetry-dynamic-pollster.html#the-dynamic-pollsters-system-configuration-for-non-openstack-apis</a><u></u><u></u></span></p>
</div>
<p class="MsoNormal"><span style="font-size:10pt"><u></u> <u></u></span></p>
</div>
<p class="MsoNormal"><span style="font-size:10pt"><u></u> <u></u></span></p>
<div>
<div>
<p class="MsoNormal"><span style="font-size:10pt">On Mon, Aug 29, 2022 at 12:51 PM Taltavull Jean-François <<a href="mailto:jean-francois.taltavull@elca.ch" target="_blank">jean-francois.taltavull@elca.ch</a>> wrote:<u></u><u></u></span></p>
</div>
<blockquote style="border-color:currentcolor currentcolor currentcolor rgb(204,204,204);border-style:none none none solid;border-width:medium medium medium 1pt;padding:0cm 0cm 0cm 6pt;margin:5pt 0cm 5pt 4.8pt">
<p class="MsoNormal" style="margin-bottom:12pt"><span style="font-size:10pt">Hi All,<br>
<br>
In our OpenStack deployment, API endpoints are defined by using URLs instead of port numbers and HAProxy forwards requests to the right bakend after having ACLed the URL.<br>
<br>
In the case of our object-store service, based on RadosGW, the internal API endpoint is "<a href="https://%3cFQDN%3e/object-store/swift/v1/AUTH_%3ctenant_id%3e" target="_blank">https://<FQDN>/object-store/swift/v1/AUTH_<tenant_id></a>"<br>
<br>
When Ceilometer RadosGW pollster tries to connect to the RadosGW admin API with the object-store internal endpoint, the URL becomes
<a href="https://%3cFQDN%3e/admin" target="_blank">https://<FQDN>/admin</a>, as shown by HAProxy logs. This URL does not match any API endpoint from HAProxy point of view. The line of code that rewrites the URL is this one:
<a href="https://opendev.org/openstack/ceilometer/src/branch/stable/wallaby/ceilometer/objectstore/rgw.py#L81" target="_blank">
https://opendev.org/openstack/ceilometer/src/branch/stable/wallaby/ceilometer/objectstore/rgw.py#L81</a><br>
<br>
What would you think of adding a mechanism based on new Ceilometer configuration option(s) to control the URL rewriting ?<br>
<br>
Our deployment characteristics:<br>
- OpenStack release: Wallaby<br>
- Ceph and RadosGW version: 15.2.16<br>
- deployment tool: OSA 23.2.1 and ceph-ansible<br>
<br>
<br>
Best regards,<br>
Jean-Francois<u></u><u></u></span></p>
</blockquote>
</div>
<p class="MsoNormal"><span style="font-size:10pt"><br clear="all">
<br>
-- <u></u><u></u></span></p>
<div>
<div>
<p class="MsoNormal"><span style="font-size:10pt">Rafael Weingärtner<u></u><u></u></span></p>
</div>
</div>
</div>
</div>
</div>
</div>
</div></blockquote></div><br clear="all"><br>-- <br><div dir="ltr"><div dir="ltr">Rafael Weingärtner</div></div>