gnocchi 4.2.0 简介 配置 实际使用(全网首测)

2023-05-16

一、简介

gnocchi 主要用来提供资源索引和存储时序计量数据,其架构如下图所示:

从图可以看出Gnocchi的服务主要包含两大服务,API和Metricd服务。

同时可以看到有三个存储,

  • 传入度量存储 Measure Storage
  • 聚合指标存储 Aggregate Storage
  • 索引  Index

传入度量存储Measure Storage:是经过ceilometer-agent-notification服务处理后发送过来的数据,是实际采集到的监控数据。

聚合指标存储Aggregate Storage:存放的是按照预定义的策略进行聚合计算后的数据,提高监控数据展示时速度。

索引Index:通常是一个关系型数据库(比如MYSQL),是监控数据的元数据,用以索引取出resources和metrics,使得可以快速的从Measure Storage和Aggregate Storage中取出所需要的数据。

传入度量和聚合指标注存储驱动程序

Gnocchi可以将不同的存储系统用于其传入度量和聚合度量,例如:

  • File (默认)
  • Ceph (推荐)
  • OpenStack Swift
  • Amazon S3
  • Redis

索引器驱动程序

需要一个数据库来索引Gnocchi将处理的资源和指标。支持的驱动程序是:

  • PostgreSQL (推荐)
  • MySQL (最小版本 5.6.4)

Gnocchi由几个服务组成:HTTP REST API(请参阅REST API用法),可选的statsd兼容守护程序(请参阅Statsd守护程序用法)和异步处理守护程序(名为gnocchi-metricd)。数据通过HTTP REST API或statsd守护程序接收。gnocchi-metricd在后台对接收到的数据执行操作(统计计算,度量标准清除等)。

所有这些服务都是无状态的,因此可以水平扩展。与许多时间序列数据库相反,可以运行的gnocchi度量守护程序或gnocchi-api端点的数量没有限制 。如果您的负载开始增加,则只需生成更多守护程序来处理新请求的流程。如果要处理高可用性方案,也是如此:只需在独立服务器上启动更多的Gnocchi守护程序即可。

Gnocchi中有四层数据,Resource Type -> Resources  -> Metric -> Measure

 自顶向下列表显示为:

 某个实例的metric列表

某个Metric的Measures

 

 

二、配置

一个实际使用中的gnocchi默认配置如下:

[DEFAULT]
debug = False
log_dir = /var/log/kolla/gnocchi
log_file = /var/log/kolla/gnocchi/gnocchi-api.log

[api]
port = 8041
host = 10.0.49.139
middlewares = keystonemiddleware.auth_token.AuthProtocol
auth_mode = keystone

[database]
connection = mysql+pymysql://gnocchi:ABCD.666@10.0.49.149:3306/gnocchi
max_pool_size = 50
max_overflow = 1000
max_retries = -1

[statsd]
resource_id = ad6f6ffb-de25-4934-9cc3-cb6d4602ca87
user_id = 5728b5d2-9d5b-4331-a008-02969bc8f4a4
project_id = 7920bcaf-7fee-450c-84cd-d52383f83a37
archive_policy_name = low
flush_delay = 10

[metricd]
workers = 4

[indexer]
url = mysql+pymysql://gnocchi:ABCD.666@10.0.49.149:3306/gnocchi

[keystone_authtoken]
auth_uri = http://10.0.49.149:5000/v3
project_domain_id = default
project_name = service
user_domain_id = default
username = gnocchi
password = ABCD.666
auth_url = http://10.0.49.149:35357
auth_type = password
memcache_security_strategy = ENCRYPT
memcache_secret_key = ORXMCNi8ZJCOk1BOrKcRLfYYL0bWddQdL0hPpfzf
memcached_servers = 10.0.49.131:11211,10.0.49.132:11211,10.0.49.133:11211

[storage]
driver = ceph
ceph_pool = gnocchi
ceph_username = gnocchi
ceph_keyring = /etc/ceph/ceph.client.gnocchi.keyring
ceph_conffile = /etc/ceph/ceph.conf

[cors]
allowed_origin = http://10.0.49.149:3000
 

三、实际使用

gnocchi 4.2.0提供四种汇聚策略bool,low,medium,high,默认时为low.

聚合计算策略介绍:

聚合计算策略表示最后数据存储到后端时是什么形态,间隔多少,保存多久.例如,想创建一个间隔5秒,存储时间为7天命名为selftest的策略,然后让所有network相关度量采用此指标汇聚。过程是先创建策略selftest

gnocchi archive-policy create -d points:120960,granularity:0:00:05 selftest

然后创建策略规则archive-policy-rule利用正则表达式network*匹配所有名字由network开头的metric,此策略规则的名称为network

gnocchi archive-policy-rule create -a selftest -m network* network

列出所有激活的策略规则

gnocchi archive-policy-rule list

 此时所有network开头的metric仍然采用low策略

但如果新建一个实例,所有network相关metric均会采用新策略

 

 与此相对应,此时汇聚后的measures 已经使用了新的策略,即5秒的粒度.

 

参考文章

https://gnocchi.osci.io/install.html#configuring-authentication
https://www.cnblogs.com/luohaixian/p/11145939.html
https://qkxu.github.io/2017/03/16/3.0%E7%89%88%E6%9C%AC-gnocchi%E6%93%8D%E4%BD%9C.html
https://blog.csdn.net/qingyuanluofeng/article/details/68961093
https://www.cnblogs.com/bonelee/p/6237188.html

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

gnocchi 4.2.0 简介 配置 实际使用(全网首测) 的相关文章

随机推荐