-
Notifications
You must be signed in to change notification settings - Fork 16
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Spec using grafana for monitoring dashboards #171
Spec using grafana for monitoring dashboards #171
Conversation
|
||
==== Tendrl API impact: | ||
|
||
Tendrl API will not provide any moniroting related API's. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
s/moniroting/monitoring
Also, this would mean API code for monitoring would be removed, please file issue for that on Tendrl/API
|
||
The changes introduces a new Grafana component which needs to be installed and | ||
configured by Tendrl. | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please provide details of the "install/configure"
- Is the install done only once during installation of Tendrl server?
- What are the steps to be taken when Tendrl "manages/unmanages" a Node or a Cluster
- Any periodic flows to be run to keep Grafana updated?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@r0h4n managing/unmanaging nodes will automatically update Graphite and hence affect the visual representation on Grafana for those nodes.
Regarding periodic flows, node-monitoring (collectd) will keep updating Graphite with the latest changes per node/cluster, which will reflect on the monitoring dashboards.
While these points are valid, I think we need a different spec for these, this spec just talks about how we replace the current monitoring dashboard with Grafana dashboard.
=== Developer impact: | ||
|
||
The change potentially affects performance-monitoring, node-monitoring, API and | ||
UI. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please provide responsibilities of the new components
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I have defined under Impacted modules section the changes needed in these components.
predefined json's for dashboards, panels and alerts. | ||
|
||
* Script to configure Grafana to directly use time series db i.e Graphite and | ||
load the json configurations. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
When is this script executed and who does that?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Could this be handled by set of default configuration files provided by some tendrl rpm package?
== Implementation: | ||
|
||
* Introduce a new component (possibly gluster-metrics-integration) to store | ||
predefined json's for dashboards, panels and alerts. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Lets call it "monitoring-integration" ?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah, we are calling it that.
@anivargi any updates? |
|
||
End users are provided with more detailed graphs with possibility of querying | ||
based on any time interval. Users can create their own graphs which suit their | ||
use cases. The graphs also provides visual real time updates about an ongoing |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looking at:
Users can create their own graphs ...
does it mean that the person looking at grafana dashboard linked from Tendrl UI will be able to define completely new chart or does it just mean that one can use grafana features to tweak predefined chart (eg. specifying data range). Sorry for a stupid question ...
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, people can create their own charts, but they will need to understand the structure of our time series db to actually make proper queries.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@anivargi Where will the database schema of the Time Series Database (or data dictionary) be documented so that users can define their own charts? Is this repo as well as the docs (rghatvis@redhat.com)?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@julienlim I have mentioned link to the data model in this spec. #206
=== Performance impact: | ||
|
||
The proposed changes will improve the performance of the API, as most of the | ||
real-time polling will be handled by Grafana. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
most of the real-time polling will be handled by Grafana
Do you have some exceptions already in mind?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@mbukatov By this I mean, the nodes list and clusters list updates from the UI will still be via polling. Only the monitoring related queries are handled by Grafana hence forth.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@anivargi Would be a good idea to update the document with this statement directly.
None | ||
|
||
=== Data model impact: | ||
None |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Don't the changes to collectd and graphite get mentioned here?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@brainfunked the data model changes are in a different spec. #206, I have added the link in the spec.
=== Performance impact: | ||
|
||
The proposed changes will improve the performance of the API, as most of the | ||
real-time polling will be handled by Grafana. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@anivargi Would be a good idea to update the document with this statement directly.
|
||
== Implementation: | ||
|
||
* Introduce a new component called as monitoring-integration to store predefined |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please mention that this is being handled in a separate spec #179.
* Introduce a new component called as monitoring-integration to store predefined | ||
json's for dashboards, panels and alerts. | ||
|
||
* Script to configure Grafana to directly use time series db i.e Graphite and |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Would this script later be subsumed into the monitoring-integration codebase directly?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The script is going to be part of the monitoring-integration code base.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
So does it get to be part of https://github.com/Tendrl/specifications/milestone/2, given that monitoring-integration won't be?
monitoring-integration service is started. The script will run after first time | ||
installation and subsequent updates to the monitoring-integration component. | ||
|
||
* Enable single authentication across the UI and Grafana dashboards. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Spec #191.
* Disable proxy API's from performance-monitoting to tendrl-api | ||
|
||
* Disable previous UI for showing monitoring data | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Better the link the details to below spec issues here:
load the json configurations. The script is executed after the | ||
monitoring-integration service is started. The script will run after first time | ||
installation and subsequent updates to the monitoring-integration component. | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Does the cluster import plays any role in constructing the dashboard? How and when dashboard is populated from the default json configurations?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@nthomas-redhat The graphs start populating when it starts seeing data in Graphite.
monitoring-integration service is started. The script will run after first time | ||
installation and subsequent updates to the monitoring-integration component. | ||
|
||
* Enable single authentication across the UI and Grafana dashboards. (Spec at |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
How will be the navigation from tendrl UI to grafana dashboard handled? embedded or re-directed. please provide the details
* Script to configure Grafana to directly use time series db i.e Graphite and | ||
load the json configurations. The script is executed after the | ||
monitoring-integration service is started. The script will run after first time | ||
installation and subsequent updates to the monitoring-integration component. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is it a setup/first-time-installation script for grafana configuration? How are we going to execute the script on package installation and update? Shall we initiate the script during package installation?
@anivargi Can we close this spec, we seem to have finished the work items here |
No description provided.