How to configure CheesePi monitoring


Configuration is split into two files, cheesepi.conf and schedule.dat. The first handles general systemic configuration options, e.g. whether to automatically update the system, which wifi device to use. The second handles which measurement tasks should actually be scheduled and performed.

The location of both files can be found by issuing the command:

$ sudo cheesepi status
Status of CheesePi install (version 2.X):
Install dir: /usr/local/lib/python2.7/dist-packages/cheesepi
Log file: /root/.cheesepi.log
Config file: /usr/local/lib/python2.7/dist-packages/cheesepi/cheesepi.conf
Schedule file: /usr/local/lib/python2.7/dist-packages/cheesepi/schedule.dat

The above output shows a rather standard global installation setup.


Configure CheesePi – cheesepi.conf

The configuration file format is rather simple, key value pairs of strings are
set with the format:

key = value

Lines can be commented out with a #.


Configure measurement – schedule.dat

The schedule file format is a list of JSON strings. Each JSON object represents a measurement task, the only required field is taskname, all others are option parameters to the task. Lines can be commented out with a #. The included measurements tasks defined so far are:

  • ping
  • httping
  • traceroute
  • DNS
  • Speedtest
  • YouTube

Each task to be performed can be specified in schedule.dat with a JSON line such as the following:

{"taskname": "ping", "period": 900, "offset":0,  "landmark": ""}

Which will perform a ping to every 900 seconds. The offset is used so that tasks do no necessarily begin at the same time.


Configure dashboard

The CheesePi dashboard can be configured, further details can be found in the Grafana documentation. To enable the status display of your Wifi Access Point you should edit the panel called My Access Point and change the ESSID where clause in the Metrics tab to reflect your personal access point’s ESSID.