Skip to content
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

complicated configuration #372

Open
532910 opened this issue Jul 23, 2019 · 5 comments
Open

complicated configuration #372

532910 opened this issue Jul 23, 2019 · 5 comments
Labels

Comments

@532910
Copy link

532910 commented Jul 23, 2019

I've installed facette_0.5.0rc1_stretch-amd64.deb
There is nothing about configuration process on https://docs.facette.io/

Well, I've googled old documentation https://docs.facette.io/0.3/configuration/connectors/ that describes how to add an rrd provider.

And added provider:
Name: collectd, Type: rrd, Refresh interval: 1
Base directory: /var/lib/collectd/rrd, Match pattern: (?P<source>[^/]+)/(?P<metric>.+).rrd
Catalog (Origins/Source/Metrics) become populated by this provider.

After several attempts I've added a single rrd database (metric) to the Graphs->Templates and a Collection with this graph.

  1. Is it possible and how to put all rrds onto homepage dashboard without manually specifying each database in the Graphs folder?
  2. What is the difference between Graphs/Collections and Templates.
  3. Why Create new graph/collection creates new template (Create from template creates new graph/collection)?
  4. It's OK that https://play.facette.io/admin/ is read-only, but it doesn't allow to see detailed settings
    (I can't press collectd on https://play.facette.io/admin/providers/ to see it's settings.)
@vbatoufflet
Copy link
Member

Hi @532910,

Yes Facette's setup is not as documented as it should be, see #369.

Regarding your questions:

  1. If you want all your RRD data available in collections, you'll have to create graphs for them;
  2. A graph is the base item in Facette, it'll display the timeseries. A collection is basically a group of graphs to display on a single page. Both graphs and collections can be templates (e.g. if you use {{ .source }} in the source field of a metric in a graph, you'll be able a reuse this graph for multiple hosts, providing a value for source in either a graph created from a template or in a collection referencing it);
  3. Create new graph/collection will be templates only if template markups are detected (e.g.{{ .var }}). Create from template is used to create resources based on existing templates, it'll ask you to provide values for markups variables existing in the source template;
  4. It's definitively something we can improve. I can add some read-only page for existing resources (I opened an issue for this Add view for Administration Panel resources in read-only #374).

I hope it answers your questions. Don't hesitate to ask for clarifications.

@532910
Copy link
Author

532910 commented Aug 5, 2019

  1. Clear
  2. It's not clear why Graph parameters/Title turns graph into template.
  3. Hmm, all graphs that I have become templates as soon as I add Graph parameters/Title
    + -> create new graph must be create new graph (template), and create new collection must be create new collection (template) for clearness!
  4. Thank you!

@vbatoufflet
Copy link
Member

Graphs and collections should turn into templates only when templating markups are detected. Having it triggered when you add a title is certainly not the intended behavior.

I just opened the #378 issue to handle its fix.

@clarfonthey
Copy link
Contributor

So I figured I'd post here because I figure it makes the most sense:

  1. Are origins and providers not 1-1? Because collectd stores a hostname alongside metrics as part of the path and I feel like if origins and providers aren't the same, this should be included in Facette.
  2. It seems like I'm almost always going to be using (?P<source>[^/]+)/(?P<metric>[^/]+).rrd$ as the match pattern, so, I don't know why it doesn't have this as a default.
  3. Similarly, rrdcached defaults to /tmp/rrdcached.sock and I feel like this should be a default in the system too.
  4. This probably should get its own issue, but I think that it'd be nice if I could just specify a default list of providers in a file somewhere. It seems weird that I need to interact with the database to do something that would be the same on any system I install facette on, assuming the same data collection software.

@vbatoufflet
Copy link
Member

Hi @clarfon,

Regarding your questions:

  1. Most of the time they are 1-1 (e.g. RRD, KairosDB, Graphite). When you configure a provider it will result in defining only one origin. The exception here is when you configure a Facette type provider, which will rely on another Facette instance that could provide multiple origins.
  2. Indeed, those are good defaults when your RRD files come from Collectd, if they were generated by another software, the pattern could be potentially different.
  3. If a value is set, rrdcached is used. Left empty, it means we don't use it and as I can't know for sure if rrdcached is installed on the system I did chose to make it unvailable by default.
  4. In the early versions of Facette, providers where configured via JSON files on the file system. The choice of making them configurable through the UI and stored in the database was to provide a way to run multiple instances of Facette sharing the same configuration, thus ensuring some failover.

All of that could be debated of course, and the notion of origin will be dropped in the next version of Facette in favor of a more Prometheus-like label system, for example with a metric defined as cpu_percent{__provider__="prometheus",cpu="system",instance="test.facette.io",job="collectd"} or interface_if_dropped{__provider__="rrd",ds="rx",instance="test.facette.io",interface="eth0"}.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants