Comments (13)
Will just finish the work on the other issues before looking further into this.
I would prefer to split the Windows integration into different, smaller PRs. At minimum a PR for each dashboard. Let me know, when I can start with the cluster dashboard.
from grafana-dashboards-kubernetes.
@jkroepke The other issues/PRs are done, so you can start working on this whenever you want.
from grafana-dashboards-kubernetes.
Maybe, no idea yet. I may have to ask at Grafana slack.
from grafana-dashboards-kubernetes.
Can we manage all the cases using combined queries?
If it's the case, it might be better to go for the combined queries with comments to have consistency.
Here's an example :
What do you think ?
from grafana-dashboards-kubernetes.
Hi @jkroepke,
I'm not totally against it, but I have a few doubts...
Here are a few questions to start the discussion:
- If I understand correctly, you have clusters with both GNU/Linux and Windows node pools.
Could you share your use-case? (just curious) - Which dashboard(s) are you planning to add Windows support for?
- Why do you think having the queries in here would be better than having them in separate dashboards?
- Will there be any OS specific panels? And how do you plan to manage them (if any)?
- After the initial work, would you be able to help Windows users if they have issues related to your change?
If anyone is also using Windows hosts, feel free to jump in the discussion with your thoughts!
from grafana-dashboards-kubernetes.
If I understand correctly, you have clusters with both GNU/Linux and Windows node pools.
Could you share your use-case? (just curious)
Sure! The Kubernetes Control Plane does not support Windows. I have to run Linux Node (e.g. for CoreDNS, ArgoCD) and Windows Node Pools for Application (Customer runs dotNET Application)
On Azure, a Kubernetes managed Services requires at-least one Linux Node and you can add additional Windows nodes. We are also quite common, that customers wants to use Standard infrastructure components like Redis, Solr or elasticsearch which are not running on Windows node. In general, we avoid Windows nodes as much as possible. Hybrid OS clusters are common, because mono-Windows cluster can't be exists.
Which dashboard(s) are you planning to add Windows support for?
Cluster, Namespace, Node, Pod
Why do you think having the queries in here would be better than having them in separate dashboards?
We have namespace which contains windows and linux containers. My personal opinion is that one dashboard provides a better user expericence.
Since kube-state-metrics provides request/limits for pods on any OS, Windows Pods are already included Pod CPU/Memory Request/Limits panels, but excluded on the usage panel. For separate dashboards, Requests/Limits from Windows Pods should be excluded then.
Example Panel: Real (linux only), Requests/Limits (any OS)
Will there be any OS specific panels?
No, except Windows is not providing metrics, some panels will be Linux specific. But I do not plan to add new panels.
After the initial work, would you be able to help Windows users if they have issues related to your change?
Yes, because out company has an upstream first culture. If other users have a bug, we may also have the bug, too. Of course, I will have.
The good thing is that the dashboard are providing only basic metrics. I don't plan to engineer the queries on my own. kubernetes-mixin provides some rules for windows which I will use as base. for the panel. I won't add a dependency against the kubernetes-mixin recording rules.
Since I expect some large changes with #15, I plan to start after the cluster variable work is finished.
from grafana-dashboards-kubernetes.
Hi @jkroepke,
I'm fine with the idea, we can try to add Windows support, as soon as it doesn't impact the experience on Linux.
Will just finish the work on the other issues before looking further into this.
from grafana-dashboards-kubernetes.
Hey @dotdc ,
In #103, I tired to split Linux and Windows queries when ever it was possible. Did you prefer this kind of solution or should we prefer more complex query as seen on the CPU by namespace queries?
from grafana-dashboards-kubernetes.
Hi @jkroepke,
I think I prefer the split version, but if it's not possible to have that everywhere, maybe go for the other one to have consistency.
What do you think ?
from grafana-dashboards-kubernetes.
What do you think ?
The combind solution (one query for Windows and OS) results into very complex and un-understandable queries. Due complexity, external users may avoid to contribute improvement or they may destroy the Windows support by accident
from grafana-dashboards-kubernetes.
Agree.
Do you think it's possible to split the combined queries like "CPU by namespace" ?
from grafana-dashboards-kubernetes.
Do you think it's possible to split the combined queries like "CPU by namespace" ?
In theory yes, but the make it complex at Grafana side:
from grafana-dashboards-kubernetes.
Also, could be nice to add Windows support knowledge in the docs (README.md) for the other users.
from grafana-dashboards-kubernetes.
Related Issues (20)
- [enhancement] Add support for monitoring node runtime & system resource usage HOT 5
- [bug] node dashboard only shows latest instance HOT 2
- [bug] "CoreDNS - Forward request duration" broken? HOT 5
- suggest lower cardinality variables for the pod dashboard[bug] HOT 3
- Publish tag to make update automation possible HOT 4
- [bug] node dashboard shows no values HOT 7
- [bug] Fix node_* metrics on k8s-views-global.json HOT 3
- [bug] CoreDNS Dashboard No Data HOT 12
- [bug] Variable `job` in Kubernetes / Views / Nodes is not referenced HOT 4
- getting Failed to upgrade legacy queries e.replace is not a function HOT 2
- [bug] Pod memory / cpu requests and limits invalid values with Opencost installed HOT 4
- [bug] CPU dashboard can report negative values HOT 35
- All dashboards with cluster variable is broken in VictoriaMetrics [bug] HOT 6
- [bug] exclude iowait, steal, idle from CPU uages HOT 2
- [bug] should use last non-null value, rather than mean HOT 3
- The pod view should allow multi-selection (+`all`) for the `namespace` and `pod` variables [enhancement] HOT 3
- [bug] Trivy Dashboard Templating Failed to upgrade legacy queries Datasource prometheus was not found HOT 2
- Question: How I should export dashboard json HOT 3
- [bug] created_by variable is not refreshed on Time Range Change HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from grafana-dashboards-kubernetes.