将度量和警报状态转换从消息队列移动到度量和警报数据库。
monasca-persister的Python项目详细描述
莫纳斯卡持久剂
监视持久化程序使用度量和警报状态转换 从消息队列并将其存储在度量和警报中 数据库。
尽管persister主要不是一个使用dropwizard的web服务, https://dropwizard.github.io/dropwizard/,它提供了一个很好的web 用于公开提供 接口,通过该接口可以将有关持久化器的度量查询为 以及健康状况。
持久化的基本设计是让一个kafka消费者发布 对于一个破坏者,https://github.com/LMAX-Exchange/disruptor,它 输出处理器。输出处理器使用准备好的批处理语句 写入度量和报警数据库。
持久化程序中的输出处理器/线程数可以是 指定以缩放到更多消息。水平缩放并提供 容错任何数量的持久化程序都可以作为使用者启动 从消息队列。
构建
需要monasca common from https://github.com/openstack/monasca-common。下载并生成 遵循readme.md中的说明,然后构建Monasca持久化程序 签署人:
mvn clean package
配置
示例配置文件位于 java/src/deb/etc/persister-config.yml-sample。
中提供了第二个配置文件 java/src/main/resources/persister-config.yml用于vagrant “mini-mon” development environment。
待办事项
- 关闭时清除指标
- 在Kafka中添加更强大的偏移管理。目前,偏移量为 在阅读每条消息时显示高级。如果在 度量已经被读取,并且在它被提交到度量之前 和报警数据库,指标将丢失。
- 添加更好的SQL异常处理。
- 完成健康检查。
- 指定并记录可用于 监视持久化程序。
- 记录yaml配置参数。
许可证
版权所有(c)2014 Hewlett-Packard Development Company,L.P.
根据apache许可证2.0版(以下简称“许可证”)授权;您可以 除非符合许可证,否则不要使用此文件。你可以获得 在
http://www.apache.org/licenses/LICENSE-2.0
除非适用法律要求或书面同意,否则软件 根据许可证分发是按“原样”分发的, 无任何明示或默示的保证或条件。 有关管理权限的特定语言和 许可下的限制。
Python
要安装python monasca持久化模块,git克隆源代码 并运行以下命令:
$ sudo python setup.py install
要运行单元测试,请使用:
$ tox -e py27,py35