anryko / grafana-influx-dashboard Goto Github PK
View Code? Open in Web Editor NEWGrafana InfluxDB scripted dashboard
License: MIT License
Grafana InfluxDB scripted dashboard
License: MIT License
I would really like to take advantage of influxdb's retention policy and continuous queries to create rollups for grafana graphs. Does anyone have a suggested scheme to go along with the grafana-influx-dashboard model?
Links to other posts/issues would be good as well, but my google-fu is either not working well, or rollups are too new a feature to have been explored properly. Thanks.
DERIVATIVE() can have two arguments. The first is required and is a field name. The second is optional and is a rate normalization parameter. If the second parameter is not provided defaults to 1s.
In reality with v0.9.4.2 i see derivative(mean("value")) and derivative(mean("value"), 1s) show different results and the later one is actually correct.
Hi,
I have installed grafana 0.9, what will be my root dir?
i have got all content here -> /usr/share/grafana/public.
-Rohit
Hello,
Is it possible to integrate into the script the ability to choose multiple server? To enable comparison servers. A similar method to the template grafana.
Thank you for your reply.
Cordially.
Currently implemented (start || end) metric matching
'graph': {
'metric' : { }
}
Add possibility to use regexp as a metric key value:
'graph': {
'/[a,b]-metric\d$/' : { }
}
Grafana2 has a datasource proxy feature and at the moment getdash will not work for datasources with proxy enabled.
Hello anryko,
Is it possible to integrate in the script getDash, the ability to search a host ?
You tell me that ctrl + f works too;) but the host list when we want to have many hosts become heavier.
Thank you for your reply.
Cordially.
I am missing something.
Where and how can I configure InfluxDB since is not on standard Influx port?
Thx
Grafana introduced metric rows limitation (grafana/grafana#2087) eq 26 (A-Z). So if you have 3 CPUs x 8 metric = 24 rows, you are fine. If you are unlucky to have more powerful machine your graph will not be displayed. I need to introduce plugin configuration metric grouping option to workaround this limitation.
Related to: #10
subject says it all
Hello,
When my influxdb datasource is configured in proxy mode, getDash does not work because it fails to recuperate the parameter user and password.
db=collectd&u=undefined&p=undefined&q=SHOW%20TAG%20VALUES%20FROM%20load_midterm%20WITH%20KEY%20%3D%20host%3B
{"error":"user not found"}
If I get the right user and password in place of "undefined" or if I connect the direct datasource that works.
Grafana : 3.0.4
InfluxDB: 0.13
Master branch of grafana-influx-dashboard
Thank you.
Cordially.
https://testdomain.com/dashboard/script/getdash.js?metric=redis should generate redis graphs for all hosts that have redis on them.
dashboard/script/getdash.js
Script Error
Please make sure it exists and returns a valid dashboard
hello , how to solve this problem?
thanks so much
If the connection to influxdb is using proxymode, I cannot get it to work.
query?q=SHOW TAG VALUES FROM load_midterm WITH KEY = host
I always get
"results": [ { "error": "database name required" } ] }
Back in response.
But If I change the datasource to use direct mode instead, it is working.
Default CollectD CPU plugin graphing is complicated. Plugin stores information per thread which is not relevant to my use case and in case when I have 32 threads on the machine it takes quite a while to query 8x32 metrics. I want to have aggregated metrics in 'percent' ready to graph.
Hi
I just started using this great grafana dashboard generator. I am wondering if there is a possibility to create two getdash plugins for the same collectd plugin, ie:
plugins.disk = new Plugin();
//plugins.disk.config.multi = true;
plugins.disk.diskOps = {
'graph': {
'read': {
// 'color': '#447EBC',
'apply': 'derivative',
'type': 'disk_ops'
},
'write': {
// 'color': '#508642',
'math': '* -1',
'apply': 'derivative',
'type': 'disk_ops'
}
},
'panel': {
'title': 'Disk Operations', // for @metric',
'grid': { 'max': null, 'min': null, 'leftMin': null },
'y_formats': [ 'iops' ]
}
};
and
plugins.diskdetailed = new Plugin();
plugins.diskdetailed.config.multi = true;
plugins.diskdetailed.diskOps = {
'graph': {
'read': {
'color': '#447EBC',
'apply': 'derivative',
'type': 'disk_ops'
},
'write': {
'color': '#508642',
'math': '* -1',
'apply': 'derivative',
'type': 'disk_ops'
}
},
'panel': {
'title': 'Disk Operations for @metric',
'grid': { 'max': null, 'min': null, 'leftMin': null },
'y_formats': [ 'iops' ]
}
};
Thanks
It would be quite nice to have plugins from the same group in the same row - this way, by configuring the span in the configuration file, we could have several panels on the same row. You could still make the panels 12 wide, if needed.
Due to functional constraint i need to keep influxdb 0.8.8 and getdash seems not working with grafana 2.6.0.
Could please fix it ?
regards,
Project is written and tested with CollectD->InfluxDB+(input_plugins.collectd) as a system stats collector but with minor configuration changes should be collector independent.
Are you referring to collectd or InfluxDB as the collector? Running Graphite/Grafana and curious if this this work..
Hello! I am trying to get this to work, it is not working and I have very little idea how what could be wrong. It could be I've configured grafana to run in /grafana/ instead of the root of a website. It could be that I am running an incompatible version of Influxdb. When I don't pass any argument, it shows an empty list of hosts, although I do have data in influxdb. Some logging to figure out what is wrong would be most helpful!
Anyway thanks for this! It might turn up super useful when it works :)
https://github.com/anryko/grafana-influx-dashboard/blob/master/getdash.app.js#L715-L735
As was mentioned in (#39) when interval
is returned as false
grafana will determent the interval
automatically which could be much better than my algorithm for time=7d
or similar GET parameter queries. It would remove inconvenience when you want to change graph period using grafana interface after querying getdash with large time
GET values.
Works OK in Chrome.
Problem is probably in https://github.com/anryko/grafana-influx-dashboard/blob/master/getdash.app.js#L481
Have issue with get the collectd interface module work with the influx dashboard.
https://collectd.org/wiki/index.php/Plugin:Interface
I think the issue may be that interface is a reserved keyword? If this is easy to fix i would gladly see it fixed. Will try my best to figure out this myself and create a pull request.
Previously there were instructions to modify grafana 2.x's app.js files:
sed -i 's|\({text:\"Dashboards\",icon:\"fa fa-fw fa-th-large\",href:a.getUrl(\"/\")}\)|\1,{text:\"GetDash\",icon:\"fa fa-fw fa-th-large\",href:a.getUrl(\"/dashboard/script/getdash.js\")}|' /usr/share/grafana/public/app/app.*js
This no longer works. Please provide a new method for integrating getdash with the main grafana 3.x page. Thanks!
Create and add new getdash demonstration gif with Grafana3 to the README.
Hi anryko! ๐
After upgrading Grafana to 3.0.1 unfortunately the scripted dashboard doesn't load (gives blank page), when logged in without admin privileges.
That seems to be caused by the "/api/datasources" endpoint not being publicly accessible anymore. It returns:
{"message":"Permission denied"}
with such a user.
Are you aware of this? How could this be worked around?
Maybe providing an API key in getdash configuration would be an option?
Cheers,
Tobias.
After migrating my infra from graphite metric format to straight collectd I noticed that some plugins put multiple metrics under the same series name. In this case I will need a 'where' sql keyword to get multiple graphs data per series.
At the moment if separator is not '.' or prefix is not defined default dashboard will not work.
Hello.
I installed your dashboard into Grafana 2.1.3, but some of the graphs are giving me this error:
InfluxDB Error Response: error parsing query: aggregate function required inside the call to derivate
You can see it on the attached screenshot:
I'm using grafana-2.1.3-1.x86_64, influxdb-0.9.4.1-1.x86_64, collectd-5.5.0-1.el6.x86_64.
I'm not sure if this is a dasboard bug or some problem of my collectd+influxdb configuration.
Thank you
PetrR
I use your scripted dashboard in the following environment:
Unfortunately I get several error messages about a missing query separator.
As you can see the selects are just seperated by an space instead of ;.
I use the default plugins of Collectd, but this should not matter. Do you have any idea what went wrong?
Dashboard server side rendering (for image fetching) will not work at the moment due to Promise usage in the getdash code which is not supported by phantomjs (grafana/grafana#341).
Implement async boolean GET variable to turn of asynchronous behaviour and Promise usage.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.