-
Notifications
You must be signed in to change notification settings - Fork 4.2k
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
Introduce integration framework backend #2017
Merged
maciaszczykm
merged 15 commits into
kubernetes:master
from
floreks:refactor-integrations
Jul 3, 2017
Merged
Changes from all commits
Commits
Show all changes
15 commits
Select commit
Hold shift + click to select a range
2024bff
Remove hard dependencies on heapster from resources
floreks 2492fde
Introduce integration manager
floreks a4c3625
Fix tests
floreks 5c70859
Fix state check
floreks 3d7fd92
Add cached resources to metrics api
floreks 614bda0
Fix sparklines
floreks 919e0f6
Refactor labels to use resource UID instead of string
floreks e5686aa
Update documentation
floreks d89fd28
Remove unused tests and update docs
floreks 9cf16b8
Format files
floreks 9c14eb6
Fix tests and bug during compression heapster selectors
floreks 1797f6b
Add tests
floreks 169afdf
Improve documentation
floreks 565fc94
Move integration list to separate file
floreks 3a5e6d8
Resolve conflicts
floreks File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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.
In the long run, could we move argHeapsterHost into the config map?
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, what is the intended workflow if a user wants to use Prometheus instead of Heapster. Or maybe has already Prometheus installed and then deploys dashboard?
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.
Any integration still requires some code to be pushed upstream. We'd need to implement prometheus client that implements
MetricClient
interface.Normally with settings page user will be able to check state of integrations, i.e. if prometheus is not installed in the cluster then user goes to settings page clicks install near prometheus integration and then enables it. That would automatically disable other metric clients.
Once we have more options to choose from we can disable default one and let user decide which one to enable.
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.
hmm...I wonder if this is the right approach. I have not checked the api or anything lately, but my understanding that we do not have to care about which monitoring system is installed. We just use the api facade from apiserver. Also, installing a monitoring system might not be as easy as installing e.g. tiller.
The old issue: #1310
However, we should care about the integration of Graphana.
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.
There were only plans to introduce interfaces directly in kubernetes that will scrape metrics and work independent of chosen monitoring solution. Unfortunately it is not there and I don't know if or when it will be introduced. Since there is no such facade then we have to take care of that for now.
Anyway if they introduce such API then it will be easy to get rid of monitoring specific code and just rely on this new API.
Installing integration is not the hard part. For supported integrations we can versionize required yaml files on our repository and just use them to deploy what's needed (heapster + influx, tiller, etc.).
Do we? I thought integrations should improve dashboard's experience and grafana is an external UI for monitoring. How would such integration look like?