pfSense Netdata - Verified and Working Elegantly !
-
Hello Community - First of all I hope that all is well with with all. These are troubling times that we currently are in.
May Peace and Love Prevail. As Always The Intro - Lyrics by Jimi here - https://genius.com/Jimi-hendrix-power-of-love-lyrics
and video : Power of Love - https://www.youtube.com/watch?v=-k-9Hb7RdgY Bonus - We Gotta Live Together (Live At Filmore East, 1970 / 50th Anniversary) - Lyrics - https://genius.com/Jimi-hendrix-we-gotta-live-together-live-at-filmore-east-1970-50th-anniversary-lyrics and video -https://www.youtube.com/watch?v=OOIuSsA72nMNow - let's get down to business. I recently bought a new mini-pc ( Qotom-Q375G4 Intel Core I7-5500U ) and I installed pfSense on it along side OPNsense. This little beast has 1 x Minipcie port (for mSATA SSD) and regular 1 x SATA Port on which I installed a Samsung SSD 860 EVO 250GB 2.5 Inch SATA III Internal SSD. So, OPNsense offers plugins and it is very easy to add the modules. Netdata is one of these plugins and I love it. Unfortunately, pfSense does not offer this as a native package. So, I set out to be able to install Netdata on pfSense. I looked around and found that this was not that difficult to achieve. So, I am putting this together for those who may wish to monitor their pfSense router with Netdata. Netdata boasts - Monitor everything in real time for free with Netdata. See here : https://github.com/netdata/netdata
OK - here is what you need to do in order to get Netdata up and running on pfSense. I followed this guide here : https://learn.netdata.cloud/docs/agent/packaging/installer/methods/pfsense - Honestly this is a great guide - one of the best I have read.
First - you need to install these four packages from the pfSense package repo with the following command below via SSH -
1 - # pkg install -y pkgconf bash e2fsprogs-libuuid libuv nano
Next ( just follow the aforementioned guide ) - however you must always check the FreeBSD repo to see that you have the latest packages listed below; otherwise you will get an error message that " the package was not found ". Also, I have found as of late that if you try to access the main FreeBSD repo by entering the " https://pkg.freebsd.org/FreeBSD:12:amd64/latest/All/ " url - you will get the " 403 Forbidden - nginx error ". This precludes you from viewing the current FreeBSD package list. I searched around and found a FreeBSD package repo that seems to be up and stable - it is " http://pkg0.jinx.freebsd.org/FreeBSD:12:amd64/latest/All/ " located in South Africa. Virtually all of the FreeBSD package repos are inaccessible as well. Oddly, enough you are still able to download the FreeBSD packages from the main repo - it is just that you can not see the repo packages ( to check package latest versions by entering the url ). With that being said - let's proceed.
So here we begin the process of installing the necessary packages from the FreeBSD repo. Some of these packages have been updated since the time that the referenced tutorial ( https://learn.netdata.cloud/docs/agent/packaging/installer/methods/pfsense was written / Last updated on 5/19/2020 . Also - remember to install the packages for your architecture. pfsense 2.4.5_1 is based on FreeBSD 11.3-STABLE - so you would go to : http://pkg0.jinx.freebsd.org/FreeBSD:11:amd64/latest/All/ for your packages. If you are like me and you run pfsense 2.5.0 ( Development Snapshots which are based on FreeBSD 12.0 ) you will need packages from : http://pkg0.jinx.freebsd.org/FreeBSD:12:amd64/latest/All/ - With that all out of the way - no more delays.
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Install these packages from the FreeBsd repo ( for pfSense 2.5.0 ) in the exact order as listed via SSH as shown below :
2 - # pkg add http://pkg0.jinx.freebsd.org/FreeBSD:12:amd64/latest/All/Judy-1.0.5_2.txz
3 - # pkg add http://pkg0.jinx.freebsd.org/FreeBSD:12:amd64/latest/All/py37-certifi-2020.6.20.txz
4 - # pkg add http://pkg0.jinx.freebsd.org/FreeBSD:12:amd64/latest/All/py37-asn1crypto-1.3.0.txz
5 - # pkg add http://pkg0.jinx.freebsd.org/FreeBSD:12:amd64/latest/All/py37-pycparser-2.20.txz
6 - # pkg add http://pkg0.jinx.freebsd.org/FreeBSD:12:amd64/latest/All/py37-cffi-1.14.0_1.txz
7 - # pkg add http://pkg0.jinx.freebsd.org/FreeBSD:12:amd64/latest/All/py37-six-1.14.0.txz
8 - # pkg add http://pkg0.jinx.freebsd.org/FreeBSD:12:amd64/latest/All/py37-cryptography-2.6.1.txz
9 - # pkg add http://pkg0.jinx.freebsd.org/FreeBSD:12:amd64/latest/All/py37-idna-2.8.txz
10 - # pkg add http://pkg0.jinx.freebsd.org/FreeBSD:12:amd64/latest/All/py37-openssl-19.0.0.txz
11 - # pkg add http://pkg0.jinx.freebsd.org/FreeBSD:12:amd64/latest/All/py37-pysocks-1.7.1.txz
12 - # pkg add http://pkg0.jinx.freebsd.org/FreeBSD:12:amd64/latest/All/py37-urllib3-1.25.7,1.txz
13 - # pkg add http://pkg0.jinx.freebsd.org/FreeBSD:12:amd64/latest/All/py37-yaml-5.3.1.txz
14 - # pkg add http://pkg0.jinx.freebsd.org/FreeBSD:12:amd64/latest/All/netdata-1.23.1.txzXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Install these packages from the FreeBsd repo ( for pfsense 2.4.5_1 ) in the exact order as listed via SSH as shown below :
2 - # pkg add http://pkg0.jinx.freebsd.org/FreeBSD:11:amd64/latest/All/Judy-1.0.5_2.txz
3 - # pkg add http://pkg0.jinx.freebsd.org/FreeBSD:11:amd64/latest/All/py37-certifi-2020.6.20.txz
4 - # pkg add http://pkg0.jinx.freebsd.org/FreeBSD:11:amd64/latest/All/py37-asn1crypto-1.3.0.txz
5 - # pkg add http://pkg0.jinx.freebsd.org/FreeBSD:11:amd64/latest/All/py37-pycparser-2.20.txz
6 - # pkg add http://pkg0.jinx.freebsd.org/FreeBSD:11:amd64/latest/All/py37-cffi-1.14.0_1.txz
7 - # pkg add http://pkg0.jinx.freebsd.org/FreeBSD:11:amd64/latest/All/py37-six-1.14.0.txz
8 - # pkg add http://pkg0.jinx.freebsd.org/FreeBSD:11:amd64/latest/All/py37-cryptography-2.6.1.txz
9 - # pkg add http://pkg0.jinx.freebsd.org/FreeBSD:11:amd64/latest/All/py37-idna-2.8.txz
10 - # pkg add http://pkg0.jinx.freebsd.org/FreeBSD:11:amd64/latest/All/py37-openssl-19.0.0.txz
11 - # pkg add http://pkg0.jinx.freebsd.org/FreeBSD:11:amd64/latest/All/py37-pysocks-1.7.1.txz
12 - # pkg add http://pkg0.jinx.freebsd.org/FreeBSD:11:amd64/latest/All/py37-urllib3-1.25.7,1.txz
13 - # pkg add http://pkg0.jinx.freebsd.org/FreeBSD:11:amd64/latest/All/py37-yaml-5.3.1.txz
14 - # pkg add http://pkg0.jinx.freebsd.org/FreeBSD:11:amd64/latest/All/netdata-1.23.1.txzXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
After installing all these packages above Netdata is installed on your pfSense Box. We must now configure Netdata. As the guide says you must edit the following file " /usr/local/etc/netdata/netdata.conf " You may accomplish though the WEBGUI or by using Nano. For WEBGUI - from top line Menu go to Diagnostics > from down down menu go to > Edit File. Paste " /usr/local/etc/netdata/netdata.conf " in " Path to file to be edited " Box - the click on " Load ". The file will appear and you can edit it easily from here. Third line from the bottom - you must change ( designate ) the " bind to = " address from default " 127.0.0.1 " to something else. The guide suggests the address of " 0.0.0.0 " - I change the address to that of my LAN IP Address. For example if your LAN IP is 192.168.7.23 - enter that address as follows :
" bind to = 192.168.7.23 " then click on Save. I do this to restrict access to Netdata on my pfSense instance.Now we need to set up Netdata to start on boot up. The author notes that " To start Netdata manually, run service netdata onestart. " - this is only good for one time start. You now can enter Netdata by going to http://192.168.7.23:19999 after manual start in this example. The guide suggests using Shellcmd utility in order start Netdata at boot. I disagree and will show you how to start Netdata at boot the standard pfSense way. See below -
Start Netdata At Boot:
1 - In pfSense, the Netdata configuration files are located under /usr/local/etc/netdata. See the very bottom of the page for this information. So in order to start Netdata at boot do the following :
A - Issue following command via SSH - # mv /usr/local/etc/rc.d/netdata /usr/local/etc/rc.d/netdata.sh
B - Make the file new executable - I run two commands - works for me # # chmod 744 /usr/local/etc/rc.d/netdata.sh and # chmod a+x /usr/local/etc/rc.d/netdata.sh
C - Edit new file go to line 37 : ${netdata_enable="NO"} and change from : ${netdata_enable="NO"} to : ${netdata_enable="YES"}
You may edit file " /usr/local/etc/rc.d/netdata.sh " as before either through WEBGUI or Nano. Reboot your pfSesne router and you will see that Netdata starts on boot. Enjoy and Peace Always Unto You and The Entire World. -
Works like a charm, indeed! As 2.5.0 is stable now, these are the most recent packages at the time of writing;
2 - # pkg add https://pkg.freebsd.org/FreeBSD:12:amd64/quarterly/All/Judy-1.0.5_2.txz
3 - # pkg add https://pkg.freebsd.org/FreeBSD:12:amd64/quarterly/All/py37-certifi-2020.12.5.txz
4 - # pkg add https://pkg.freebsd.org/FreeBSD:12:amd64/quarterly/All/py37-asn1crypto-1.4.0.txz
5 - # pkg add https://pkg.freebsd.org/FreeBSD:12:amd64/quarterly/All/py37-pycparser-2.20.txz
6 - # pkg add https://pkg.freebsd.org/FreeBSD:12:amd64/quarterly/All/py37-cffi-1.14.4.txz
7 - # pkg add https://pkg.freebsd.org/FreeBSD:12:amd64/quarterly/All/py37-six-1.15.0.txz
8 - # pkg add https://pkg.freebsd.org/FreeBSD:12:amd64/quarterly/All/py37-cryptography-2.9.2.txz
9 - # pkg add https://pkg.freebsd.org/FreeBSD:12:amd64/quarterly/All/py37-idna-2.10.txz
10 - # pkg add https://pkg.freebsd.org/FreeBSD:12:amd64/quarterly/All/py37-openssl-19.1.0.txz
11 - # pkg add https://pkg.freebsd.org/FreeBSD:12:amd64/quarterly/All/py37-pysocks-1.7.1.txz
12 - # pkg add https://pkg.freebsd.org/FreeBSD:12:amd64/quarterly/All/py37-urllib3-1.25.11,1.txz
13 - # pkg add https://pkg.freebsd.org/FreeBSD:12:amd64/quarterly/All/py37-yaml-5.3.1.txz
14 - # pkg add https://pkg.freebsd.org/FreeBSD:12:amd64/quarterly/All/netdata-1.28.0.txz -
Amigo puedes por favor actualizar los repositorios
-
I know this is old but it works like a charm on 2.6 THANK YOU
-
@laser22 having trouble finding pkg add https://pkg.freebsd.org/FreeBSD:12:amd64/quarterly/All/py37-yaml-5.3.1.txz
where did you get the package from?
-
pfSense 2.6 is using Python 3.8 so you probably want the py38 pkg there. Our repo has 5.4.1:
[2.6.0-RELEASE][admin@t70.stevew.lan]/root: pkg search py38-yaml py38-yaml-5.4.1 Python YAML parser
Steve
-
@stephenw10 yep that worked! netdata is operational. Appreciate it Stephen!
-
Are there any benefts to this over whats allready available ?
-
@cool_corona I have never had much luck at configuring a dashboard the way I want it-even with the great tutorials out there- i always fat finger something
-
-
pfSense 2.6.0 with netdata
pkg install -y pkgconf bash e2fsprogs-libuuid libuv nano pkg add https://pkg.net.isc.upenn.edu/FreeBSD%3A12%3Aamd64%3Alab/All/python39-3.9.13.pkg pkg add https://pkg.net.isc.upenn.edu/FreeBSD%3A12%3Aamd64%3Alab/All/py39-setuptools-63.1.0.pkg pkg add https://pkg.net.isc.upenn.edu/FreeBSD%3A12%3Aamd64%3Alab/All/json-c-0.16.txz pkg add https://pkg.net.isc.upenn.edu/FreeBSD%3A12%3Aamd64%3Alab/All/openssl-1.1.1q%2C1.pkg pkg add https://pkg.net.isc.upenn.edu/FreeBSD%3A12%3Aamd64%3Alab/All/libyaml-0.2.5.pkg pkg add https://pkg.net.isc.upenn.edu/FreeBSD%3A12%3Aamd64%3Alab/All/protobuf-3.20.1%2C1.pkg pkg add https://pkg.net.isc.upenn.edu/FreeBSD%3A12%3Aamd64%3Alab/All/py39-certifi-2022.6.15.pkg pkg add https://pkg.net.isc.upenn.edu/FreeBSD%3A12%3Aamd64%3Alab/All/py39-pycparser-2.21.pkg pkg add https://pkg.net.isc.upenn.edu/FreeBSD%3A12%3Aamd64%3Alab/All/py39-cffi-1.15.1.pkg pkg add https://pkg.net.isc.upenn.edu/FreeBSD%3A12%3Aamd64%3Alab/All/py39-cryptography-3.4.8.pkg pkg add https://pkg.net.isc.upenn.edu/FreeBSD%3A12%3Aamd64%3Alab/All/py39-idna-3.3.pkg pkg add https://pkg.net.isc.upenn.edu/FreeBSD%3A12%3Aamd64%3Alab/All/py39-six-1.16.0.pkg pkg add https://pkg.net.isc.upenn.edu/FreeBSD%3A12%3Aamd64%3Alab/All/py39-openssl-20.0.1%2C1.pkg pkg add https://pkg.net.isc.upenn.edu/FreeBSD%3A12%3Aamd64%3Alab/All/py39-pysocks-1.7.1.pkg pkg add https://pkg.net.isc.upenn.edu/FreeBSD%3A12%3Aamd64%3Alab/All/py39-urllib3-1.26.11%2C1.pkg pkg add https://pkg.net.isc.upenn.edu/FreeBSD%3A12%3Aamd64%3Alab/All/py39-yaml-5.4.1.pkg pkg add http://pkg.freebsd.org/FreeBSD:12:amd64/latest/All/netdata-1.38.1.pkg pkg add http://pkg.freebsd.org/FreeBSD:12:amd64/latest/All/netdata-go-0.53.0.pkg
fix the so.32 problem
ln -s /usr/local/lib/libprotobuf.so.31.0.1 /usr/local/lib/libprotobuf.so.32
-
Anyone got netdata working on pfsense 2.7.0 yet?
-
@KrPacMan I got it working on 2.7.2
In /usr/local/etc/pkg/repos/pfSense.conf + /usr/local/etc/pkg/repos/FreeBSD.confFreeBSD: { enabled: yes }
after that installed packages:
pkg install pkgconf bash e2fsprogs-libuuid libuv nano pkg install json-c py39-certifi py39-asn1crypto py39-pycparser py39-cffi py39-six py39-cryptography py39-idna py39-openssl py39-pysocks py39-urllib3 py39-yaml pkg install netdata
-
@ionoci said in pfSense Netdata - Verified and Working Elegantly !:
@KrPacMan I got it working on 2.7.2
In /usr/local/etc/pkg/repos/pfSense.conf + /usr/local/etc/pkg/repos/FreeBSD.confFreeBSD: { enabled: yes }
after that installed packages:
pkg install pkgconf bash e2fsprogs-libuuid libuv nano pkg install json-c py39-certifi py39-asn1crypto py39-pycparser py39-cffi py39-six py39-cryptography py39-idna py39-openssl py39-pysocks py39-urllib3 py39-yaml pkg install netdata
Thank You!
But what You are doing with “Newer FreeBSD version for package…” mismatch warning?
-
@ionoci said in pfSense Netdata - Verified and Working Elegantly !:
@KrPacMan I got it working on 2.7.2
In /usr/local/etc/pkg/repos/pfSense.conf + /usr/local/etc/pkg/repos/FreeBSD.confFreeBSD: { enabled: yes }
after that installed packages:
pkg install pkgconf bash e2fsprogs-libuuid libuv nano pkg install json-c py39-certifi py39-asn1crypto py39-pycparser py39-cffi py39-six py39-cryptography py39-idna py39-openssl py39-pysocks py39-urllib3 py39-yaml pkg install netdata
BIG thank you! I got some version mismatch during the installation but it worked anyways! I'm so very happy to get it working.