15:00:34 #startmeeting monasca 15:00:38 Meeting started Wed Jul 6 15:00:34 2016 UTC and is due to finish in 60 minutes. The chair is rhochmuth. Information about MeetBot at http://wiki.debian.org/MeetBot. 15:00:39 Useful Commands: #action #agreed #help #info #idea #link #topic #startvote. 15:00:42 The meeting name has been set to 'monasca' 15:01:27 o/ 15:01:32 o/ 15:01:33 o/ 15:01:34 o/ 15:01:36 hello 15:01:39 o/ 15:01:39 o/ 15:01:42 o/ 15:01:45 o/ 15:01:46 o/ 15:01:48 o/ 15:01:58 agenda at: https://etherpad.openstack.org/p/monasca-team-meeting-agenda 15:02:04 Agenda for Wednesday July 6, 2016 (15:00 UTC) 15:02:05 1. https://blueprints.launchpad.net/monasca/+spec/delete-metrics 15:02:05 2. https://blueprints.launchpad.net/monasca/+spec/read-only-api-user 15:02:05 3. Beaver log agent, status? 15:02:15 Fairly light agenda today 15:02:35 so we can leave time at the end for general discussion 15:02:55 #topic delete metrics 15:02:56 https://blueprints.launchpad.net/monasca/+spec/delete-metrics 15:02:59 that's me 15:03:42 have we discussed this before? it's use-case we really need here at charter. the ability for our MaaS customers to delete their own metrics 15:03:59 we've found it's an iterative process when pushing metrics in -- don't get it right the first tiem 15:04:00 time 15:04:22 we'd like our customers to be able to do their own cleanup 15:04:40 DELETE /v2.0/metrics 15:04:44 right 15:04:46 just use that 15:04:58 wait -- that's there? :) 15:05:34 DELETE /v2.0/metrics/measurements 15:05:47 so are those the proposals 15:05:55 o/ 15:05:58 the two proposals 15:06:16 the first one would delete the entire metric and all measurements 15:07:19 would like both i guess -- but if i had to pick one, i'd prefer DELETE /v2.0/metrics if it cleans up measurements 15:07:37 as long as DELETE /v2.0/metrics supported specifying dimensions 15:08:08 the first one, with support for metric name, dimensions, as filter options would seems to make sense to me 15:08:32 This is just for deleting historical data? 15:08:45 metrics measurements 15:08:53 yeah -- i agree. our current prune script supports more granularity of measurements by timestamp range, but i think we wouldn't need that for our customers 15:09:10 yes -- both bogus metrics/dimensions, and corresponding historical measurements 15:09:15 have you looked at performance 15:09:25 this used to run very slow in vertica for example 15:09:36 but i think you mentioned they improved perforamance 15:09:37 yes -- on the vertica side. we run a prune job nightly 15:09:41 i'm not sure about influxdb 15:09:46 or cassandra 15:10:11 i'm not sure about either of those either 15:10:24 so, you don't see performance hit in vertica when deleting metrics 15:10:40 in vertica deletes were slow and involved a full table lock as row locks weren't supported 15:10:53 so, the db would be locked out while vertica did it 15:10:59 vertica 7.2 works fine -- the performance depends on what % of the measurements table you are deleting 15:11:00 it's thing 15:11:32 does it lock out the db when deleting 15:11:47 we do see brief kafka lag during the prune job -- but it's only a couple of minutes, and we're deleting a large amount of data across all projects nightly 15:11:52 yes 15:12:08 how would you prevent potential customer abuse 15:12:22 inadvertent dos attack for example, non-malicious 15:12:37 customer says, delete all metrics, 15:12:47 then the db is taken out for a while 15:12:52 or locked out 15:13:07 it's a potential issue 15:13:48 i guess i was thinking about implementation 15:14:12 the simple implementatino is a direct invocation of truncate or whatever in the db, directly from the API 15:14:55 but, i'm wondering if a separate micro-service would be a better approach, so that deletes could be schedule and occur async over some longer time-period 15:15:19 yes -- in terms of vertica implementation -- it's a DELETE from.. https://github.com/openstack/puppet-monasca/blob/master/templates/vertica/prune_vertica.py.erb 15:16:03 hmm. a separate service that batches things up. that could alleviate the dos concern 15:16:03 I see 15:16:15 monasca-delete 15:17:00 anyway, i think there needs to be some discussion on implementation 15:17:10 i like that idea -- i can expand the blueprint and discuss implementation alternatives 15:17:10 is this one we should cover at the mid-cycle 15:17:19 thx 15:17:26 yeah -- i think that's appropriate, i'll beef up the blueprint 15:17:37 prior to that 15:18:00 probably should add as an agenda item to the mid-cycle 15:18:14 should we move onto the next topic then? 15:18:19 sure -- will add it when i find the link :) 15:18:39 got it 15:19:28 #topic https://blueprints.launchpad.net/monasca/+spec/read-only-api-user 15:19:33 Read only API 15:19:35 that' me too 15:20:02 right now -- we basically have two API roles, one can POST only, and one can do everything else 15:20:21 but -- we'd like to have dashboard/operator users who can see data, but not POST (or DELETE :)) 15:20:59 grafana supports read-only, we'd like to map those users to back-end readonly 15:21:33 does this seem like a use-case others would benefit from? 15:22:30 or -- do folks object :) 15:22:35 i think it is useful to be able to restrict users to read only access 15:22:42 i don't think it would be a huge change 15:23:21 i was hoping in the cas of python that we would implement openstack RBAC 15:23:25 for sure 15:23:44 if folks agree the idea is OK, i'll work the change, both python/java 15:23:52 unfortunately, the Java code doesnt' have a similar library 15:24:08 right -- but the functionality is there, i'll just extend it 15:24:29 sounds good to me 15:24:48 thx witek 15:25:01 sounds fine to me 15:25:16 anyone else object? otherwise i'll press ahead with a patch 15:25:23 :) 15:25:27 there are probably a few details to discuss 15:25:55 like role name? i was going to follow suit and make configurable 15:25:56 what is your time-frame for implementation 15:26:14 soon -- probably start in a week or so 15:27:34 sounds like new topic time 15:27:38 #topic Beaver log agent, status? 15:27:42 thx 15:28:01 I wanted to ask about the status of the Beaver log agent 15:28:15 would it be possible to contribute to that? 15:28:16 interesting, i just got an email from tsv this morning 15:28:39 i thought i saw him join the meeting 15:28:40 witek: I am refactoring the existing pull request and added some unit tests. will push an update today or tomorrow max 15:28:56 where is the repo? 15:29:21 https://github.com/python-beaver/python-beaver/pull/406 15:29:31 tsv: thanks 15:29:47 witek: are you interested in the beaver agent? 15:29:50 witek: will send you the link once my updates are in 15:29:55 yes 15:30:14 are you thinking about moving for logstash to beaver? 15:30:27 we have an internal POC where we don't want to install logstash 15:30:42 more like an alternative 15:30:59 ok 15:31:20 rhochmuth: sorry about the short notice. fell sick over the weekend 15:31:31 np 15:32:28 so, python-beaver sends logs to logstash? 15:33:05 witek: it is highly configurable. the pull request i am working on adds a monascalog transport - which would send the logs to monasca log api 15:33:26 i see 15:34:50 we have added the pull request with our logstash output plugin to logstash-plugins repository 15:34:55 https://github.com/logstash-plugins/logstash-output-monasca_log_api/pull/1 15:35:08 but it does not get much attention :( 15:35:34 witek: i see, will check it out 15:35:34 9 days no comments 15:36:07 do we need to vote for it 15:36:39 for choosing the agent? 15:36:50 for merging your pr 15:37:21 i thought there was a way to thumbsup the pr 15:37:30 oh, I think one comment from you or tsv would be enough for now 15:37:41 pr == parole officer? 15:37:53 pull request 15:39:11 bklei: are you planning on a bp for dimensions 15:39:19 witek: just left a comment 15:39:27 thanks a lot! 15:39:37 can if you want rhochmuth 15:39:50 i think that would be good 15:40:01 will add it 15:40:07 what is the response that you are thinking about providing 15:40:18 also, we have dimenion names and dimension values 15:40:45 just wondering if you are thinking about two resources 15:40:49 or just one called dimensions 15:41:14 i then to think of this as two resources 15:41:28 dimension-names 15:41:32 dimension-values 15:42:01 the use-case we're working for grafana is basically dimension-values 15:42:15 for a given dimension name -- what are the possible values 15:42:32 example output 15:42:35 { 15:42:36 "links":[ 15:42:36 { 15:42:38 "rel":"self", 15:42:40 "href":"http://dev02-monasca-001.os.cloud.twc.net:8070/v2.0/metrics/dimensions?name=hostname" 15:42:42 } 15:42:44 ], 15:42:46 "elements":[ 15:42:48 { 15:42:50 "id":null, 15:42:52 "name":"hostname", 15:42:54 "values":[ 15:42:56 "dev02-compute-001", 15:42:58 15:43:00 not done, but u get the idea 15:43:33 i wasn't planning an api to get all the dimension names -- is there a need for that? 15:43:34 rbak? 15:43:57 I didn't really see a need for that, at least not in grafana. 15:44:24 i thought it would be seful to get just the dimension names, given a metric name 15:44:43 But you can already do that using metric-list with a metric name 15:44:45 the problem with returning all the dimension values, is that could be a huge list 15:45:16 metric-list also returns a huge list 15:45:17 will need pagination/limit for sure 15:45:46 even though potentially huge, still faster and smaller than metric-list 15:45:48 so, let's say the user selects "vm.cpu.user_perc" 15:45:55 as the metric name 15:46:14 this is for templating -- metric name not part of the request 15:46:48 there are potentially hundreds of thousands if not millions of VMs 15:47:07 there are maybe around 5-50 dimensions for the metric 15:47:10 5-10 15:47:15 Sure, but the getting just the dimension values is far better than getting a full metric-list 15:48:09 agree 15:48:28 our current issue is metric-list kills the browser when trying to build a template 15:48:48 paginates until it's out of memory 15:48:49 but, i want to leave a api spot open for just getting dimension names 15:49:06 Why is that necessary though? 15:49:10 so, you can got from name, to dimension name to dimension value 15:49:52 i think it is more of a question around optimizing the result set 15:50:02 we pretty much have that? you can --name with metric list 15:50:13 You can already accomplish that with a metric-list though. We already do this in grafana and it's pretty instant. 15:50:52 but, you are going to get all the unique metrics for a specific metric name 15:50:53 metric-list gives a set of dimension sets, lots of duplicates. The dimensions-name would give just a list of the unique dimension names 15:51:06 thx rbrndt 15:51:26 I suppose. That's just never been a problem for us. 15:51:32 ok -- maybe there's a middle ground, maybe i implement dimension-values for now, can add dimension-names later? 15:52:23 and for dimension-values, i can add an optional metric name? 15:52:37 but templating in grafana wouldn't use it 15:52:44 The problem the dimension names resource is more useful for is the case of a single metric names with millions of dimensions sets associated 15:53:07 that was the case i was thinking of 15:53:14 which occurs with lots of vas and a high churn rate 15:53:21 s/vas/vms 15:53:26 for the operator/admin account 15:53:40 i don't think this would be required for maas customers/tenants 15:53:59 but in the case of the operator/tenant account where every vm in the system is accessible, it would be useful 15:54:23 don't disagree, we just haven't run across the use-case asking for that yet 15:55:03 we've been hitting it 15:55:16 since we've been more focused on the operational monitoring problem 15:55:31 and not maas as much yet 15:55:53 understood 15:56:17 i'll add a BP and we can hash this out there? 15:56:26 thx 15:56:29 hopefully i can press fwd with dimension-valuse 15:56:32 values 15:56:57 yes, please proceed 15:57:03 gracias 15:57:35 so, any other quick topics in closing 15:57:39 just a few minutes left 15:57:42 rhochmuth: Did you ever get that new monasca-grafana-datasource repo we talked about a couple weeks ago? 15:58:03 thanks for reminding me 15:58:10 i'll get it submitted 15:58:12 sorry 15:58:19 np. thanks for doing that. 15:58:55 how are your disucssions going with grafana btw 15:58:58 o/ 15:59:16 Not a lot of progress. We'll keep you updated as we hear more. 15:59:23 ok, thx 15:59:31 looks like ending the meeting 15:59:59 thanks everyone 16:00:06 thank you 16:00:39 #endmeeting