Grafana Dashboard using Telegraf with additional plugins


  • For the unbound - on telegrah - looks like does not work with the latest version of pfsense and telegrah

    It used to work..

    In telegraf config..

    [[inputs.unbound]]
    server = "127.0.0.1:953"
    binary = "/usr/local/bin/telegraf_unbound.sh"

    Command to check:

    /usr/local/bin/telegraf -config=/usr/local/etc/telegraf.conf --test --input-filter unbound

    Output:
    2020-11-18T00:31:41Z I! Starting Telegraf 1.13.4
    2020-11-18T00:31:45Z E! [inputs.unbound] Error in plugin: error gathering metrics: error running unbound-control: Command timed out. (/usr/local/bin/telegraf_unbound.sh [-s 127.0.0.1@953 stats_noreset])
    2020-11-18T00:31:45Z E! [telegraf] Error running agent: One or more input plugins had an error


  • Recently tried out the new version of PfBlockerNG 3.0.0_1 and was looking to test the new python integration with unbound that produces the client ip in the logs when using null blocking. (requires pfsense 2.5.x and latest version of unbound)

    Wanted to confirm that not only does it work but everything still shows up in this grafana dashboard.


  • @erbalo I am facing this similar issue, when I see the telegraf log I have this message everywhere... Did you find any solution?

    For example:

    d5c7e38b-77be-4283-ac33-88a4e4756509-image.png


  • This dashboard is absolutely fantastic! it works very well.
    It looks like it would have taken a lot of hard work, time and effort.
    Thanks for doing this!


  • Any idea how to install Telegraf on SG-3100? pFsense version 2.4.5-RELEASE-p1 (arm).


  • @VictorRobellini @erbalo

    To calculate the monthly WAN download/upload, use the following query format

    SELECT non_negative_difference(last("bytes_recv")) FROM "net" WHERE ("host" =~ /^$Host$/ AND "interface" =~ /^$WAN$/) AND $timeFilter GROUP BY time($__interval) fill(null)

    Set Query Options / Relative Time to - 'now/M'. Leave Everything else as is in Query Options.

    For Visualization use 'Stat'. Then under 'Display' select Calculations > Total

    Then Goto Field from the TAB above / Units > bytes(SI)


  • @ab5g said in Grafana Dashboard using Telegraf with additional plugins:

    @VictorRobellini @erbalo

    To calculate the monthly WAN download/upload, use the following query format

    SELECT non_negative_difference(last("bytes_recv")) FROM "net" WHERE ("host" =~ /^$Host$/ AND "interface" =~ /^$WAN$/) AND $timeFilter GROUP BY time($__interval) fill(null)

    Set Query Options / Relative Time to - 'now/M'. Leave Everything else as is in Query Options.

    For Visualization use 'Stat'. Then under 'Display' select Calculations > Total

    Then Goto Field from the TAB above / Units > bytes(SI)

    Bamm! thank you, this works now for me!!! Can someone maybe upload a fully working dashboard so we can use import in grafana? With a corected Mb/s etc..


  • @erbalo

    Getting Mbps on the graph is easy.

    Select the WAN Panel > Edit > Panel Settings > Axis / Left Y - Change this to bits/sec
    Also change the query to add *8

    So your query will look like this

    SELECT derivative(mean("bytes_recv"), 1s) *8 FROM "net" WHERE ("host" =~ /^$Host$/ AND "interface" =~ /^$WAN$/) AND $timeFilter GROUP BY time($__interval) fill(null)

    Do the same for the LAN Panel (the first one). Then click 'LAN Interfaces' (the master container for all LAN panels - see pic) . Click Settings > Repeat for Datasouce and this Mbps setting applies to all LAN panels.

    Screenshot 2021-01-05 at 3.14.08 PM.png


  • @ab5g said in Grafana Dashboard using Telegraf with additional plugins:

    @erbalo

    Getting Mbps on the graph is easy.

    Select the WAN Panel > Edit > Panel Settings > Axis / Left Y - Change this to bits/sec
    Also change the query to add *8

    So your query will look like this

    SELECT derivative(mean("bytes_recv"), 1s) *8 FROM "net" WHERE ("host" =~ /^$Host$/ AND "interface" =~ /^$WAN$/) AND $timeFilter GROUP BY time($__interval) fill(null)

    Do the same for the LAN Panel (the first one). Then click 'LAN Interfaces' (the master container for all LAN panels - see pic) . Click Settings > Repeat for Datasouce and this Mbps setting applies to all LAN panels.

    Screenshot 2021-01-05 at 3.14.08 PM.png

    Thank you, for th WAN it is now correct just i am seeing there Mb/s - Megabit per second.
    But for the LAN i need to see MB/s = Megabyte per second. I mean i need to see the exact value such as when you copy a file from your NAS, you see there the rate MB/s.


  • This post is deleted!

  • I noticed recently that the systems row is no longer tracking the time range that is selected up at the top right.

    Is this something that should be defined in the query or did something break with an upgrade somewhere along the way?

    Can someone else confirm if they are able to see changes in the systems row statistics whenever the change the time frame in the upper right hand corner of the dashboard?

    I did go ahead and pull down the latest json from github just to be sure that wasn't the problem.


  • @bigjohns97 Seems to be working for me.


  • @ab5g I did recently upgrade pretty much everything (pfsense 12, pfblockerng 3.007 grafana. Etc)

    Just a heads up. I haven't had a chance to dig into the data to see if the dates aren't being kept or what really has changed.


  • @bigjohns97 I am on 11.3 with pfBlockerng at 3.0.0_7. If you recently updated to 12, make sure that the Telegraf additional configs are in place and your scripts are still in usr/local/bin with the correct permissions.


  • @ab5g yep that is all confirmed working and I was sure it was working after the upgrade to 12.x and 3.x so I am leaning towards new version of grafana or possibly a combination of the two.


  • Well I kinda found out what happened, I believe something went haywire during one of the many upgrades and ended up putting some log entries without time or dates into my dnsbl.log which in turn was put into my influxdb.

    I ended up having to delete the dnsbl.log and let pfblockerng automatically create it and then I deleted the database from within influx and everything was working again.

    There was nothing wrong with grafana.


  • I'm seeing multiple widgets for each of my WAN items:

    Screen Shot 2021-01-11 at 11.36.27 AM.png

    I also had to manually add the additional code via the command line to the telelgraf.conf file manually as when I add it via the browser it adds the ^M characters. I'm on a Mac so that shouldn't happen, anyone else see this?


  • @ab5g This is a great idea! I'm adding it to my next commit.

    1e71a1fa-e17d-4bc2-800d-2ececd930e9f-image.png

    Thanks


  • @victorrobellini

    I also have telegram integration with Grafana setup as per here - https://gist.github.com/ilap/cb6d512694c3e4f2427f85e4caec8ad7

    I use this to receive notifications if my WAN and Wireguard tunnels go down.Screenshot 2021-01-12 at 10.34.43 AM.png

    Screenshot 2021-01-12 at 10.34.04 AM.png

    Screenshot 2021-01-12 at 10.33.45 AM.png

    Screenshot 2021-01-12 at 10.33.28 AM.png


  • @pfsencue ok i just grabbed the one from the grafana website you created @VictorRobellini and it works great from there... looking forward to that update above!