I am currently in the process of setting up data visualization using Grafana, but I am unsure whether to use InfluxDB or Prometheus as my database. From my understanding, data needs to be pushed to InfluxDB, would that require a push service, such as a small Python server, to pull data from sources that do not support pushing data and then push it to InfluxDB when new data is present? (It doesn't bother me to code a small server, it's more a question of whether I understand the service structure correctly?)
My use case involves obtaining data from various sources, including Proxmox, TrueNAS, and other services in my home lab, as well as IoT devices on my local network which I have control over, so I guess it’s not a problem, but I also need to get data from external API's, some of which do not support data pushing.
I find it quite difficult to choose what is right in my case…
I've got a few small servers I want to take metrics from, ideally system resources AND logs. Do I need both prometheus and loki? Or prometheus and influx?
Any solution for OPNSense?
Hi, as a VMs monitoring system we have been using Sensu+InfluxDB for years (on-prem, multiple sites, > 500 VMs, VMWare). This system scale/works very well and also can be fully integrated with configuration management tool like Puppet, through which we can dynamically manage configurations, per-host parameters used by probes (e.g. credentials, probe parameters, etc.), per-host attributes (e.g. host tags) and also the discovery of services/hosts is fully automated. In addition to that, we are using Prometheus to monitor k8s and related services.
At the same time, the fate of Sensu and InfluxDB seems uncertain and subject to several changes, in addition to the fact that many services now come out natively with a Prometheus endpoint and a set native Grafana dashboards, so creating home-made dashboards and probes seems like a waste of time in 98% of cases.
-
In your opinion, should we change from Sensu to Prometheus in order to unify/standardize the monitoring system being used? Would you suggest any other tool?
-
If we decide to use Prometheus for VMs, is it worth thinking about using Consul for host discovery or is it a too complex solution? What would you use instead?
-
Regards timeseries DB, do you think is it better to migrate to another timeseries DB (e.g. Victoriametrics, M3DB) or not?
-
Based on your Prometheus experience, could Thanos (or similar sw) be a good solution (i.e. for aggregation/long term metrics store) or is it better to rely on a remote write to a dedicated timeseries DB?
So I've never used any of them. But the time has come, because I have dashboard envy!
I want to deploy the stack with docker compose. All the GitHub examples seem to be only for the older Influxdb 1.x and not 2.x... is there any problem deploying v2?
I want to grab metrics for:
Proxmox hosts
OPNsense
PiHole's
Home Assistant
UniFi
And so forth.
Can someone share a docker compose that works with external volumes?
And if someone could do a basic ELI5 for why I see so many people with both Influxdb and Prometheus, aren't they basically serving the same function?
I'm trying to setup monitoring for my servers. I have one home server (repurposed hackintosh, so not really server hardware, just a regular PC running Linux) running several services mostly in Docker containers but a couple in VMs, I also have a couple VPS here and there. I have a PiHole running on a RasPi, libreelec/kodi running on another Pi, and opnsense running on dedicated hardware.
I'd like to monitor all these things to avoid stupid things like running out of space without noticing, or having a service down and not noticing, or being alerted if my borg backups fail, or warn me if my rsync.net account is approaching its quota, etc.
I have tried ELK about 6 months ago, but it didn't seem to do what I wanted: I could parse logs for metrics but alerting was a paid feature (a few thousand $ a year IIRC) so that was a no go.
I'm now giving Prometheus a shot because it does alerting for free. I have managed to put together an Ansible role to setup node-exporter wherever I want and put it behind a reverse proxy that does SSL and basic auth.
So it looks like node exporter is to Prometheus what Logstash is to ELK. Prometheus itself is a poor man's datastore filling the role of Ealsticsearch in ELK, but InfluxDB is better at it and recommended for keeping data longer term. Grafana is Kibana. Did I get that right?
-
Are ELK and Prometheus InfluxDB Grafana (PIG I guess?) redundant to each other or complementary?
-
Is InfluxDB mandatory?
-
What are Telegraf and fluentd for, aren't they doing the same thing as node-exporter?
-
Is there a guide to monitoring and alerting somewhere that would shed some light for someone who is new to it? I found blog posts and the projects' docs, but they assume a lot of prior knowledge on the topic that I don't have.
Hopefully these questions make sense, apologies if they don't; I'm very confused at it all.
When I started with HA 6 month ago, I read older tutorials on how to use Grafana and InfluxDB to visualize sensor data over longer time periods.
While I'm quite happy with the design possibilities of Grafana, I'm really annoyed by the large size of InfluxDB and that it's practically impossible to delete old sensor data of certain devices that are no longer in use, changed their name or are not needed.
I'd really like a maybe smaller database that doesnt need as many diskspace as InfluxDB or a method to say "drop all sensors that have not been used within 6 month" and therefore reduce the size of my database.
Questions of that sort have not been answered in the HA Forum:
https://community.home-assistant.io/t/drop-unused-sensor-from-influxdb/350853
Hi all
We are currently investigating to replace our very expensive DataDog monitoring (That we are not completely satisfied with).
We are thinking to either use the full TICK stack from InfluxData (the OSS one) or Prometheus/AlertManager.
Which one would you recommend ? We will both monitor the infrastructure (On Google Cloud, with various services like SQL Server, PostgreSQL, RabbitMQ, MongoDB, NGINX and more), some application metrics that we will provide and also monitoring Kubernetes.
So far it looks like that Prometheus is more "hype" currently. I've been playing a little bit with both so far and for now I would more to toward the TICK stack that I think it more mature and flexible ? The only thing is that I could not find mature autodiscovery in Telegraf on Kubernetes (to monitor all the pods custom metrics automatically for example)
What would you recommend ? What would be the big differences between both. AFAIK both would both to PULL and PUSH (Prometheus being more PULL first)
For those who ask for the issues we have with DataDog:
Too expensive
Lot of weird limitations (can't monitor more than 100 RabbitMQ queues, can't monitor all the objects of a PostgreSQL database without listing all of them in their config files)
No support for autoscaling in Google Cloud where we asked as high priority almost 2 years ago, this will be a hard requirement in the next month's
Limited dashboards interoperability or exportability
Paid custom metrics
No configuration change history / rollback
Thanks
I’m looking for a system monitor, and see many recommendations in previous threads. What I don’t understand is why there are so many combinations and what the differences are:
Prometheus + Grafana
Prometheus + Grafana + Netdata
InfluxDB + Telegraf + Grafana
Prometheus collects data. Grafana displays it. When would you need to add Netdata to that? Why would you drop Prometheus and go with both InfluxDB and Telegraf?
I need basic CPU, Memory, Storage, and Docker container monitoring for my main server. Would also like to monitor a remote VPS and local Linux clients with a single setup if possible.
What should I learn?
Hello,
I've got a script that is connected to able 50 x 4G network routers to get some 4G metrics. My script just shows the info on the screen at the moment as I havn'te decided what database to store the data in. Would you use InfluxDB or Prometheus for this data? I need to graph theses overtime per router. I've never created an exporter before to scrape if it's Prometheus.
Thanks
I would like to dith Grafana and Influxdb since it uses too much resources and the changes in the influx-syntax is a nightmare.
What I would like to monitor: CPU usage of nodes, power usage of my TP-Link smart meters, some SNMP stuff and the most crucial part: which LXC/VM of my Proxmox host uses which resources (CPU, RAM, Bandwith).
I would like to monitor several nodes and I would like to create my own "dashboard".
What would you recommend?
Happy to share my analysis of Prometheus Vs Grafana Vs graphite, which one will last? https://www.loomsystems.com/blog/single-post/2017/06/07/prometheus-vs-grafana-vs-graphite-a-feature-comparison
I'm looking to make Grafana dashboard for multiple metrics such as
-
Server Metrics
-
Nginx Logs
-
Custom application (web app) metrics (currently using Statsd)
-
Docker container metrics
My application is still in early stage and a single server is sufficient so far. I can open multiple servers but I prefer not to increase the complexity yet. I achieved #3 using Grafana, Carbon, Graphite, Statsd however when I look at Grafana plugins like Mongo, Docker, NodeExport, Nginx, Postgres
Most of them use different stacks and all the examples/tutorials use different stacks as well.
I'm having difficulties selecting technologies. I don't want to re-invent the wheel. I want to use what's already been built. I also don't want to pay some Cloud service and do most of the work anyway.
What is the best way to setup this system? Any guide, tips or feedback would be appreciated
Hi,
For my alerting and monitoring needs I generally tend to use grafana and influx. I recently came across prometheus and had few questions about it from the users who are using it.
I used telegraf to push custom metrics to influxdb. It is basically a push model. When I was going through prometheus architecture, it seems to be a pull model. Please help me understand how does it work
Let say I have installed prometheus. I have few machines behind scalesets which come and go depending on the load. How does prometheus know that there are new machines behind the scaleset which it needs to scrape. Also, Isn't a push better model than a pull one ?
Do we need to add new server connections in prometheus for it to scrape metrics from new server added?