[英]why does the frequency of my Gnocchi measurements not match the set granularity
[英]Why Gnocchi apply 'server_group' to resource slowly?
我在創建時將元數據"metering.server_group":"corey-group"
到實例中,並使用nova show
檢查它,它已應用,然后我使用gnocchi resource show --type instance ${instance-id}
檢查gnocchi resource show --type instance ${instance-id}
,屬性server_group
一開始是None
,但過了一會兒,它會被應用(總是在小時,例如:07:00, 08:00...),我不知道會發生什么,我認為這個問題會導致 Gnocchi 在進行聚合時得到不正確的數據集,所以我花了一些時間來解決它。
首先,數據庫中存儲的Gnocchi資源的屬性:
MariaDB [(none)]> use gnocchi
MariaDB [gnocchi]> select * from resource_type where name='instance';
# check its tablename, ex: rt_xxxxxx
MariaDB [gnocchi]> select * from rt_xxxxxx where display_name='corey-vm';
+----------------+---------------------+-----------+--------------------------------------+-------------------------+------------------+---+
| display_name | host | image_ref | flavor_id | server_group | id | flavor_name |
+----------------+---------------------+-----------+--------------------------------------+-------------------------+------------------+---+
| corey-vm | corey-test-com-001 | NULL | 26e46b4c-23bd-4224-a609-29bd3094a18e | NULL | xxxxxx | corey-flavor |
+----------------+---------------------+-----------+--------------------------------------+-------------------------+------------------+---+
正如你所看到的,列server_group
應該是corey-group
,但它始終是NULL
時,剛剛創建的實例,好像雲高儀更新上一小時,每小時的資源。
我在文件ceilometer/publisher/gnocchi.py 中添加了一些日志,發現它每分鍾更新一次資源,但是變量resource_extra
僅在 hour獲取server_group
,這就是為什么它是 None 的開始。
這是日志的一些部分
2020-11-09 11:59:15調試 ceilometer.publisher.gnocchi 資源 {'host': u'test-com-002', 'display_name': u'vm-001', 'flavor_id': u'xxx' , 'flavor_name': u'xxx'} publish_samples /usr/lib/python2.7/site-packages/ceilometer/publisher/gnocchi.py:345
2020-11-09 12:00:15調試 ceilometer.publisher.gnocchi 資源 {'host': u'test-com-002', 'display_name': u'vm-001', 'flavor_name': u'xxx' , 'server_group': 'corey-group' } 發布樣本/usr/lib/python2.7/site-packages/ceilometer/publisher/gnocchi.py:345
2020-11-09 12:01:15調試 ceilometer.publisher.gnocchi 資源 {'host': u'test-com-002', 'display_name': u'vm-001', 'flavor_id': u'xxx' , 'flavor_name': u'xxx'} publish_samples /usr/lib/python2.7/site-packages/ceilometer/publisher/gnocchi.py:345
但是我卡在了這一點上,我不明白為什么變量resource_extra
每次都無法獲取server_group
。 究竟是什么原因導致這種情況發生? (在皇后區跑步)
我將不勝感激任何想法。
更新 09/11/2020
經過幾天的故障排除,我仍然找不到根本原因。
但是我找到了一個命令行來手動應用“server_group”,這可以幫助我避免 Gnocchi 獲取不正確的數據集進行聚合。
這里是:
gnocchi resource update --type instance -a server_group:corey-group ${resource_id}
2020 年 11 月 11 日更新
我試圖grep
整數 3600 並將它們修改為 300,但沒有任何改變,下面是我嘗試過的。
/etc/ceilometer/ceilometer.conf
[compute]
resource_cache_expiry = 300
雲高儀/計算/discovery.py
cfg.IntOpt('resource_cache_expiry',
default=300,
雲高儀/出版商/ zaqar.py
DEFAULT_TTL = 300
2020 年 11 月 12 日更新
我無法在 Pike 上重現此問題。
也許你可以參考以下討論:
使用基於 gnocchi 的 aodh 警報進行熱自動縮放需要對雲高儀計算代理使用簡單的 instance_discovery_method 設置?
根據參考,嘗試將 ceilometer 配置文件中的默認instance_discovery_method
從“libvirt_metadata”更改為“naive” ,如下所示:
[compute]
instance_discovery_method = naive
切換到“naive”解決了這個問題,但是它顯然會在用於元數據檢索的 Nova API 上產生負載。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.