Difference between revisions of "MagnetoDB/specs/monitoring-api"
(→Work Items) |
Ikhudoshyn (talk | contribs) m (→MagnetoDB monitoring api) |
||
Line 4: | Line 4: | ||
The API for exposing usage statistic for users, external monitoring or billing tools. | The API for exposing usage statistic for users, external monitoring or billing tools. | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
=== Proposed Change === | === Proposed Change === | ||
Line 18: | Line 12: | ||
Response: | Response: | ||
{size: 1003432; item_count: 3000} | {size: 1003432; item_count: 3000} | ||
− | |||
− | |||
− | |||
− | |||
==== Security Impact ==== | ==== Security Impact ==== | ||
− | * | + | * secure communication with MQ should be configured |
− | |||
==== Notifications Impact ==== | ==== Notifications Impact ==== | ||
Line 35: | Line 24: | ||
Now we have POC for count items in table (https://review.openstack.org/#/c/118557/) but this implementation is very expensive (we scan all our data to get one counter). So we need change concept and use Cassandra JMX to get approximate number of items and also size of CF on disk. | Now we have POC for count items in table (https://review.openstack.org/#/c/118557/) but this implementation is very expensive (we scan all our data to get one counter). So we need change concept and use Cassandra JMX to get approximate number of items and also size of CF on disk. | ||
− | ==== | + | ==== Deployment Impact ==== |
None | None | ||
==== Developer Impact ==== | ==== Developer Impact ==== | ||
Line 56: | Line 45: | ||
===== Dependencies ===== | ===== Dependencies ===== | ||
− | [ | + | [https://wiki.openstack.org/wiki/Oslo/Messaging Oslo.Messaging] |
==== Documentation Impact ==== | ==== Documentation Impact ==== | ||
− | + | Magnetodb Schema Processor deployment should be added to corresponding doc (TBD) | |
==== References ==== | ==== References ==== | ||
None | None |
Revision as of 14:25, 18 September 2014
Contents
MagnetoDB monitoring api
Launchpad: monitoring-api
The API for exposing usage statistic for users, external monitoring or billing tools.
Proposed Change
- Introduce monitoring API available on the same port as data API by path /moninoting/*
- implement REST method for list of tables /moninoting/{tenant_id}/tables
- table usage details /moninoting/{tenant_id}/table/{table_name}
Response: {size: 1003432; item_count: 3000}
Security Impact
- secure communication with MQ should be configured
Notifications Impact
None
Other End User Impact
TBD
Performance Impact
Now we have POC for count items in table (https://review.openstack.org/#/c/118557/) but this implementation is very expensive (we scan all our data to get one counter). So we need change concept and use Cassandra JMX to get approximate number of items and also size of CF on disk.
Deployment Impact
None
Developer Impact
None
Implementation
Current concept: at Cassandra node we run JMX-HTTP bridge agent (Jolokia). Client goes to MagnetoDB with REST-like interface (.../moninoting/{tenant_id}/table/{table_name}), MagnetoDB goes to Jolokia agent via HTTP, get JMX-metrics from Cassanra and returns them to client. If you have any suggestions about implementation - welcome to our IRC-channel at Freenode #magnetodb.
Assignee(s)
Primary assignee:
<ominakov>
Other contributors:
<None>
Work Items
- Define Monitoring API on wiki.
- Write interface for API.
- Implement calls from MagnetoDB to Jolokia agent.
Dependencies
Documentation Impact
Magnetodb Schema Processor deployment should be added to corresponding doc (TBD)
References
None