簡體   English   中英

為什么 Gnocchi 緩慢地將“server_group”應用於資源?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM