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
Add remote_write support to victoria metrics (single) #1645
Comments
Hi @zbindenren! For people who already own a Prometheus server and wants to try out VictoriaMetrics - why don't just add VictoriaMetrics to remote_write config? |
Yes that is true. I just explain our situation. Currently we are using some prometheus instances to scrape and remote write some data. Each prometheus server scrapes all other prometheus server. We have alert rules in place when one server is down. We have promxy configured to to query all prometheus servers and there are always two prometheus server scraping the same instance. To accomplish the same with victoria metrics I have to configure 3 services (victoria-metrics, vmagent and vmalert). So I have to monitor on each node 3 services. It would be much simpler if I could do that with one service. In my opinion it is more complex to configure and operate above scenario with victoria metrics. I see now, that I would still need two services, even if remote write is supported. As I see vmalert is not included too. So if this feature has any chance to get implemented, I would also like vmauth included. |
In my use case I'd like to have a victoria-metrics behind a NAT remote-write to grafana could, |
In my case, I would like to scrape and recording in worker cluster, then remote write data to global cluster to do query job. |
Wow, I was really surprised and disappointed when I found out vmsingle can not remote_write like prometheus does. |
I think that this feature is useful in the common use case where we want to use recording rules in individual clusters to aggregate metrics and join labels. Ideally we’d want to use VM here because it deals with high cardinality situations better, which is exactly where using recording rules to aggregate would be useful. |
@jensentanlo if I understand it right, you plan to have something like following:
If my understanding is right, you can still do this but with adding a vmagent. vmagent will be installed per k8s cluster and will be responsible for metrics collection and forwarding to two destinations:
So you pay some extra for running additional vmagent. But it doesn't look too expensive, since you can store in local vm-single-node not all series, but those are needed for aggregation. A better solution for this would be using stream aggregation, which potentially could eliminate the need in vmalert and vm-single-node. |
@hagen1778 Thank you for the detailed write-up, I didn’t realize that vmalert would handle recording rules as well. Your second suggestion looks like it’ll work; thanks a bunch! |
Hi, another use case for me to add in the balance: we have lots of hosts (around 150 or so) that run a Prometheus agent localy, that scrapes localhost for given metrics, and other exporters for hosts monitoring. All this is already setup, and have working alerting using Mimir alertmanager (with a Terraform toolchain etc., so that it's easy to create our alerting rules). Because we have a company-deployed Mimir remote storage, we remote_write from those agents to those Mimir. But the mimir remote_write from our company has inconveniants for us, so we want to have our own VictoriaMetrics storage in single-node mode (managed by our team, on around 15 nodes). |
Is your feature request related to a problem? Please describe.
Currently if someone wants to replace prometheus (with remote_write configured), he must install and configure two services:
vmagent has to be configured to remote write to
localhost
(victoria-metrics) and to the instance configured inprometheus.yaml
.This makes it harder for someone to switch from prometheus to victoria-metrics or just to try it out.
Describe the solution you'd like
Pefered Solution:
Since victoria-metrics (single) already supports:
via
prometheus.yaml
it would be great if it would also pick up the configured remote write entries inprometheus.yaml
and starts sending metrics to the configured server.With that change it would be easier to switch from prometheus to victoria-metrics (for people that do not need a cluster yet).
Other Solution:
For me personally it would already be ok to configure the remote write stuff with the already known flags from vmagent (
-remoteWrite.url
etc).Describe alternatives you've considered
Use vmagent with two remote urls as described above.
Additional context
This issue was created because it was suggested so in slack channel.
The text was updated successfully, but these errors were encountered: