Your Favourite Pi Things

tmp423DOn the blog here we refer often to “the script” which sets up a whole raft of useful tools on SBCs such as the Raspberry Pi – and we’re always on the look out for new and improved tools. But let’s here from YOU!

So we already know from extensive development of the script, that Mosquitto is a GREAT and powerful MQTT broker, that Grafana is a fabulous graphing tool, we know that Node-Red is an incredibly easy and powerful development environment which is GREAT for IOT. We know that MC is a good command line editor and file manager and that for Alexa users, HA-Bridge can make interfacing to just about any device a snap.  Read on…

The list goes on – but read about that elsewhere on the blog if you’re interested…. the question is what tools (graphical if you like but preferably installed at the command line and where appropriate using a web interface) do YOU think are the best?

Write in the comments area below. I personally like Webmin for general admin on the Pi etc but it is WAY too big and slow to set up… haven’t found anything better personally.

Let’s hear about your favourites.

Facebooktwittergoogle_pluspinterestlinkedin

36 thoughts on “Your Favourite Pi Things

  1. While I enjoy using Pi-Hole, I am still looking for a better DHCP toolkit. A graphical one would be nice, with a way to back up the MAC to IP mapping that I set up would be sweet.
    I'm also still looking for a Pi based network monitoring tool that uses SNMP and can give me host status (up/down) and bandwidth alarming.

    Lastly, I always install Monitorix on every Pi/Linux device on the network, so recommend that one.

    1. I got all excited about installing Monitorix... following the simple instructions on the site

      root@pihd1:/home/pi> apt-get install monitorix
      Reading package lists... Done
      Building dependency tree
      Reading state information... Done
      E: Unable to locate package monitorix

      Sigh - want to save us some work?

      1. and then I tried the manual one which installed loads of libxxx stuff - but when it came to the line about Monitorix

        root@pihd1:/home/pi> dpkg -i monitorix*.deb
        dpkg: error: cannot access archive 'monitorix*.deb': No such file or directory
        root@pihd1:/home/pi>

        Not my lucky day today

        1. My 'sure fire way' of installing it;

          sudo apt-get install rrdtool perl libwww-perl libmailtools-perl libmime-lite-perl librrds-perl libdbi-perl libxml-simple-perl libhttp-server-simple-perl libconfig-general-perl libio-socket-ssl-perl

          cd /home/pi
          wget http://apt.izzysoft.de/ubuntu/dists/generic/index.php?file=monitorix_3.9.0-izzy1_all.deb

          sudo dpkg -i monitorix_3.9.0-izzy1_all.deb

          sudo nano /etc/monitorix/monitorix.conf
          [Here you tweak the host name, hit Y for Pi in the list and any other ports or services as needed].

          sudo service monitorix restart

          This walk-through has been working well for me on the past two versions of Raspbian.

          1. The current file is now 3.10.0 - but... either way - this is what came back on my desktop

            index.php?file=monitorix_3.9.0-izzy1_all.deb

            Are you SURE that's the correct line? I would have expected an actual .deb file.

            Anyway THIS worked.

            wget http://www.monitorix.org/monitorix_3.10.0-izzy1_all.deb

            Well, when I say worked - was there anything special I had to set in that config file???? because after the restart line - nothing is coming up on port 8080... also tried changing it to port 8085 and doing the restart line - nope..

                1. Yeah, that is a little odd.....
                  Perhaps change the port totally (not sure what all ports 'The Script' ends up using)... Go say 7077.
                  That is the only real change I make, the host name and title are optional.
                  Even the Raspberry Pi y/n is optional to get started.

                  1. Success - I had the host set at 127.0.0.1 - which I thought was reasonable - I changed it to the actual IP address of the Pi and voila.

                    I have all kinds of pretty coloured graphs - let me wallow in the colours for a while - I may do a short entry on this one - thanks for that - keep them coming!!

                    1. Fantastic.
                      Do play with that config file.
                      Given all the services you are running you should get some really powerful insight to what is writing to the disk, using CPU and memory.
                      I have tinkered with adding custom services as well, like adding Node-RED TCP traffic to the 'Ports' section.

                      I like that you can embed any of the graphs in an iFrame and look at them on a different web-server.

                      Lastly, leave it run, it gets really interesting at 1 week+ You see all sorts of patterns as the Pi responds to your life load.

    2. @TheBaldGeek, I'm not familiar with those tools. What are you referring to DHCP toolkit?

      My Pis and ESPs are usual client machines in my network and my master server handles the DHCP serving. I'm using dnsmasq for serving right now. I do DHCP discovery (I send DHCP changes to MQTT) but I haven't written that in Node-Red yet.

      1. I'm looking for a DHCP toolkit for the Pi command line - Just as Pete asked.
        Pi-Hole uses dnsmasq for a lot of its work, so it is not that different to what you are doing, I just want something a bit less cryptic, something with a nice web interface would be sweet.

        Most of my home network devices (around 70 of them) have fixed or assigned IP addresses, I really need something better than the command line to manage them.

  2. Also, it looks beautiful, but I cant figure out how to use the images else where (it seems to have a mode to allow this, but I could not get it working after an hour of working on it).

    https://github.com/firehol/netdata

    cd /home/pi
    sudo apt-get update

    curl -Ss 'https://raw.githubusercontent.com/firehol/netdata-demo-site/master/install-required-packages.sh' >/tmp/kickstart.sh && bash /tmp/kickstart.sh netdata-all

    git clone https://github.com/firehol/netdata.git --depth=1

    cd netdata
    sudo ./netdata-installer.sh
    http://192.168.1.54:19999/

    1. Hi

      I've nowhere near enough time to trawl through installing that lot 🙂

      If someone wants to make suggestions as to web-interface-based versions that look good and perform well compared to Webmin....

  3. Two of the first things I do is to install Scite and Synaptic. Yes I still like the GUI for some installations/removals. Scite I find much better that Leaf.

    The odd time I will dump Libre Office. Too much and too cumbersome (slow)

  4. The thing I love most on one of my pi's is NCID, that was the main reason I started using a Pi, monitors my phone 24/7 and stops all the "cold calls". A quiet home and I can use the phone for what it should be used for.

    1. And if anyone with a soldering iron wants to take THAT subject any further - it seems there is a handy DIRT CHEAP chip for the job of called ID called an HT9032 which costs marginally over £1 and gives out serial data including called ID number.... the only problem so far is I cannot find anyone doing a suitably cheap BOARD to go with it - there is one - but it's about 20x the cost of the chip... surprising considering how little support it needs. Seems to me that one nice little project might be a WEMOS board (again dirt cheap hooked to that chip, sending the caller ID information via MQTT - to - well, anything - a PI which might be doing all sorts of other things - but which could then for example - via Node-Red alert incoming calls by message, Telegram, email, display on a Pi etc etc....

  5. The Pi for NCID (was a zero) now a Pi3, uses a modem for the phone pick-up, number is displayed on PC/Laptop/Mobilephone (and with speach if required).
    Pi3 is also used for Node-red home automation, weather station monitoring and solar monitoring just to keep it busy.

    1. Yes, what I found on my brief look at this is that the modem is overkill - though if you have one of course - that's fine - but in fact it looks like you only need a couple of ££ worth of components to get the signal into the Pi... just a case of finding a PCB really. Someone will come up with it...

  6. Things not mentioned here so far:

    - Telegraf - low overhead metrics integration. Easily capture system metrics and more, output to many different systems including db's, enterprise log aggregation, charting, etc.

    - Glances - Python based "top". Much easier to use than top/atop/htop. Shows you what is happening on the Pi.

    - byobu - for extended terminal sessions when you need reconnections and multiple terminals.

    - Ansible - installation and maintenance automation.

      1. You might also like to note that telegraf directly supports metrics from MQTT and can even do things like get data from GitHub, snmp, databases, puppet, Phusion Passenger.

        I use virtually none of that at present:

        # Monitor process cpu and memory usage
        [[inputs.procstat]]
        exe = "mosquitto"
        ## Field name prefix
        prefix = ""
        ## comment this out if you want raw cpu_time stats
        fielddrop = ["cpu_time_*"]

        # Ping given url(s) and return statistics
        [[inputs.ping]]
        urls = ["www.google.com"] # required
        count = 1 # required
        ping_interval = 0.0
        timeout = 0.0
        interface = ""

        # TCP or UDP 'ping' given url and collect response time in seconds
        [[inputs.net_response]]
        protocol = "tcp"
        address = "github.com:80"
        timeout = 1.0
        read_timeout = 1.0

        # Query given DNS server and gives statistics
        [[inputs.dns_query]]
        servers = ["208.67.222.222","8.8.8.8"] # required
        domains = ["."] # optional
        record_type = "A" # optional
        port = 53 # optional
        timeout = 2 # optional

        # Get kernel statistics from /proc/stat
        [[inputs.kernel]]
        # no configuration

        # Read metrics about memory usage
        [[inputs.mem]]
        # no configuration

        # Get the number of processes and group them by status
        [[inputs.processes]]
        # no configuration

        # Read metrics about swap memory usage
        [[inputs.swap]]
        # no configuration

        # Read metrics about system load & uptime
        [[inputs.system]]
        # no configuration

        # Read metrics about cpu usage
        [[inputs.cpu]]
        ## Whether to report per-cpu stats or not
        percpu = true
        ## Whether to report total system cpu stats or not
        totalcpu = true
        ## Comment this line if you want the raw CPU time metrics
        fielddrop = ["time_*"]

        # Read metrics about disk usage by mount point
        [[inputs.disk]]
        ## By default, telegraf gather stats for all mountpoints.
        ## Setting mountpoints will restrict the stats to the specified mountpoints.
        # mount_points = ["/"]

        ## Ignore some mountpoints by filesystem type. For example (dev)tmpfs (usually
        ## present on /run, /var/run, /dev/shm or /dev).
        ignore_fs = ["tmpfs", "devtmpfs"]

        # Read metrics about disk IO by device
        [[inputs.diskio]]
        ## By default, telegraf will gather stats for all devices including
        ## disk partitions.
        ## Setting devices will restrict the stats to the specified devices.
        # devices = ["sda", "sdb"]
        ## Uncomment the following line if you do not need disk serial numbers.
        # skip_serial_number = true

Leave a Reply

Your email address will not be published. Required fields are marked *