Live data from Hacker News

Prometheus: An open-source service monitoring system and time series database

prometheus.io

41–50 of 122 posts

Re: Prometheus: An open-source service monitoring system and time series database

#41
post #40

In your architecture I see a single monolithic database server called 'Prometheus'. Does it shard? I can't find it in the documentation. You mention it's compatible with TSDB, why did you choose to implement your own backend, or is this a fork of TSDB? The tech does look awesome though!

At the bottom of http://prometheus.io/docs/introduction/comparison/ there is: "... Prometheus will be simpler to run initially, but will require explicit sharding once the capacity of a single node is exceeded."

Re: Prometheus: An open-source service monitoring system and time series database

#42
post #40

In your architecture I see a single monolithic database server called 'Prometheus'. Does it shard? I can't find it in the documentation. You mention it's compatible with TSDB, why did you choose to implement your own backend, or is this a fork of TSDB? The tech does look awesome though!

> Does it shard?

Currently you can manually vertically shard, and in future we may have support for some horizontal sharding for when the targets of a given job are too many to be handled by a single server. You should only hit this when you get into thousands of targets.

Our roadmap[1] includes hierarchical federation to support this use case.

> You mention it's compatible with TSDB, why did you choose to implement your own backend, or is this a fork of TSDB?

Prometheus isn't based on OpenTSDB, though it has the same data model. We've a comparison[2] in the docs. The core difference is that OpenTSDB is only a database, it doesn't offer a query language, graphing, client libraries and integration with other systems.

We plan to offer OpenTSDB as a long-term storage backend for Prometheus.

[1] http://prometheus.io/docs/introduction/roadmap/ [2] http://prometheus.io/docs/introduction/comparison/#prometheu...

Re: Prometheus: An open-source service monitoring system and time series database

#43
post #6

This looks very interesting. From http://prometheus.io/docs/introduction/getting_started/ > Prometheus collects metrics from monitored targets by scraping metrics HTTP endpoints on these targets. I wonder if we'll see some plugins that allow data collection via snmp or nagios monitoring scripts or so. That would make it much easier to switch large existing monitoring systems over to prometheus.

I've wrote a exporter for Docker, so if you have a Docker based infrastructure you get tons of metrics by using it: http://5pi.de/2015/01/26/monitor-docker-containers-with-prom...

Re: Prometheus: An open-source service monitoring system and time series database

#44
Oh yes. Rather than fixing the real abet non very sexy problems ( i.e. how to scale the system and while still keeping it somewhat manageable ) we design yet another super cool system that has the same abet different in specificity short comings ( does not scale at a reasonable TCO/simplicity ) and get accolades for yet another front-end to a barely functioning back-end.

Want to do something amazing? Get this into your requirement:

Give a modern i7 with 64G RAM, 24x 250G 6Gbit/sec SSD and 2x 10G NICs achieve sustained ingest of 6Gbit/sec of metrics over 1 NIC and be able to accept commands spit out results of queries over the second NIC while being capable of running purge cleanups of the garbage. Oh and let clients use SQL to pull the data on the flow level

Not only this would be impressive but it would actually optimize and simplify the monitoring in a great way.

Re: Prometheus: An open-source service monitoring system and time series database

#45

We've been looking for something like this, unfortunately the "pull" model won't work for us. We really need a push model so that our statistics server doesn't need access to every single producer. I see the pushgateway, but it seems deliberately not a centralized storage. I wonder what InfluxDB means by "distributed", that is, if I could use it to implement a push (where distributed agents push to a centralized metr…

what about druid.io?

Re: Prometheus: An open-source service monitoring system and time series database

#46
post #37
post #28

Earlier quoted context omitted.

Same here; need push for integration. It appears that Prometheus favours pull to a fault. To me it makes sense to have a push/message infrastructure that you can then write scrapers for to your hearts content. InfluxDB has push, but I read that it uses 12X the storage due to storing metadata with each metric; Yikes!

(Prometheus author here) Yeah, I did that benchmark with 11x overhead for storing typical Prometheus metrics in InfluxDB in March of 2014. Not sure if anything has changed conceptually since then, but if anyone can point out any flaws in my reasoning, that'd be interesting: https://docs.google.com/document/d/1OgnI7YBCT_Ub9Em39dEfx9Bu...

Hi, this definitely looks very cool, but how about cases where we have a bunch of instances running behind a load balancer, and each servers its own metrics?

We can't pull them, because hitting the load balancer would randomly choose only one instance.

Instances are scaled up based on load. So we can't specify the target instances in Prometheus because it keeps on changing.

We'd like to try this out, but any ideas what to do for the above?

Re: Prometheus: An open-source service monitoring system and time series database

#47
I'm a little wary of a monolithic solutions to monitoring/graphing/time series data storage - it gives me flashbacks of nagios/zabbix ;)

I currently use a combination of sensu/graphite/grafana which allows a lot of flexability (albeit with some initial wrangling with the setup)

Re: Prometheus: An open-source service monitoring system and time series database

#48
post #37

Earlier quoted context omitted.

(Prometheus author here) Yeah, I did that benchmark with 11x overhead for storing typical Prometheus metrics in InfluxDB in March of 2014. Not sure if anything has changed conceptually since then, but if anyone can point out any flaws in my reasoning, that'd be interesting: https://docs.google.com/document/d/1OgnI7YBCT_Ub9Em39dEfx9Bu...

Hi, this definitely looks very cool, but how about cases where we have a bunch of instances running behind a load balancer, and each servers its own metrics? We can't pull them, because hitting the load balancer would randomly choose only one instance. Instances are scaled up based on load. So we can't specify the target instances in Prometheus because it keeps on changing. We'd like to try this out, but any ideas wh…

What you want to do is separately scrape each instance.

We're working on service discovery support[1] so that you can dynamically change what hosts/ports Prometheus scrapes. Currently you can use DNS for service discovery, or change the config file and restart prometheus.

[1]http://prometheus.io/docs/introduction/roadmap/

Re: Prometheus: An open-source service monitoring system and time series database

#49
post #47

I'm a little wary of a monolithic solutions to monitoring/graphing/time series data storage - it gives me flashbacks of nagios/zabbix ;) I currently use a combination of sensu/graphite/grafana which allows a lot of flexability (albeit with some initial wrangling with the setup)

I'm not sure what's wrong with nagios or zabbix... I use them both in different capacities, and they are good at what they do.

Of course a piecemeal solution is more flexible, but as you said, configuration can be a beast, so many people prefer monolithic systems.

Re: Prometheus: An open-source service monitoring system and time series database

#50

We've been looking for something like this, unfortunately the "pull" model won't work for us. We really need a push model so that our statistics server doesn't need access to every single producer. I see the pushgateway, but it seems deliberately not a centralized storage. I wonder what InfluxDB means by "distributed", that is, if I could use it to implement a push (where distributed agents push to a centralized metr…

Why do you need push replication?

From my experience with distributed systems push replication will get you in trouble, very soon.

Edit: I was too quick to post this question. An obvious scenario is where the client is behind a firewall. Never mind me. I am an idiot.

Post reply on HN