Install iStat server on Linux

You are here:
< Back

iStat server will allow remote monitoring via an iPhone.  No actions are available but it can report things like disk availability, RAM usage, CPU usage, network traffic status, and has a simple but pleasing display.  iStat can monitor Mac computers, Linux computers, and even the device itself that iStat is running on.  The app will set you back 99 cents in the Apple App Store.

The default port iStat uses to communicate to the various devices it is monitoring is TCP port 5109 .  This is configurable via the configuration file.  If you plan on monitoring devices behind a firewall, this port must be open to the devices to be monitored for successful communication with the server app.

The first thing that needs to be done is downloading the iStat server.  Create a directory for the download or go to a directory you would like to download the software.  Next download the software.  This can be done using the following command.  If for some reason you don’t have wget installed, run this command to install it.

sudo apt-get install wget

and then …

wget https://github.com/downloads/tiwilliam/istatd/istatd-[version].tar.gz

Once the download is complete, extract the contents using the following command:

tar zxvf istatd-*.tar.gz

and then when the extraction is complete, enter the istat directory to install the software

cd istatd or cd istatd-*

using will autocomplete and using a wildcard “*” will find the first directory that matches and use the name.

To begin the install issue the following commands:

./configure

if you are returned errors here, make sure you have the following installed

libxml2-dev
checkinstall

(this will install several packages, but hits all the requirements)

make
make install

Next you will want to make a user and create a directory for using istat by completing the following:

useradd istat
mkdir /var/run/istat
chown istat /var/run/istat

Now it is time to open the configuration file and modify it to match your configuration.

to accomplish this, run your favorite editor (nano is used in this example) and modify the file to match the setup you need.

nano /usr/local/etc/istat.conf

below is an example of a configuration file

#
# /etc/istat.conf: Configuration for iStat server
#
# network_addr           127.0.0.1
# network_port           5109
server_code              12345
# server_user            istat
# server_group           istat
# server_socket          /tmp/istatd.sock
# server_pid             /var/run/istat/istatd.pid
# cache_dir              /var/cache/istat
# Note: Only support for one network interface, limited by client.
monitor_net              ( eth0 )
# Array of disks to monitor. Specify mount path or device name.
# monitor_disk             ( / /home )
monitor_disk             ( / )
# Set to 1 if you want to use mount path as label instead of the device name.
disk_mount_path_label    0
# Try to probe the filesystem for disk label, will override the mount path label.
disk_filesystem_label    1
# Set custom disk label. Will override all other labels.
# disk_rename_label        /dev/sda1  ”root”
# disk_rename_label        /home      ”home”
# End of file

Each line can be modified for your specific setup.  For example, if you want to run istat server over a port other than 5901, un-comment (remove the # in the front of the line) the “network_port” line and change the number to the port number you would like to run it on.

The server_pid, server_user, and server_group should match the created user, group, and server pid location created above.

The server code should be set to something that you will remember as it will be requested of you when attempting to connect to this server for the first time.

“The Array of disks to monitor” line should use the following format

monitor_disk     ( / /home )

where / and /home are separate disks and spaces are placed between each of the locations.  Only 1 line will be read in for this option, so monitor_disk with individual disks on new lines will only show the first disk in the list.

Now, that everything is configured, save the file and start the server with the following command:

/usr/local/bin/istatd -d

where /usr/local/bin/istatd is the full path location of the executable file and the -d tells it to run in daemon mode.

Now that the server is running, grab your iphone and open the istat app, add the server by supplying the IP address or hostname and when prompted enter the server code that was set when configuring the server configuration file.

You should see a very nice layout of your server statistics on your iphone display.

To have the istat server start automatically upon reboot of the server, in Ubuntu browse to the /etc directory and with your editor of choice open the rc.local file.  Add the following line and save the file.  The istat server will now start automatically when the server is started.

cd /etc
nano rc.local
/usr/local/bin/istatd -d (same command used to start the server manually)

I took a great deal of this from the following website, so thank you for giving me a great start. It is also what I used to originally setup istat for myself. It does a great job of outlining the general idea of installation and use of the istat server with Linux, I made some small adjustments to fit better for Ubuntu Linux.

http://dreamcreative.net/2011/05/installing-istat-server-for-linux-redhat-centos-fedora/
Last Updated On October 24, 2017