iStat for Status Board
Note: this is not maintained and has been archived.
Info
This is a collection of graphs from iStat Server 2's database for Panic's Status Board app for iPad.
Usage
- Chuck this file anywhere on your server accessible by Apache (and the outside world, or just in your network)
- Add a graph in Status Board with the URI
/path/to/file/istat.php?data=xxx
Data Types:
- cpu_day: CPU usage for the last 24 hours
- cpu_hour: CPU usage for the last 60 minutes
- ram_day: RAM usage for the last 24 hours
- ram_hour: RAM usage for the last 60 minutes
- io_day Disk I/O for the last 24 hours
- disk_month: Disk usage for the last month
- load_day: CPU load for the last 24 hours
- load_hour: CPU load for the last 60 minutes
- temp_day: Temp sensors for the last 24 hours
- temp_hour : Temp sensors for the last 60 minutes
Also included is a graph modified to hide the X axis (timestamps). To do this, simple add &hideXAxis
anywhere in your query string.
CPU Graph Usage
There's an optional parameter called $cores
that you can provide to better scale the graph. By default, we assume that your machine is a dual-core machine, but you can override that using the $cores
variable. Simply add to the query string like such:
&cores=4
or &cores=8
Remember, this defaults to 2, so if your machine is dual-core, don't worry about passing $cores
as we assume dual-core.
Disk Usage Graph Usage
To monitor your disks, iStat for Status Board needs the UUID and name of each disk to monitor. These should be put into an array in a file called istat_disks.php
and stored in the same location as the rest of this code.
Example:
<?php
$monitoredDisks = array (
'1' => array (
'uuid' => 'YOUR_DISK_UUID' ,
'name' => 'Macintosh HD' ,
) ,
'2' => array (
'uuid' => 'ANOTHER_DISK_UUID' ,
'name' => 'Another Disk Tracked By iStat Server' ,
) ,
);
To get the UUID of your disk, go to Disk Utility, then select the volume and then click Info. Copy the string next to Universal Unique Identifier:. Name should be the same name as the volume, but you can call it something else if you want.
Once you've made that file, disks should then be added to the query string like so
&disks=1
or &disks=1,2
Where the number(s) are the number you assigned the disks in istat_disks.php
.
Disk I/O Graph Usage
Like disk usage, disk I/O requires a istat_disks.php
file with some information regarding your disks. In the case of monitoring disk I/O, we need the serial number of the disk, along with a name. iStat Server can currently only monitor internal disks.
Serial numbers for disks can be found in the System Information app (née System Profiler). Open System Information then click on Serial-ATA. On the right hand-side you'll see each internal HDD/SSD. Click on each applicable disk you want to monitor and the serial number will be listed below.
Once you've got the serial number for each disk, enter the details in istat_disks.php
like below:
<?php
$ioDisks = array (
'1' => array (
'uuid' => 'DISK_SERIAL_NUMBER' ,
'name' => 'BRAND_NAME_OF_DISK' ,
) ,
'2' => array (
'uuid' => 'ANOTHER_DISK_SERIAL_NUMBER' ,
'name' => 'ANOTHER_NAME_FOR_DISK' ,
) ,
);
In my Mac mini Server I have two internal disks, see below for how I have my $ioDisks array configured (note that serial numbers have been obfuscated for warranty purposes):
<?php
$ioDisks = array (
'1' => array (
'uuid' => 'OBFUSCATED' ,
'name' => 'OCZ Vertex SSD' ,
) ,
'2' => array (
'uuid' => 'OBFUSCATED' ,
'name' => 'Hitachi HDD' ,
) ,
);
Like the disk usage graph, you should add a disks
var to your query string, example below:
&disks=1
or &disks=1,2
Remember, multiple disks MUST be comma delimited with no spaces.
Temperature Sensor Graph Usage
To use the temp sensor graphs you need to provide another parameter which should have a list of sensors you'd like to get readings from the list below:
- TC0D: CPU A Temp
- TC0H: CPU A Heatsink
- TC0P: CPU A Proximity
- TA0P: Ambient Air 1
- TA1P: Ambient Air 2
- TM0S: Memory Slot 1
- TMBS: Memory Slot 2
- TM0P: Memory Slots Proximity
- TH0P: HDD Bay
- TH1P: HDD 2 Bay
- TH2P: HDD 3 Bay
- TH3P: HDD 4 Bay
- TN0D: Northbridge Diode
- TN0P: Northbridge Proximity
- TI0P: Thunderbolt Proximity 1
- TI1P: Thunderbolt Proximity 2
- F0Ac: Fan Speed (reported as actual speed / 100)
Once you've got the sensors you'd like to read, add them to the query string like below:
&temps=TC0D
or &temps=TC0D,TC0H
or &temps=TC0D,TC0H,F0Ac
Multiple temps MUST be comma delimited with no spaces, otherwise they will be ignored.
Optional Temperature Scale
You can optionally specify the desired temperature scale (Celsius or Fahrenheit). If no scale is specified, the scale will default to Celsius. Simply add to the query string like below:
&temp_unit=f
or &temp_unit=c
Alert!
This has been tested on Mac OS X 10.8.3 with the default PHP runtime environment with iStat Server 2.12