逐步配置指南¶
注意
有关示例 cloudkitty.conf 文件,请参阅 cloudkitty.conf 参考 。
编辑 /etc/cloudkitty/cloudkitty.conf 以配置 cloudkitty。
常用选项¶
大多数 OpenStack 项目支持的选项也受 cloudkitty 支持
[DEFAULT]
verbose = true
debug = false
log_dir = /var/log/cloudkitty
transport_url = rabbit://RABBIT_USER:RABBIT_PASSWORD@RABBIT_HOST
API 认证方法¶
认证方法通过 auth_strategy 选项在 [DEFAULT] 部分中定义。
独立模式¶
如果您在独立模式下使用 CloudKitty,则必须使用 noauth
[DEFAULT]
auth_strategy = noauth
Keystone 集成¶
如果您将 CloudKitty 与 OpenStack 一起使用,您将希望使用 Keystone 认证
[DEFAULT]
auth_strategy = keystone
使用 Keystone 时,您必须为 Keystone 提供 CloudKitty 凭据。这些必须在 [keystone_authtoken] 部分中指定。由于这些凭据将在多个地方使用,因此使用公共部分很方便
[ks_auth]
auth_type = v3password
auth_protocol = http
auth_url = http://KEYSTONE_HOST:5000/
identity_uri = http://KEYSTONE_HOST:5000/
username = cloudkitty
password = CK_PASSWORD
project_name = service
user_domain_name = default
project_domain_name = default
[keystone_authtoken]
auth_section = ks_auth
注意
service 项目也可以称为 services。
CloudKitty 提供 rating OpenStack 服务。
要将 cloudkitty 集成到 Keystone,请以 OpenStack 管理员身份运行以下命令
openstack user create cloudkitty --password CK_PASSWORD
openstack role add --project service --user cloudkitty admin
openstack service create rating --name cloudkitty \
--description "OpenStack Rating Service"
openstack endpoint create rating --region RegionOne \
public https://:8889
openstack endpoint create rating --region RegionOne \
admin https://:8889
openstack endpoint create rating --region RegionOne \
internal https://:8889
存储¶
下一步是配置存储。从 SQL 开始,创建 cloudkitty 表和用户
mysql -uroot -p << EOF
CREATE DATABASE cloudkitty;
GRANT ALL PRIVILEGES ON cloudkitty.* TO 'CK_DBUSER'@'localhost' IDENTIFIED BY 'CK_DBPASSWORD';
EOF
在配置文件的 [database] 部分中指定 SQL 凭据
[database]
connection = mysql+pymysql://CK_DBUSER:CK_DBPASSWORD@DB_HOST/cloudkitty
设置 SQL 数据库服务后,可以配置评级数据的存储后端。可以在 存储后端配置指南 中找到完整的配置参考。我们将使用 v2 存储后端,它将启用 v2 API。必须在文档的 [storage] 部分中指定存储版本和要使用的驱动程序
[storage]
version = 2
backend = influxdb
特定于驱动程序的选项随后在 [storage_{drivername}] 部分中指定
[storage_influxdb]
username = cloudkitty
password = cloudkitty
database = cloudkitty
host = influxdb
配置 SQL 和评级数据存储后端后,初始化存储
cloudkitty-storage-init
然后,运行数据库迁移
cloudkitty-dbsync upgrade
Fetcher¶
Fetcher 检索要评级的范围列表,然后将其传递给 collector。可以在 fetcher 配置指南 中找到完整的配置参考。对于此示例,我们将使用 gnocchi fetcher,它将发现要评级的范围(在本例中为 OpenStack 项目)。要使用的 fetcher 通过 backend 选项在 [fetcher] 部分中指定
[fetcher]
backend = gnocchi
特定于 fetcher 的选项随后在 [fetcher_{fetchername}] 部分中指定
[fetcher_gnocchi]
auth_section = ks_auth
region_name = MyRegion
Collector(收集器)¶
collector 将检索 fetcher 提供的范围的数据,并将其传递给评级模块。collector 的使用在 [collect] 部分中指定,collector 特定的选项在 [collector_{collectorname}] 部分中指定
[collect]
collector = gnocchi
[collector_gnocchi]
auth_section = ks_auth
region_name = MyRegion
请注意,您还需要配置 collector 应该收集哪些指标以及如何收集它们。请参阅 collector 配置指南 以了解更多信息