https://tracker.ceph.com/https://tracker.ceph.com/favicon.ico2019-05-23T04:46:58ZCeph Dashboard - Bug #40008: mgr/dashboard: Need a method to check references to Grafana dashboards are correct or existhttps://tracker.ceph.com/issues/40008?journal_id=1371642019-05-23T04:46:58ZKiefer Chang
<ul><li><strong>Related to</strong> <i><a class="issue tracker-1 status-3 priority-4 priority-default closed" href="/issues/39971">Bug #39971</a>: Several embedded Grafana dashboards are not displayed due to changed uids</i> added</li></ul> Dashboard - Bug #40008: mgr/dashboard: Need a method to check references to Grafana dashboards are correct or existhttps://tracker.ceph.com/issues/40008?journal_id=1371662019-05-23T04:47:43ZKiefer Chang
<ul><li><strong>Subject</strong> changed from <i>Need a method to check references to Grafana Dashboards are correct or exist</i> to <i>Need a method to check references to Grafana dashboards are correct or exist</i></li></ul> Dashboard - Bug #40008: mgr/dashboard: Need a method to check references to Grafana dashboards are correct or existhttps://tracker.ceph.com/issues/40008?journal_id=1371672019-05-23T06:23:19ZKiefer Chang
<ul><li><strong>Assignee</strong> set to <i>Kiefer Chang</i></li></ul> Dashboard - Bug #40008: mgr/dashboard: Need a method to check references to Grafana dashboards are correct or existhttps://tracker.ceph.com/issues/40008?journal_id=1371852019-05-23T09:58:19ZKiefer Chang
<ul><li><strong>Status</strong> changed from <i>New</i> to <i>In Progress</i></li></ul><p>Short term solution: check every <cd-grafana> component has a mapped Grafana dashboard</p>
<p>My proposals are below:</p>
<p><strong>Approach 1</strong></p>
<p>A script is created to check mappings (<a class="external" href="https://github.com/bk201/ceph/blob/5cc01a2b91c7eb1950932cf24a69e7aed4a713f3/src/pybind/mgr/dashboard/tools/check_grafana_references.py">https://github.com/bk201/ceph/blob/5cc01a2b91c7eb1950932cf24a69e7aed4a713f3/src/pybind/mgr/dashboard/tools/check_grafana_references.py</a>):</p>
<p>Running this script to detect if there is any mismatch between two parties:<br /><pre>
$ cd /ceph/src/pybind/mgr/dashboard
$ python tools/check_grafana_references.py frontend/src/app ../../../../monitoring/grafana
Extract <cd-grafana> components and check UIDs
Found mappings:
-xyV8KCiz (frontend/src/app/ceph/pool/pool-details/pool-details.component.html:14)
-> Ceph Pool Details (../../../../monitoring/grafana/dashboards/pool-detail.json)
41FrpeUiz (frontend/src/app/ceph/block/rbd-images/rbd-images.component.html:15)
-> RBD Overview (../../../../monitoring/grafana/dashboards/rbd-overview.json)
tbO9LAiZz (frontend/src/app/ceph/cephfs/cephfs-detail/cephfs-detail.component.html:46)
-> MDS Performance (../../../../monitoring/grafana/dashboards/cephfs-overview.json)
WAkugZpiz (frontend/src/app/ceph/rgw/rgw-daemon-list/rgw-daemon-list.component.html:17)
-> RGW Overview (../../../../monitoring/grafana/dashboards/radosgw-overview.json)
x5ARzZtmk (frontend/src/app/ceph/rgw/rgw-daemon-details/rgw-daemon-details.component.html:17)
-> RGW Instance Detail (../../../../monitoring/grafana/dashboards/radosgw-detail.json)
y0KGL0iZz (frontend/src/app/ceph/cluster/hosts/hosts.component.html:30)
-> Host Overview (../../../../monitoring/grafana/dashboards/hosts-overview.json)
rtOg0AiWz (frontend/src/app/ceph/cluster/hosts/host-details/host-details.component.html:4)
-> Host Details (../../../../monitoring/grafana/dashboards/host-details.json)
CrAHE0iZz (frontend/src/app/ceph/cluster/osd/osd-details/osd-details.component.html:47)
-> OSD device details (../../../../monitoring/grafana/dashboards/osd-device-details.json)
lo02I1Aiz (frontend/src/app/ceph/cluster/osd/osd-list/osd-list.component.html:72)
-> OSD Overview (../../../../monitoring/grafana/dashboards/osds-overview.json)
Components that have no mapped Grafana dashboards:
z99hzWtmh (frontend/src/app/ceph/pool/pool-list/pool-list.component.html:36)
Checking Grafana dashboards UIDs: ERROR
</pre></p>
<strong>Approach 2 (WIP, suggested by Kanika)</strong>
<ol>
<li><cd-grafana> component does not refer uid directly.</li>
<li>Add a new input property `grafana-dashboard-name`. uid of Grafana dashboard is resolved by referring to another mapping file during initialization of component.</li>
<li>The mapping file contains a object that maps from all dashboard names to Grafana uids. </li>
<li>A script is created to parse the mapping file and check if Grafana dashboards can be found by uids.</li>
</ol>
Benefits of this approach
<ul>
<li>All mappings are consolidated in a mapping file.</li>
<li>If Grafana dashboards are updated, a developer only needs to update this mapping file. No need to jumping around for all <cd-grafana> components.</li>
</ul> Dashboard - Bug #40008: mgr/dashboard: Need a method to check references to Grafana dashboards are correct or existhttps://tracker.ceph.com/issues/40008?journal_id=1371862019-05-23T10:34:33ZLenz Grimmer
<ul></ul><p>Thanks for your proposal, much appreciated. If your first approach can be integrated with "make check", this would be a good first step in making sure we're not running into the same issue again. The second option is much cleaner and would be my preference - depending on how long it would take to implement these changes, we should consider taking that approach right away.</p> Dashboard - Bug #40008: mgr/dashboard: Need a method to check references to Grafana dashboards are correct or existhttps://tracker.ceph.com/issues/40008?journal_id=1371872019-05-23T10:35:07ZLenz Grimmer
<ul><li><strong>Tags</strong> set to <i>testing, qa, grafana</i></li><li><strong>Affected Versions</strong> <i>v14.2.0, v14.2.1</i> added</li></ul> Dashboard - Bug #40008: mgr/dashboard: Need a method to check references to Grafana dashboards are correct or existhttps://tracker.ceph.com/issues/40008?journal_id=1372162019-05-24T04:21:31ZKiefer Chang
<ul><li><strong>Pull request ID</strong> set to <i>28234</i></li></ul><p>Create PR for approach 1.</p> Dashboard - Bug #40008: mgr/dashboard: Need a method to check references to Grafana dashboards are correct or existhttps://tracker.ceph.com/issues/40008?journal_id=1372172019-05-24T06:18:13ZLenz Grimmer
<ul><li><strong>Subject</strong> changed from <i>Need a method to check references to Grafana dashboards are correct or exist</i> to <i>mgr/dashboard: Need a method to check references to Grafana dashboards are correct or exist</i></li><li><strong>Status</strong> changed from <i>In Progress</i> to <i>Fix Under Review</i></li></ul> Dashboard - Bug #40008: mgr/dashboard: Need a method to check references to Grafana dashboards are correct or existhttps://tracker.ceph.com/issues/40008?journal_id=1401662019-07-08T11:13:43ZLenz Grimmer
<ul></ul><p>A PR to implement approach 1 has been merged now. Should this one be backported to Nautilus, to capture any regressions?<br />Do we still plan to implement approach 2 ?</p> Dashboard - Bug #40008: mgr/dashboard: Need a method to check references to Grafana dashboards are correct or existhttps://tracker.ceph.com/issues/40008?journal_id=1402892019-07-10T09:43:37ZKiefer Chang
<ul></ul><p>Lenz Grimmer wrote:</p>
<blockquote>
<p>A PR to implement approach 1 has been merged now. Should this one be backported to Nautilus, to capture any regressions?</p>
</blockquote>
<p>If we always cherry-pick changes from master back to stable branches, we can say the regression possibility is low because the check is already done on master.<br />I can help with backporting this.</p>
<blockquote>
<p>Do we still plan to implement approach 2 ?</p>
</blockquote>
<p>I'd suggest yes, should I create a new issue?</p> Dashboard - Bug #40008: mgr/dashboard: Need a method to check references to Grafana dashboards are correct or existhttps://tracker.ceph.com/issues/40008?journal_id=1523972019-11-22T08:09:46ZKiefer Chang
<ul><li><strong>Status</strong> changed from <i>Fix Under Review</i> to <i>Resolved</i></li><li><strong>Backport</strong> set to <i>nautilus</i></li></ul> Dashboard - Bug #40008: mgr/dashboard: Need a method to check references to Grafana dashboards are correct or existhttps://tracker.ceph.com/issues/40008?journal_id=1523992019-11-22T08:11:27ZKiefer Chang
<ul><li><strong>Status</strong> changed from <i>Resolved</i> to <i>Pending Backport</i></li></ul> Dashboard - Bug #40008: mgr/dashboard: Need a method to check references to Grafana dashboards are correct or existhttps://tracker.ceph.com/issues/40008?journal_id=1524292019-11-22T08:34:44ZNathan Cutlerncutler@suse.cz
<ul><li><strong>Copied to</strong> <i><a class="issue tracker-9 status-3 priority-4 priority-default closed" href="/issues/42956">Backport #42956</a>: nautilus: mgr/dashboard: Need a method to check references to Grafana dashboards are correct or exist</i> added</li></ul> Dashboard - Bug #40008: mgr/dashboard: Need a method to check references to Grafana dashboards are correct or existhttps://tracker.ceph.com/issues/40008?journal_id=1580422020-02-07T13:49:39ZNathan Cutlerncutler@suse.cz
<ul><li><strong>Status</strong> changed from <i>Pending Backport</i> to <i>Resolved</i></li></ul><p>While running with --resolve-parent, the script "backport-create-issue" noticed that all backports of this issue are in status "Resolved" or "Rejected".</p> Dashboard - Bug #40008: mgr/dashboard: Need a method to check references to Grafana dashboards are correct or existhttps://tracker.ceph.com/issues/40008?journal_id=1929892021-04-22T11:26:32ZErnesto Puerta
<ul><li><strong>Tracker</strong> changed from <i>Fix</i> to <i>Bug</i></li><li><strong>Project</strong> changed from <i>mgr</i> to <i>Dashboard</i></li><li><strong>Category</strong> changed from <i>148</i> to <i>Monitoring</i></li><li><strong>Regression</strong> set to <i>No</i></li><li><strong>Severity</strong> set to <i>3 - minor</i></li></ul>