)]}'
{"grafana/values.yaml":[{"author":{"_account_id":17591,"name":"Steve Wilkerson","email":"wilkers.steve@gmail.com","username":"srwilkers"},"change_message_id":"dfc0c4baa576c7c77a0a2329394137029e1daab9","unresolved":false,"context_lines":[{"line_number":16960,"context_line":"        targets:"},{"line_number":16961,"context_line":"        - column: value"},{"line_number":16962,"context_line":"          condition: \u0027\u0027"},{"line_number":16963,"context_line":"          expr: sum(nginx_responses_total{server_zone\u003d~\"heat.*\", status_code\u003d\"5xx\", region\u003d\"$region\", kubernetes_namespace\u003d\"$namespace\"})"},{"line_number":16964,"context_line":"          fill: \u0027\u0027"},{"line_number":16965,"context_line":"          format: time_series"},{"line_number":16966,"context_line":"          function: count"}],"source_content_type":"text/x-yaml","patch_set":5,"id":"7faddb67_1197abee","line":16963,"range":{"start_line":16963,"start_character":20,"end_line":16963,"end_character":41},"updated":"2019-07-12 14:21:12.000000000","message":"This metric doesn\u0027t exist any longer.  Can we move to use the expression here that includes the updated ingress metric as well as the appropriate label and regex format for 500 type response codes. This ends up being:\nsum(nginx_ingress_controller_response_size_count{host\u003d~\"heat.$namespace.svc.cluster.local\", status\u003d~\"5..\"})\n\nWe can remove the region and kubernetes_namespace labels here, as the host label check in the expression above only captures the heat host in the selected namespace","commit_id":"8b3223caac35d3026f5a364c4aa6533db014b112"},{"author":{"_account_id":17591,"name":"Steve Wilkerson","email":"wilkers.steve@gmail.com","username":"srwilkers"},"change_message_id":"dfc0c4baa576c7c77a0a2329394137029e1daab9","unresolved":false,"context_lines":[{"line_number":17221,"context_line":"        targets:"},{"line_number":17222,"context_line":"        - column: value"},{"line_number":17223,"context_line":"          condition: \u0027\u0027"},{"line_number":17224,"context_line":"          expr: sum(nginx_responses_total{server_zone\u003d~\"heat_cfn.*\", status_code\u003d\"5xx\", region\u003d\"$region\", kubernetes_namespace\u003d\"$namespace\"})"},{"line_number":17225,"context_line":"          fill: \u0027\u0027"},{"line_number":17226,"context_line":"          format: time_series"},{"line_number":17227,"context_line":"          function: count"}],"source_content_type":"text/x-yaml","patch_set":5,"id":"7faddb67_11656b1e","line":17224,"range":{"start_line":17224,"start_character":20,"end_line":17224,"end_character":41},"updated":"2019-07-12 14:21:12.000000000","message":"This metric doesn\u0027t exist any longer.  Can we move to use the expression here that includes the updated ingress metric as well as the appropriate label and regex format for 500 type response codes. This ends up being:\nsum(nginx_ingress_controller_response_size_count{host\u003d~\"cloudformation.$namespace.svc.cluster.local\", status\u003d~\"5..\"})\n\nWe can remove the region and kubernetes_namespace labels here, as the host label check in the expression above only captures the cloudformation host in the selected namespace","commit_id":"8b3223caac35d3026f5a364c4aa6533db014b112"},{"author":{"_account_id":17591,"name":"Steve Wilkerson","email":"wilkers.steve@gmail.com","username":"srwilkers"},"change_message_id":"dfc0c4baa576c7c77a0a2329394137029e1daab9","unresolved":false,"context_lines":[{"line_number":17594,"context_line":"        targets:"},{"line_number":17595,"context_line":"        - column: value"},{"line_number":17596,"context_line":"          condition: \u0027\u0027"},{"line_number":17597,"context_line":"          expr: sum(nginx_responses_total{server_zone\u003d~\"keystone.*\", status_code\u003d\"5xx\", region\u003d\"$region\", kubernetes_namespace\u003d\"$namespace\"})"},{"line_number":17598,"context_line":"          fill: \u0027\u0027"},{"line_number":17599,"context_line":"          format: time_series"},{"line_number":17600,"context_line":"          function: count"}],"source_content_type":"text/x-yaml","patch_set":5,"id":"7faddb67_517e83af","line":17597,"range":{"start_line":17597,"start_character":20,"end_line":17597,"end_character":41},"updated":"2019-07-12 14:21:12.000000000","message":"This metric doesn\u0027t exist any longer.  Can we move to use the expression here that includes the updated ingress metric as well as the appropriate label and regex format for 500 type response codes. This ends up being:\nsum(nginx_ingress_controller_response_size_count{host\u003d~\"keystone.$namespace.svc.cluster.local\", status\u003d~\"5..\"})\n\nWe can remove the region and kubernetes_namespace labels here, as the host label check in the expression above only captures the keystone host in the selected namespace","commit_id":"8b3223caac35d3026f5a364c4aa6533db014b112"},{"author":{"_account_id":17591,"name":"Steve Wilkerson","email":"wilkers.steve@gmail.com","username":"srwilkers"},"change_message_id":"dfc0c4baa576c7c77a0a2329394137029e1daab9","unresolved":false,"context_lines":[{"line_number":17967,"context_line":"        targets:"},{"line_number":17968,"context_line":"        - column: value"},{"line_number":17969,"context_line":"          condition: \u0027\u0027"},{"line_number":17970,"context_line":"          expr: sum(nginx_responses_total{server_zone\u003d~\"swift.*\", status_code\u003d\"5xx\", region\u003d\"$region\", kubernetes_namespace\u003d\"$namespace\"})"},{"line_number":17971,"context_line":"          fill: \u0027\u0027"},{"line_number":17972,"context_line":"          format: time_series"},{"line_number":17973,"context_line":"          function: count"}],"source_content_type":"text/x-yaml","patch_set":5,"id":"7faddb67_b12337bd","line":17970,"range":{"start_line":17970,"start_character":20,"end_line":17970,"end_character":41},"updated":"2019-07-12 14:21:12.000000000","message":"This metric doesn\u0027t exist any longer.  Can we move to use the expression here that includes the updated ingress metric as well as the appropriate label and regex format for 500 type response codes. This ends up being:\nsum(nginx_ingress_controller_response_size_count{host\u003d~\"radosgw.$namespace.svc.cluster.local\", status\u003d~\"5..\"})\n\nWe can remove the region and kubernetes_namespace labels here, as the host label check in the expression above only captures the radosgw host in the selected namespace\n\nThe reason for using radosgw here instead of \u0027swift\u0027, is that we\u0027re using the ceph-rgw swift API, and the resulting public endpoint for the Ceph-rgw deployment is \u0027radosgw\u0027: https://github.com/openstack/openstack-helm-infra/blob/master/ceph-rgw/values.yaml#L484","commit_id":"8b3223caac35d3026f5a364c4aa6533db014b112"},{"author":{"_account_id":17591,"name":"Steve Wilkerson","email":"wilkers.steve@gmail.com","username":"srwilkers"},"change_message_id":"b808220c8f89eadaffed3e78f7ad62f4620db40c","unresolved":false,"context_lines":[{"line_number":16778,"context_line":"      description: A dashboard for the CoreDNS DNS server."},{"line_number":16779,"context_line":"    Openstack_Services_Heat:"},{"line_number":16780,"context_line":"      __inputs:"},{"line_number":16781,"context_line":"      - name: DS_PROMETHEUS"},{"line_number":16782,"context_line":"        label: prometheus"},{"line_number":16783,"context_line":"        description: \u0027\u0027"},{"line_number":16784,"context_line":"        type: datasource"}],"source_content_type":"text/x-yaml","patch_set":7,"id":"7faddb67_76e47c0d","line":16781,"range":{"start_line":16781,"start_character":14,"end_line":16781,"end_character":27},"updated":"2019-07-18 17:12:28.000000000","message":"prometheus","commit_id":"d0d1c846a600bd959dc6c1ca2fb19081d5c991ec"},{"author":{"_account_id":17591,"name":"Steve Wilkerson","email":"wilkers.steve@gmail.com","username":"srwilkers"},"change_message_id":"b808220c8f89eadaffed3e78f7ad62f4620db40c","unresolved":false,"context_lines":[{"line_number":16779,"context_line":"    Openstack_Services_Heat:"},{"line_number":16780,"context_line":"      __inputs:"},{"line_number":16781,"context_line":"      - name: DS_PROMETHEUS"},{"line_number":16782,"context_line":"        label: prometheus"},{"line_number":16783,"context_line":"        description: \u0027\u0027"},{"line_number":16784,"context_line":"        type: datasource"},{"line_number":16785,"context_line":"        pluginId: prometheus"}],"source_content_type":"text/x-yaml","patch_set":7,"id":"7faddb67_16ef48e9","line":16782,"range":{"start_line":16782,"start_character":15,"end_line":16782,"end_character":25},"updated":"2019-07-18 17:12:28.000000000","message":"Prometheus","commit_id":"d0d1c846a600bd959dc6c1ca2fb19081d5c991ec"},{"author":{"_account_id":17591,"name":"Steve Wilkerson","email":"wilkers.steve@gmail.com","username":"srwilkers"},"change_message_id":"b808220c8f89eadaffed3e78f7ad62f4620db40c","unresolved":false,"context_lines":[{"line_number":16796,"context_line":"      - type: datasource"},{"line_number":16797,"context_line":"        id: prometheus"},{"line_number":16798,"context_line":"        name: Prometheus"},{"line_number":16799,"context_line":"        version: 5.0.0"},{"line_number":16800,"context_line":"      - type: panel"},{"line_number":16801,"context_line":"        id: singlestat"},{"line_number":16802,"context_line":"        name: Singlestat"}],"source_content_type":"text/x-yaml","patch_set":7,"id":"7faddb67_d6be90d3","line":16799,"range":{"start_line":16799,"start_character":17,"end_line":16799,"end_character":22},"updated":"2019-07-18 17:12:28.000000000","message":"1.0.0","commit_id":"d0d1c846a600bd959dc6c1ca2fb19081d5c991ec"},{"author":{"_account_id":17591,"name":"Steve Wilkerson","email":"wilkers.steve@gmail.com","username":"srwilkers"},"change_message_id":"b808220c8f89eadaffed3e78f7ad62f4620db40c","unresolved":false,"context_lines":[{"line_number":16833,"context_line":"        - rgba(225, 177, 40, 0.59)"},{"line_number":16834,"context_line":"        - rgba(200, 54, 35, 0.88)"},{"line_number":16835,"context_line":"        - \"#299c46\""},{"line_number":16836,"context_line":"        datasource: \"${DS_PROMETHEUS}\""},{"line_number":16837,"context_line":"        editable: true"},{"line_number":16838,"context_line":"        error: false"},{"line_number":16839,"context_line":"        format: none"}],"source_content_type":"text/x-yaml","patch_set":7,"id":"7faddb67_b6ac349f","line":16836,"range":{"start_line":16836,"start_character":20,"end_line":16836,"end_character":38},"updated":"2019-07-18 17:12:28.000000000","message":"All occurrences can just be changed to prometheus","commit_id":"d0d1c846a600bd959dc6c1ca2fb19081d5c991ec"},{"author":{"_account_id":17591,"name":"Steve Wilkerson","email":"wilkers.steve@gmail.com","username":"srwilkers"},"change_message_id":"b808220c8f89eadaffed3e78f7ad62f4620db40c","unresolved":false,"context_lines":[{"line_number":17754,"context_line":"          type: query"},{"line_number":17755,"context_line":"          useTags: false"},{"line_number":17756,"context_line":"      time:"},{"line_number":17757,"context_line":"        from: \u00272019-06-28T18:20:32.709Z\u0027"},{"line_number":17758,"context_line":"        to: \u00272019-06-28T19:20:32.709Z\u0027"},{"line_number":17759,"context_line":"      timepicker:"},{"line_number":17760,"context_line":"        refresh_intervals:"},{"line_number":17761,"context_line":"        - 5s"}],"source_content_type":"text/x-yaml","patch_set":7,"id":"7faddb67_b6299437","line":17758,"range":{"start_line":17757,"start_character":0,"end_line":17758,"end_character":38},"updated":"2019-07-18 17:12:28.000000000","message":"These need to be relative values similar to the other dashboards","commit_id":"d0d1c846a600bd959dc6c1ca2fb19081d5c991ec"},{"author":{"_account_id":17591,"name":"Steve Wilkerson","email":"wilkers.steve@gmail.com","username":"srwilkers"},"change_message_id":"b808220c8f89eadaffed3e78f7ad62f4620db40c","unresolved":false,"context_lines":[{"line_number":18127,"context_line":"          type: query"},{"line_number":18128,"context_line":"          useTags: false"},{"line_number":18129,"context_line":"      time:"},{"line_number":18130,"context_line":"        from: \u00272019-06-28T18:20:32.709Z\u0027"},{"line_number":18131,"context_line":"        to: \u00272019-06-28T19:20:32.709Z\u0027"},{"line_number":18132,"context_line":"      timepicker:"},{"line_number":18133,"context_line":"        refresh_intervals:"},{"line_number":18134,"context_line":"        - 5s"}],"source_content_type":"text/x-yaml","patch_set":7,"id":"7faddb67_761f9c07","line":18131,"range":{"start_line":18130,"start_character":0,"end_line":18131,"end_character":38},"updated":"2019-07-18 17:12:28.000000000","message":"These need to be relative times, similar to the other dashboards","commit_id":"d0d1c846a600bd959dc6c1ca2fb19081d5c991ec"},{"author":{"_account_id":22636,"name":"Cliff Parsons","email":"cliffhparsons@aol.com","username":"cliffparsons"},"change_message_id":"6d0c9e2a6f73886d85caaa99a257f1f4e3cd828f","unresolved":false,"context_lines":[{"line_number":16982,"context_line":"          step: 120"},{"line_number":16983,"context_line":"          tags: []"},{"line_number":16984,"context_line":"        thresholds: \u0027\u0027"},{"line_number":16985,"context_line":"        title: HTTP 5xx errors"},{"line_number":16986,"context_line":"        type: singlestat"},{"line_number":16987,"context_line":"        valueFontSize: 80%"},{"line_number":16988,"context_line":"        valueMaps:"}],"source_content_type":"text/x-yaml","patch_set":8,"id":"3fa7e38b_a5bccabb","line":16985,"range":{"start_line":16985,"start_character":15,"end_line":16985,"end_character":30},"updated":"2019-09-17 14:13:07.000000000","message":"Can we be more precise about what service the 5xx errors pertain to? This one is for Heat API service, but there is same title for the Heat CFN service.","commit_id":"5fb72fe30690e750d8998beb6f9383fa176c597f"},{"author":{"_account_id":22636,"name":"Cliff Parsons","email":"cliffhparsons@aol.com","username":"cliffparsons"},"change_message_id":"6d0c9e2a6f73886d85caaa99a257f1f4e3cd828f","unresolved":false,"context_lines":[{"line_number":17243,"context_line":"          step: 120"},{"line_number":17244,"context_line":"          tags: []"},{"line_number":17245,"context_line":"        thresholds: \u0027\u0027"},{"line_number":17246,"context_line":"        title: HTTP 5xx errors"},{"line_number":17247,"context_line":"        type: singlestat"},{"line_number":17248,"context_line":"        valueFontSize: 80%"},{"line_number":17249,"context_line":"        valueMaps:"}],"source_content_type":"text/x-yaml","patch_set":8,"id":"3fa7e38b_25c8da53","line":17246,"range":{"start_line":17246,"start_character":15,"end_line":17246,"end_character":30},"updated":"2019-09-17 14:13:07.000000000","message":"Can we be more precise about what service the 5xx errors pertain to? Assuming this is for the Heat CFN service.","commit_id":"5fb72fe30690e750d8998beb6f9383fa176c597f"},{"author":{"_account_id":22636,"name":"Cliff Parsons","email":"cliffhparsons@aol.com","username":"cliffparsons"},"change_message_id":"6d0c9e2a6f73886d85caaa99a257f1f4e3cd828f","unresolved":false,"context_lines":[{"line_number":17313,"context_line":"        thresholds: []"},{"line_number":17314,"context_line":"        timeFrom:"},{"line_number":17315,"context_line":"        timeShift:"},{"line_number":17316,"context_line":"        title: API Availability"},{"line_number":17317,"context_line":"        tooltip:"},{"line_number":17318,"context_line":"          msResolution: false"},{"line_number":17319,"context_line":"          shared: false"}],"source_content_type":"text/x-yaml","patch_set":8,"id":"3fa7e38b_25cd3a5d","line":17316,"range":{"start_line":17316,"start_character":15,"end_line":17316,"end_character":31},"updated":"2019-09-17 14:13:07.000000000","message":"Can we be more specific about which API (Heat CFN vs. Heat API)","commit_id":"5fb72fe30690e750d8998beb6f9383fa176c597f"},{"author":{"_account_id":22636,"name":"Cliff Parsons","email":"cliffhparsons@aol.com","username":"cliffparsons"},"change_message_id":"84ef7c7de870ab2873080ebcf3eae62ad609187d","unresolved":false,"context_lines":[{"line_number":17313,"context_line":"        thresholds: []"},{"line_number":17314,"context_line":"        timeFrom:"},{"line_number":17315,"context_line":"        timeShift:"},{"line_number":17316,"context_line":"        title: API Availability"},{"line_number":17317,"context_line":"        tooltip:"},{"line_number":17318,"context_line":"          msResolution: false"},{"line_number":17319,"context_line":"          shared: false"}],"source_content_type":"text/x-yaml","patch_set":8,"id":"3fa7e38b_90d22a34","line":17316,"range":{"start_line":17316,"start_character":15,"end_line":17316,"end_character":31},"in_reply_to":"3fa7e38b_0576fed9","updated":"2019-09-17 14:43:18.000000000","message":"Ah ok.  I didn\u0027t know it worked that way. Makes sense.","commit_id":"5fb72fe30690e750d8998beb6f9383fa176c597f"},{"author":{"_account_id":30582,"name":"RADHIKA PAI","email":"rp592h@att.com","username":"rp592h"},"change_message_id":"66cfed7efe81db3fceb836e277d773390c8d96c9","unresolved":false,"context_lines":[{"line_number":17313,"context_line":"        thresholds: []"},{"line_number":17314,"context_line":"        timeFrom:"},{"line_number":17315,"context_line":"        timeShift:"},{"line_number":17316,"context_line":"        title: API Availability"},{"line_number":17317,"context_line":"        tooltip:"},{"line_number":17318,"context_line":"          msResolution: false"},{"line_number":17319,"context_line":"          shared: false"}],"source_content_type":"text/x-yaml","patch_set":8,"id":"3fa7e38b_0576fed9","line":17316,"range":{"start_line":17316,"start_character":15,"end_line":17316,"end_character":31},"in_reply_to":"3fa7e38b_25cd3a5d","updated":"2019-09-17 14:22:35.000000000","message":"Cliff, thank u for Review.. Each of these metrics are displayed under separate Row Drilldown Panels which are component Specific. Ex: When u drill down Heat component, u will find all metrics for Heat and similar for Heat CFN.","commit_id":"5fb72fe30690e750d8998beb6f9383fa176c597f"},{"author":{"_account_id":22636,"name":"Cliff Parsons","email":"cliffhparsons@aol.com","username":"cliffparsons"},"change_message_id":"e1b02e38387b294225f137f3e19445e366409af8","unresolved":false,"context_lines":[{"line_number":16929,"context_line":"          h: 1"},{"line_number":16930,"context_line":"          w: 24"},{"line_number":16931,"context_line":"          x: 0"},{"line_number":16932,"context_line":"          y: 0"},{"line_number":16933,"context_line":"        id: 15"},{"line_number":16934,"context_line":"        panels: []"},{"line_number":16935,"context_line":"        repeat:"}],"source_content_type":"text/x-yaml","patch_set":12,"id":"3fa7e38b_c49b4114","line":16932,"range":{"start_line":16932,"start_character":10,"end_line":16932,"end_character":11},"updated":"2019-11-01 15:35:27.000000000","message":"Wont this be a problem as well?  same comment for all the existing services...","commit_id":"56612d7a3000027b585f147459d3b468c47a2e18"},{"author":{"_account_id":23928,"name":"Pete Birley","email":"petebirley@gmail.com","username":"portdirect"},"change_message_id":"0fa354301a11a4237d05d8dd4a40de51f5f833e3","unresolved":false,"context_lines":[{"line_number":19113,"context_line":"        targets:"},{"line_number":19114,"context_line":"        - column: value"},{"line_number":19115,"context_line":"          condition: \u0027\u0027"},{"line_number":19116,"context_line":"          expr: sum(nginx_ingress_controller_response_size_count{host\u003d~\"radosgw.$namespace.svc.cluster.local\", status\u003d~\"5..\"})"},{"line_number":19117,"context_line":"          fill: \u0027\u0027"},{"line_number":19118,"context_line":"          format: time_series"},{"line_number":19119,"context_line":"          function: count"}],"source_content_type":"text/x-yaml","patch_set":13,"id":"3fa7e38b_9a6e0094","line":19116,"range":{"start_line":19116,"start_character":72,"end_line":19116,"end_character":79},"updated":"2019-11-22 16:02:09.000000000","message":"what if the hostname is not radosgw?","commit_id":"acf617809524b50d1f7bbb5b921a780cdb7343a8"},{"author":{"_account_id":17591,"name":"Steve Wilkerson","email":"wilkers.steve@gmail.com","username":"srwilkers"},"change_message_id":"25be2a2ce6e13f1d1d31a7a226932cef8f56ce97","unresolved":false,"context_lines":[{"line_number":19113,"context_line":"        targets:"},{"line_number":19114,"context_line":"        - column: value"},{"line_number":19115,"context_line":"          condition: \u0027\u0027"},{"line_number":19116,"context_line":"          expr: sum(nginx_ingress_controller_response_size_count{host\u003d~\"radosgw.$namespace.svc.cluster.local\", status\u003d~\"5..\"})"},{"line_number":19117,"context_line":"          fill: \u0027\u0027"},{"line_number":19118,"context_line":"          format: time_series"},{"line_number":19119,"context_line":"          function: count"}],"source_content_type":"text/x-yaml","patch_set":13,"id":"3fa7e38b_efcb3870","line":19116,"range":{"start_line":19116,"start_character":72,"end_line":19116,"end_character":79},"in_reply_to":"3fa7e38b_5a3f2821","updated":"2019-12-03 15:52:52.000000000","message":"Pete raises a valid point - this is why service-specific dashboards will likely be difficult, as it would require knowledge of the host name to use here and we can\u0027t guarantee the defaults will be used. To successfully achieve this here, we either need to keep these service-specific dashboards as drill downs or find a way to utilize template variables in Grafana to select these host names via labels we can guarantee exist","commit_id":"acf617809524b50d1f7bbb5b921a780cdb7343a8"},{"author":{"_account_id":30582,"name":"RADHIKA PAI","email":"rp592h@att.com","username":"rp592h"},"change_message_id":"a30e3e73c547ec4784236562be4b9670b5f8f877","unresolved":false,"context_lines":[{"line_number":19113,"context_line":"        targets:"},{"line_number":19114,"context_line":"        - column: value"},{"line_number":19115,"context_line":"          condition: \u0027\u0027"},{"line_number":19116,"context_line":"          expr: sum(nginx_ingress_controller_response_size_count{host\u003d~\"radosgw.$namespace.svc.cluster.local\", status\u003d~\"5..\"})"},{"line_number":19117,"context_line":"          fill: \u0027\u0027"},{"line_number":19118,"context_line":"          format: time_series"},{"line_number":19119,"context_line":"          function: count"}],"source_content_type":"text/x-yaml","patch_set":13,"id":"3fa7e38b_5a3f2821","line":19116,"range":{"start_line":19116,"start_character":72,"end_line":19116,"end_character":79},"in_reply_to":"3fa7e38b_9a6e0094","updated":"2019-11-22 16:24:51.000000000","message":"Earlier i had received this feedback from Steve W for this PS. \"The reason for using radosgw here instead of \u0027swift\u0027, is that we\u0027re using the ceph-rgw swift API, and the resulting public endpoint for the Ceph-rgw deployment is \u0027radosgw\u0027: https://github.com/openstack/openstack-helm-infra/blob/master/ceph-rgw/values.yaml#L484\".\nThis panel expression is for the \"Swift\" host. \nEach components has its own panel for example, the keystone has expression using \"keystone\" and similarly for \"Heat\"\nThis panel would be blank if the hostname doesnt match.","commit_id":"acf617809524b50d1f7bbb5b921a780cdb7343a8"}]}
