You can send status messages from a Big Brother client to the BBDISPLAY servers. Here is a sample status message:
status www,bb4,com.disk
red Wed Mar 7
21:16:33 EST 2001 Disk partitions on www.bb4.com OK
/dev/wd0s1a
496053
25081
431288
5%
/
/dev/wd0s4e
1998122
1094955
743318
60%
/home
/dev/wd0s2e
1489830
1094928
275716
80%
/usr
The format for the message is:
status hostname.test color data.
If you want the status message to be valid for a time other than the default (as set by the PURPLEDELAY statement in bbdef-server.sh), follow status with a plus sign and the number of minutes the status should be considered valid. This is how long it will be before the status for this test will go purple if no new status is received. For example:
status+1560 www,bb4,com.backup green Wed Mar 24 Backup Successful
This status will be valid for 1560 minutes (26 hours).
The hostname can be fully qualified or not:
www,bb4,com.disk, or www.disk
The hostname is followed by a period (.) and the name of the test this status message is for. This determines the column name on the Big Brother display. In the sample above, the test name is disk.
The color can be red, green, yellow, purple, clear, or blue.
The data can be any text, of any length. The text is displayed if you click the status dot for this test. The first line usually includes the date and a summary while the rest of the text is a more detailed status.
Note. Commas ( , ) replace periods ( . ) in the hostname for historical reasons (early versions did not have fully-qualified domain name support so that www.disk was accepted). You can also use periods as hostname delimiters: for example, www.bb4.com.disk.
The status message can be also be sent within a combo message. You should only send green status through a combo message.
By default, Big Brother removes the following characters from an incoming status log: ` $ ; | & \ It replaces these characters with underscores (_). You can allow some or all of these characters, or disallow others.
To allow all characters in the status message, insert DONTCLEANSTRING in the RUNOPTS parameter in bbdef-server.sh. Doing this is considered a security concern.
To change the characters which are not allowed, do not insert DONTCLEANSTRING. Instead change the CLEANCHARS value in bbdef-server.sh. List all characters you want replaced with underscores. You can also add or remove EMBEDHTML from the RUNOPTS parameter to either pass through < and > or replace them with < and >.
You can specify performance/trending data in your own external scripts. You define the data based on the format below. You aappend this structure to the status log:
<?xml version=\"1.0\" ?>
<bbperfdata>
<form> 4.20 </form>
<comm>
<hname>…</hname>
<loc>…</loc>
<sname>…</sname>
<logcol>…</logcol>
</comm>
<inst>
<iname>…</iname>
<icol>…</icol>
<obj>
<iobj>…</iobj>
<val>…</val>
</obj>
<obj>
<iobj>…</iobj>
<val>…</val>
</obj>
…
</inst>
<inst>
<iname>…</iname>
<icol>…</icol>
<obj>
<iobj>…</iobj>
<val>…</val>
</obj>
<obj>
<iobj>…</iobj>
<val>…</val>
</obj>
…
</inst>
…
</bbperfdata>
</xml>
hname: hostname
loc: location
sname: service name
logcol: status log color
iname: instance name
icol: instance color
iobj: instance object name
val: instance object value (numeric only)
for example. some.domain.cpu returns load average data
hname: some.domain
loc:
sname: cpu
logcolor: red
iname: loadavg
iobj: min1
iobj: min5
iobj:min15
Think of thecombination of an instance and instance object names as a matrix. The instance name is the row and the instance object is the columns. A good example is the disk information. A row is a drive (or a filesystem in Unix) while the columns are the values for %used, %free, disk space used, disk space free, etc...
For example:
<xml>
<?xml version="1.0" ?>
<bbperfdata>
<form> 4.20 </form>
<comm>
<hname>
kan012453.prod.quest.corp</hname>
<loc>
</loc>
<sname>
disk</sname>
<logcol>
red</logcol>
</comm>
<inst>
<iname> C </iname>
<icol>
red</icol>
<obj>
<iobj>
used</iobj>
<val>
72744104</val>
</obj>
<obj>
<iobj>
%used</iobj>
<val>
62</val>
</obj>
</inst>
</bbperfdata>
</xml>