[ English | Indonesia | русский ]

将 radosgw 集成到您的遥测

作为对象存储的 radosgw 的遥测(以及随之而来的计量)默认情况下无法工作。您需要更改 OpenStack 和 Ceph 设置的不同部分才能使其正常运行。

Ceilometer 更改

Ceilometer 需要额外的 pip 包才能与 Ceph Rados Gateway 通信。要安装它,请编辑 user_variables.yml 文件中的 default ceilometer_pip_packages

ceilometer_pip_packages:
    - ceilometer
    - ceilometermiddleware
    - cryptography
    - gnocchiclient
    - libvirt-python
    - PyMySQL
    - pymongo
    - python-memcached
    - tooz
    - warlock
    - requests-aws>=0.1.4 #https://github.com/openstack/ceilometer/blob/stable/2025.2/test-requirements.txt

您还需要配置 Ceilometer 以实际查询 radosgw。如果您的 ceilometer 未配置为轮询所有内容,请将这些 pollsters 添加到您的 polling.yml 文件中

- name: radosgw_pollsters
  interval: 1200
  meters:
    -  radosgw.containers.objects
    -  radosgw.containers.objects.size
    -  radosgw.objects
    -  radosgw.objects.size
    -  radosgw.objects.containers
    -  radosgw.usage

也将其添加到您的 pipeline 中

- name: radosgw_source
  interval: 60
  meters:
    - "rgw.objects"
    - "rgw.objects.size"
    - "rgw.objects.containers"
    - "rgw.api.request"
    - "rgw.containers.objects"
    - "rgw.containers.objects.size"
  sinks:
    - meter_sink

通过在 user_variables.yml 文件中添加以下内容,在您的 ceilometer.conf 文件中将 Ceph Rados Gateway 声明为对象存储

ceilometer_ceilometer_conf_overrides:
  service_types:
    radosgw: object-store
  rgw_admin_credentials:
    access_key: XXX
    secret_key: XXX

所需的用户名和凭据由此命令创建

radosgw-admin user create --uid admin --display-name "admin user" --caps "usage=read,write;metadata=read,write;users=read,write;buckets=read,write"

要获取您的凭据,请执行

radosgw-admin user info --uid admin | jq '.keys'

Ceph 更改

所需的更改在 Ceilometer 的文档中描述。这只是一个总结。在您的 ceph.conf 中添加

[client.radosgw.gateway]
rgw enable usage log = true
rgw usage log tick interval = 30
rgw usage log flush threshold = 1024
rgw usage max shards = 32
rgw usage max user shards = 1