WIP Add a Prometheus metrics+alerting stack tweakable per hosting scenario#14
Closed
solsson wants to merge 18 commits into
Closed
WIP Add a Prometheus metrics+alerting stack tweakable per hosting scenario#14solsson wants to merge 18 commits into
solsson wants to merge 18 commits into
Conversation
containerd/containerd#3412 k3s has upgraded to 1.3.0 in master since 834f7df7ecb8eb8be27ebb300f2bcb23f24397b2 and ofc we don't know when GKE's _CONTAINERD nodes will upgrade.
and is quite impractical with Kustomize due to: - Large repo that takes a long time to fetch - Namespace "default" is hard coded in bundle.yaml ... so let's install it by default.
http://prometheus-now-0.prometheus-operated.ystack.svc.cluster.local:9090/ prometheus-now-0.prometheus-operated.ystack.svc.cluster.local:9090/graph
… annotations ... despite such annotations being inflexible. The rule with ServiceMonitor having to be in the same namespace as the prometheus instance is quite impractical, in particular with Kustomize.
breaks kubefwd, but reachable with: kubectl -n ystack port-forward svc/prometheus-operated 9090 kubectl -n ystack port-forward svc/alertmanager-operated 9093 ... and the alert doesn't work
provision failures at k3s crictl info with the message failed to connect: failed to connect, make sure you are running as root and the runtime has been started: context deadline exceeded This reverts commit 09712775dc3b2a3f6bb677ec689aaac1b62bc230.
because kubefwd found so much to forward, and failed to actually forward alertmanager. We do need local access to prometheus but kubefwd was pretty much my only reason to keep monotiring resources in the ystack namespaces. It's cleaner this way.
For some reason I failed to get service discovery with a plain alertmanager-main service.
To troubleshoot I did:
kubectl -n ystack-monitoring get secret prometheus-now -o=jsonpath='{.data.prometheus\.yaml\.gz}' | base64 -D - | gunzip -
kubectl -n ystack-monitoring get endpoints alertmanager-operated
Collaborator
Author
This file contains hidden or 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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
We set up https://github.com/Yolean/kubernetes-monitoring in 2017 and we're using it in production. But despite that kube-prometheus works well, like brancz/kubernetes-grafana concludes it appears "close to unmaintainable due to the many steps of generation". Now that we need to make our monitoring stack a bit more lightweight, for use with local development, we'll evaluate the individual parts of kube-prometheus.
"Tweakable" would mean that we can select individual modules and override resource limits, retention etc using Kustomize.
Note that Prometheus Operator is already included in provision, since 50512ad.