Comments (9)
How do you handle NetworkPolicy objects, so that Prometheus is actually able to scrape data from the other namespaces?
It's a similar situation as the RoleBinding
s Prometheus requires in order to perform target discovery. We haven't made a final decision on this yet, either the cluster-monitoring-operator will create the NetworkPolicies or the operators of the respective component namespaces will.
from cluster-monitoring-operator.
At least I discovered in 6742ea6 (and other commits) that the Prometheus Operator is configured to only manage Prometheus instances in the openshift-monitoring
namespace, whereas the README states:
The deployed Prometheus Operator is meant to be leveraged by users to easily deploy new Prometheus setup for their application monitoring
Why is the Prometheus Operator configured to only manage Prometheus instances in the openshift-monitoring
namespace? Maybe @brancz can answer this question? (Committer of the change)
from cluster-monitoring-operator.
@nabbdl not yet. We are just now adding new functionality to enable create Prometheus servers in additional namespaces for your particular needs: #138
from cluster-monitoring-operator.
Thanks for answering @squat, that PR looks promising and I'm looking forward to test this when it got merged. Currently trying to figure out how to do our future cluster and app monitoring and I'm keen to test the monitoring operator (incld. feedback!)
from cluster-monitoring-operator.
Sorry, we actually need to update that readme. This code base is what used to be the Tectonic Prometheus Operator, where that statement held true, however, now the way to provision additional Prometheus servers in addition to cluster-monitoring, is using the operator-lifecycle-manager.
from cluster-monitoring-operator.
The clarified README sheds some light, thank you. But also causes some confusion: Why was a multi-namespace support implemented in #138? Is this meant for monitoring different cluster components running in several namespaces?
And when deploying another Prometheus Operator using OLM: How do I make sure that multiple Prometheus Operators don't get in the way of each other? So that each Operator knows which namespaces to manage the various CRD objects?
from cluster-monitoring-operator.
Is this meant for monitoring different cluster components running in several namespaces?
Precisely, in OpenShift we have the openshift-monitoring
, openshift-console
, openshift-x
namespaces that all contain components that we are very much in control over which is why this multi-namespace approach is ok and even wanted in that case.
And when deploying another Prometheus Operator using OLM: How do I make sure that multiple Prometheus Operators don't get in the way of each other? So that each Operator knows which namespaces to manage the various CRD objects?
The Prometheus Operators are configured with the set of namespaces to watch, and OLM ensures through its own namspacing scheme that underlying objects are not reconciled by multiple operators.
from cluster-monitoring-operator.
Precisely, in OpenShift we have the openshift-monitoring, openshift-console, openshift-x namespaces that all contain components that we are very much in control over which is why this multi-namespace approach is ok and even wanted in that case.
Understood! Makes completely sense. One last question: How do you handle NetworkPolicy objects, so that Prometheus is actually able to scrape data from the other namespaces? Do you handle them with the Cluster Monitoring Operator? And I guess ovs-multitenant
SDN is not supported anymore with this monitoring approach? Or do you join projects so that network access is possible?
The Prometheus Operators are configured with the set of namespaces to watch, and OLM ensures through its own namspacing scheme that underlying objects are not reconciled by multiple operators.
Thanks! Time to learn more details about how OLM exactly works 👍
from cluster-monitoring-operator.
Thanks @brancz for answering all my questions, highly appreciated!
With the discussion above: @nabbdl do you agree to close this issue? I think the initial question of this issue is answered now.
from cluster-monitoring-operator.
Related Issues (20)
- Support `Probe` resources HOT 3
- {Request} Ability to configure Prometheus Exporters HOT 5
- Invalid externalURL since ad2d747f2ef037647ebc9f7d5b22118d0dab4bd2 HOT 4
- Release 4.12 Checklist HOT 3
- Missing Metrics in Prometheus on openshift 3.11 HOT 4
- User workload prometheus scraps targets managed by monitoring prometheus instance HOT 4
- Release 4.13 Checklist HOT 5
- crio metrics via http is not safe HOT 7
- Allow kube-state-metrics configuration HOT 3
- Reject invalid PrometheusRule objects beforehand rather than failing the reconciliation HOT 5
- Alerts generated by user-workload-monitoring are not included in remoteWrite HOT 4
- typo in 4.14 CHANGELOG.md and CONTRIBUTING.md HOT 3
- OpenTelemetry Support HOT 16
- kubelet metrics not working in after upgrade to OKD 4.13 HOT 12
- wrong annotation for ThanosRulerConfig.Resources HOT 1
- I can't increase Prometheus startupProbe failureThreshold value HOT 6
- user-workload-monitoring doesn't support honoring labels HOT 4
- Additional Scrape Configuration is not supported HOT 8
- How to change default servicemonitors interval HOT 5
- Support enableRemoteWriteReceiver flag in prometheus{,K8s} config HOT 6
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 cluster-monitoring-operator.