From 3b8a155589443ecf3012805a316421fcbd08c9ae Mon Sep 17 00:00:00 2001 From: euer Date: Sun, 23 Dec 2012 00:37:17 +0100 Subject: //oncology -> //god --- god/oncology/Makefile | 23 ++ god/oncology/lcd4linux.conf | 572 ++++++++++++++++++++++++++++++++++++++++++++ oncology/Makefile | 23 -- oncology/lcd4linux.conf | 572 -------------------------------------------- 4 files changed, 595 insertions(+), 595 deletions(-) create mode 100644 god/oncology/Makefile create mode 100644 god/oncology/lcd4linux.conf delete mode 100644 oncology/Makefile delete mode 100644 oncology/lcd4linux.conf diff --git a/god/oncology/Makefile b/god/oncology/Makefile new file mode 100644 index 00000000..05d5c422 --- /dev/null +++ b/god/oncology/Makefile @@ -0,0 +1,23 @@ +build-deps: + #punani -Ei libtool automake autoconf zlib1g-dev libssl-dev python-dev libc6 libusb-dev libibus-dev subversion libgd2-noxpm-dev libgd2-noxpm lcd4linux + +/usr/bin/lcd4linux: build-deps + #punani -Ei lcd4linux + sed -i 's/usr\/sbin\/lcd4linux/usr\/bin\/lcd4linux/g' /etc/init.d/lcd4linux + dpfhack_display/build-dpf-lcd4linux.sh + make -C dpfhack_display/lcd4linux/ install + +lcd4linux_autostart: + # service lcd4linux start + # update-rc.d lcd4linux + +install: /usr/bin/lcd4linux /etc/lcd4linux.conf lcd4linux_autostart + # TODO this is debian only + +update: /etc/lcd4linux.conf + service lcd4linux force-reload + +/etc/lcd4linux.conf: lcd4linux.conf + chown krebs:krebs lcd4linux.conf + chmod 600 lcd4linux.conf + cp -a lcd4linux.conf /etc/lcd4linux.conf diff --git a/god/oncology/lcd4linux.conf b/god/oncology/lcd4linux.conf new file mode 100644 index 00000000..be16629d --- /dev/null +++ b/god/oncology/lcd4linux.conf @@ -0,0 +1,572 @@ +Layout 'Krebs' +Display 'DPF' + +Variables { + # Ticks: + second 1000 + minute 60 * second + + # Standard Dimensions: + linesize 53 # max line length, for status lines etc. + width100 51 # full width after padding (border) + width050 24 # 1/2 of full width + width033 17 # 1/3 of full width + width025 12 # 1/4 of full width + width010 5 # 1/10 of full width + + # Colors: + # ToDo: Alphakanal ausnutzen + black '000000' + white 'ffffff' + red 'ff0000' + darkblue '000066' + lightgray 'b2b2b2' + darkgray '191919' + barcolor0 '5f5fff' + barcolor1 'ff5f5c' + + # To be set later by timers: + FileMsg 'Dummy' +} + +Display dpf { + Driver 'DPF' + Port 'usb0' + Font '6x8' + Foreground white + Background darkblue + Basecolor darkblue +} + +Widget System { + class 'Text' + expression '*** ' . uname('nodename') . ' '. netinfo::ipaddr('eth0') . ' ***' + width linesize + align 'C' + update 0 + Background lightgray + Foreground darkgray +} + +Widget Time { + class 'Text' + expression strftime('%a, %d.%m.%Y %H:%M:%S', time()) . ' Up: ' . uptime('%d days %H:%M:%S') + width linesize + align 'C' + update 1 * second + Background lightgray + Foreground darkgray +} + +Widget Busy { + class 'Text' + expression proc_stat::cpu('busy', 0.5 * second) + prefix 'Busy' + postfix '%' + width width050 + precision 1 + align 'R' + update 0.5 * second +} + +Widget BusyBar { + class 'Bar' + expression proc_stat::cpu('busy', 0.5 * second) + expression2 proc_stat::cpu('system', 0.5 * second) + length width050 + direction 'E' + update 0.5 * second + Background darkgray + BarColor0 barcolor0 + BarColor1 barcolor1 +} + +Widget Load { + class 'Text' + expression loadavg(1) + prefix 'Load' + postfix loadavg(1) > 1.0 ? '!' : ' ' + width width050 + precision 1 + align 'R' + update 0.5 * second +# Foreground loadavg(1) > 1.0 ? red : white +} + +Widget LoadBar { + class 'Bar' + expression loadavg(1) + max 4.0 + length width050 + direction 'E' + update 0.5 * second + Background darkgray + BarColor0 barcolor0 + BarColor1 barcolor1 +} + +Widget Disk { + class 'Text' + # disk.[rw]blk return blocks, we assume a blocksize of 512 + # to get the number in kB/s we would do blk*512/1024, which is blk/2 + # expression (proc_stat::disk('.*', 'rblk', 0.5 * second)+proc_stat::disk('.*', 'wblk', 0.5 * second))/2 + # with kernel 2.6, disk_io disappeared from /proc/stat but moved to /proc/diskstat + # therefore you have to use another function called 'diskstats': + expression (diskstats('sd[a-z]$', 'read_sectors', 0.5 * second) + diskstats('sd[a-z]$', 'write_sectors', 0.5 * second)) / 2 / 1024 + prefix 'Disk' + postfix ' MB/s' + width width050 + precision 1 + align 'R' + update 0.5 * second +} + +Widget DiskBar { + class 'Bar' + #expression proc_stat::disk('.*', 'rblk', 0.5 * second) + #expression2 proc_stat::disk('.*', 'wblk', 0.5 * second) + # for kernel 2.6: + expression diskstats('sd[a-z]$', 'read_sectors', 0.5 * second) / 2 / 1024 + expression2 diskstats('sd[a-z]$', 'write_sectors', 0.5 * second) / 2 / 1024 + length width050 + direction 'E' + update 0.5 * second + Background darkgray + BarColor0 barcolor0 + BarColor1 barcolor1 +} + +Widget Eth0 { + class 'Text' + expression (netdev('eth0', 'Rx_bytes', 0.5 * second) + netdev('eth0', 'Tx_bytes', 0.5 * second)) / 1024 + prefix 'eth0' + postfix ' KB/s' + width width050 + precision 1 + align 'R' + update 0.5 * second +} + +Widget Eth0Bar { + class 'Bar' + expression netdev('eth0', 'Rx_bytes', 0.5 * second) / 1024 + expression2 netdev('eth0', 'Tx_bytes', 0.5 * second) / 1024 + length width050 + direction 'E' + update 0.5 * second + Background darkgray + BarColor0 barcolor0 + BarColor1 barcolor1 +} + +Widget Eth0Traffic { + class 'Text' + expression (netdev('eth0', 'Rx_bytes', 0)+netdev('eth0', 'Tx_bytes', 0))/1024/1024/1024 + prefix 'Traffic:' + postfix ' GB' + width 21 + precision 3 + align 'R' + update 10 * second +} + +Widget MemoryTitle { + class 'Text' + expression 'Memory/Swap' + width width050 + align 'L' + update 0 +} + +Widget MemoryTotal { + class 'Text' + expression meminfo('MemTotal') / 1024 + prefix 'Memory Total ' + postfix ' MB' + width width050 + precision 0 + align 'R' + update 0 +} + +Widget MemoryFree { + class 'Text' + expression (meminfo('MemFree') + meminfo('Cached')) / 1024 + prefix 'Memory Free ' + postfix ' MB' + width width050 + precision 0 + align 'R' + update 1 * second +} + +Widget MemorySwappedTotal { + class 'Text' + expression (meminfo('SwapTotal')) / 1024 + prefix 'Swap Total ' + postfix ' MB' + width width050 + precision 0 + align 'R' + update 1 * second +} + +Widget MemorySwappedFree { + class 'Text' + expression (meminfo('SwapTotal') - meminfo('SwapUsed')) / 1024 + prefix 'Swap Free'' + postfix ' MB' + width width050 + precision 0 + align 'R' + update 1 * second +} + +Widget MemorySwappedUsed { + class 'Text' + expression (meminfo('SwapTotal') - meminfo('SwapFree')) / 1024 + prefix 'Swap Used ' + postfix ' MB' + width width050 + precision 0 + align 'R' + update 1 * second +} + +Widget LoggedInTitle { + class 'Text' + expression 'Hosts in Krebs Darknet' + width width050 + align 'L' + update 0 +} + +Widget LoggedIn { + class 'Text' + expression exec('/krebs/oncology/bin/krebshostup') + width width050 + align 'L' + update 300 * second +} + +Widget FSSpaceTitle { + class 'Text' + expression 'Disk Space available' + width width050 + align 'L' + update 0 +} + +Widget FSSpace1 { + class 'Text' + expression statfs('/', 'bavail') * statfs('/', 'bsize') / 1024 / 1024 / 1024 + prefix '/ (Root FS)' + postfix ' GB' + width width050 + precision 2 + align 'R' + update 10 * second +} + +Widget HDDTempTitle { + class 'Text' + expression 'Disk Temperature°C' + width width050 + align 'L' + update 0 +} + +Widget HDDTemp1 { + class 'Text' + expression hddtemp('/dev/sda') + width width010 + precision 1 + align 'R' + update 10 * second +} + +Widget HDDTemp2 { + class 'Text' + expression hddtemp('/dev/sdb') + width width010 + precision 1 + align 'R' + update 10 * second +} + +Widget HDDTemp3 { + class 'Text' + expression hddtemp('/dev/sdc') + width width010 + precision 1 + align 'R' + update 10 * second +} + +Widget ServicesTitle { + class 'Text' + expression 'Services' + width width100 + align 'C' + Background lightgray + Foreground darkgray +} + +Widget ApacheStatus { + class 'Text' + expression 'Apache ' + width width050 + postfix strstr(exec('/etc/init.d/apache2 status', 10 * second), 'running') > 0 ? 'up' : 'down!' + update 10 * second +} + +Widget BindDNSStatus { + class 'Text' + expression 'Bind DNS ' + width width050 + postfix strstr(exec('/etc/init.d/bind9 status', 10 * second), 'running') > 0 ? 'up' : 'down!' + update 10 * second +} + +Widget MuninStatus { + class 'Text' + expression 'Monitoring ' + width width050 + postfix strstr(exec('/etc/init.d/munin-node status', 10 * second), 'running') > 0 ? 'up' : 'down!' + update 10 * second +} + +Widget MiniDLNAStatus { + class 'Text' + expression 'MiniDLNA ' + width width050 + postfix strstr(exec('/etc/init.d/minidlna status', 10 * second), 'running') > 0 ? 'up' : 'down!' + update 10 * second +} + +Widget MySQLStatus { + class 'Text' + expression 'MySQL ' + width width050 + postfix strstr(exec('/sbin/status mysql', 10 * second), 'running') > 0 ? 'up' : 'down!' + update 10 * second +} + +Widget MythTVStatus { + class 'Text' + expression 'MythTV Backend ' + width width050 + postfix strstr(exec('/sbin/status mythtv-backend', 10 * second), 'running') > 0 ? 'up' : 'down!' + update 10 * second +} + +Widget PostfixStatus { + class 'Text' + expression 'Postfix ' + width width050 + postfix strstr(exec('/etc/init.d/postfix status', 10 * second), 'not running') > 0 ? 'down!' : 'up' + update 10 * second +} + +Widget ProFTPStatus { + class 'Text' + expression 'ProFTP ' + width width050 + postfix strstr(exec('/etc/init.d/proftpd status', 10 * second), 'not running') > 0 ? 'down!' : 'up' + update 10 * second +} + +Widget SambaStatus { + class 'Text' + expression 'Samba ' + width width050 + postfix strstr(exec('/sbin/status smbd', 10 * second), 'running') > 0 ? 'up' : 'down!' + update 10 * second +} + +Widget SambaStatusDS { + class 'Text' + expression 'Samba ' + width width050 + postfix strstr(exec('/etc/init.d/samba status', 10 * second), 'running') > 0 ? 'up' : 'down!' + update 10 * second +} + +Widget SSHStatus { + class 'Text' + expression 'SSH ' + width width050 + postfix strstr(exec('/sbin/status ssh', 10 * second), 'running') > 0 ? 'up' : 'down!' + update 10 * second +} + +Widget SSHStatusDS { + class 'Text' + expression 'SSH ' + width width050 + postfix strstr(exec('/etc/init.d/ssh status', 10 * second), 'running') > 0 ? 'up' : 'down!' + update 10 * second +} + +Widget SWRAIDStatus { + class 'Text' + expression 'SW RAID ' + width width050 + postfix strstr(exec('cat /proc/mdstat', 10 * second), '[UUU]') > 0 ? 'up' : 'attention!' + update 10 * second +} + +Widget TwonkyStatus { + class 'Text' + expression 'Twonkymedia ' + width width050 + postfix strstr(exec('/sbin/status twonkymedia', 10 * second), 'running') > 0 ? 'up' : 'down!' + update 10 * second +} + +Widget FileTitle { + class 'Text' + expression 'Syslog' + width width100 + align 'C' + Background lightgray + Foreground darkgray +} + +Widget SetFileMsg { + class 'Timer' + expression FileMsg = exec('tail -n 1 /var/log/syslog', 2 * second) + active 1 + update 2 * second +} + +Widget File1 { + class 'Text' + expression substr(FileMsg, 0 * width100, width100) + width width100 + align 'L' + Background darkgray + update 2 * second +} + +Widget File2 { + class 'Text' + expression substr(FileMsg, 1 * width100, width100) + width width100 + align 'L' + Background darkgray + update 2 * second +} + +Widget File3 { + class 'Text' + expression substr(FileMsg, 2 * width100, width100) + width width100 + align 'L' + Background darkgray + update 2 * second +} + +Widget Weather1 { + class 'Text' + expression exec('/krebs/kachelmann/wetter', 10 * second) + prefix 'Wetter:' + width width100 + align 'L' + Background darkgray + update 10 * second +} +Widget Bitcoin { + class 'Text' + expression exec('/krebs/btc/mtgox/ticker_text.sh', 10 * second) + prefix 'BTC: ' + width width100 + align 'L' + Background darkgray + update 30 * second +} + +Widget Stream { + class 'Text' + expression exec('/krebs/streams/streams status', 10 * second) + #prefix 'Stream:' + width width100 + align 'L' + Background darkgray + update 10 * second +} + +Widget Debug { + class 'Text' + expression 'Serverdisplay - Krebs' + width linesize + align 'C' + Foreground lightgray +} + +Widget na { + class 'Text' + expression 'n/a' + width 3 + align 'L' +} + +Widget Bgnd { + class 'Image' + file '/krebs/cholerab/bling/krebs-v2_320x240.png' + reload 0 + update 0 + inverted 0 + visible 1 +} + +Layout Krebs { + Row01.Col01 'System' + Row02.Col01 'Time' + Row04.Col02 'Busy' + Row05.Col02 'BusyBar' + Row07.Col02 'Load' + Row08.Col02 'LoadBar' + Row10.Col02 'Disk' + Row11.Col02 'DiskBar' + Row13.Col02 'Eth0' + Row14.Col02 'Eth0Bar' + Row15.Col02 'Eth0Traffic' + + Row04.Col28 'MemoryTitle' + Row05.Col29 'MemoryTotal' + Row06.Col29 'MemoryFree' + Row07.Col29 'MemorySwappedTotal' + Row08.Col29 'MemorySwappedUsed' + Row10.Col28 'LoggedInTitle' + Row11.Col29 'LoggedIn' + Row13.Col28 'FSSpaceTitle' + Row14.Col29 'FSSpace1' + + Row17.Col02 'ServicesTitle' + #Row18.Col02 'BindDNSStatus' + #Row19.Col02 'MuninStatus' + Row18.Col02 'ApacheStatus' + #Row21.Col02 'MiniDLNAStatus' + #Row18.Col29 'PostfixStatus' + #Row19.Col29 'ProFTPStatus' + #Row20.Col29 'SambaStatusDS' + Row18.Col29 'SSHStatusDS' + + Row19.Col02 'Weather1' + Row21.Col02 'Bitcoin' + Row23.Col02 'Stream' + + Row25.Col02 'FileTitle' + Row26.Col02 'File1' + Row27.Col02 'File2' + Row28.Col02 'File3' + + Row30.Col01 'Debug' + + Timer1 'SetFileMsg' + + Layer 2 { + X1.Y1 'Bgnd' + } +} diff --git a/oncology/Makefile b/oncology/Makefile deleted file mode 100644 index 05d5c422..00000000 --- a/oncology/Makefile +++ /dev/null @@ -1,23 +0,0 @@ -build-deps: - #punani -Ei libtool automake autoconf zlib1g-dev libssl-dev python-dev libc6 libusb-dev libibus-dev subversion libgd2-noxpm-dev libgd2-noxpm lcd4linux - -/usr/bin/lcd4linux: build-deps - #punani -Ei lcd4linux - sed -i 's/usr\/sbin\/lcd4linux/usr\/bin\/lcd4linux/g' /etc/init.d/lcd4linux - dpfhack_display/build-dpf-lcd4linux.sh - make -C dpfhack_display/lcd4linux/ install - -lcd4linux_autostart: - # service lcd4linux start - # update-rc.d lcd4linux - -install: /usr/bin/lcd4linux /etc/lcd4linux.conf lcd4linux_autostart - # TODO this is debian only - -update: /etc/lcd4linux.conf - service lcd4linux force-reload - -/etc/lcd4linux.conf: lcd4linux.conf - chown krebs:krebs lcd4linux.conf - chmod 600 lcd4linux.conf - cp -a lcd4linux.conf /etc/lcd4linux.conf diff --git a/oncology/lcd4linux.conf b/oncology/lcd4linux.conf deleted file mode 100644 index be16629d..00000000 --- a/oncology/lcd4linux.conf +++ /dev/null @@ -1,572 +0,0 @@ -Layout 'Krebs' -Display 'DPF' - -Variables { - # Ticks: - second 1000 - minute 60 * second - - # Standard Dimensions: - linesize 53 # max line length, for status lines etc. - width100 51 # full width after padding (border) - width050 24 # 1/2 of full width - width033 17 # 1/3 of full width - width025 12 # 1/4 of full width - width010 5 # 1/10 of full width - - # Colors: - # ToDo: Alphakanal ausnutzen - black '000000' - white 'ffffff' - red 'ff0000' - darkblue '000066' - lightgray 'b2b2b2' - darkgray '191919' - barcolor0 '5f5fff' - barcolor1 'ff5f5c' - - # To be set later by timers: - FileMsg 'Dummy' -} - -Display dpf { - Driver 'DPF' - Port 'usb0' - Font '6x8' - Foreground white - Background darkblue - Basecolor darkblue -} - -Widget System { - class 'Text' - expression '*** ' . uname('nodename') . ' '. netinfo::ipaddr('eth0') . ' ***' - width linesize - align 'C' - update 0 - Background lightgray - Foreground darkgray -} - -Widget Time { - class 'Text' - expression strftime('%a, %d.%m.%Y %H:%M:%S', time()) . ' Up: ' . uptime('%d days %H:%M:%S') - width linesize - align 'C' - update 1 * second - Background lightgray - Foreground darkgray -} - -Widget Busy { - class 'Text' - expression proc_stat::cpu('busy', 0.5 * second) - prefix 'Busy' - postfix '%' - width width050 - precision 1 - align 'R' - update 0.5 * second -} - -Widget BusyBar { - class 'Bar' - expression proc_stat::cpu('busy', 0.5 * second) - expression2 proc_stat::cpu('system', 0.5 * second) - length width050 - direction 'E' - update 0.5 * second - Background darkgray - BarColor0 barcolor0 - BarColor1 barcolor1 -} - -Widget Load { - class 'Text' - expression loadavg(1) - prefix 'Load' - postfix loadavg(1) > 1.0 ? '!' : ' ' - width width050 - precision 1 - align 'R' - update 0.5 * second -# Foreground loadavg(1) > 1.0 ? red : white -} - -Widget LoadBar { - class 'Bar' - expression loadavg(1) - max 4.0 - length width050 - direction 'E' - update 0.5 * second - Background darkgray - BarColor0 barcolor0 - BarColor1 barcolor1 -} - -Widget Disk { - class 'Text' - # disk.[rw]blk return blocks, we assume a blocksize of 512 - # to get the number in kB/s we would do blk*512/1024, which is blk/2 - # expression (proc_stat::disk('.*', 'rblk', 0.5 * second)+proc_stat::disk('.*', 'wblk', 0.5 * second))/2 - # with kernel 2.6, disk_io disappeared from /proc/stat but moved to /proc/diskstat - # therefore you have to use another function called 'diskstats': - expression (diskstats('sd[a-z]$', 'read_sectors', 0.5 * second) + diskstats('sd[a-z]$', 'write_sectors', 0.5 * second)) / 2 / 1024 - prefix 'Disk' - postfix ' MB/s' - width width050 - precision 1 - align 'R' - update 0.5 * second -} - -Widget DiskBar { - class 'Bar' - #expression proc_stat::disk('.*', 'rblk', 0.5 * second) - #expression2 proc_stat::disk('.*', 'wblk', 0.5 * second) - # for kernel 2.6: - expression diskstats('sd[a-z]$', 'read_sectors', 0.5 * second) / 2 / 1024 - expression2 diskstats('sd[a-z]$', 'write_sectors', 0.5 * second) / 2 / 1024 - length width050 - direction 'E' - update 0.5 * second - Background darkgray - BarColor0 barcolor0 - BarColor1 barcolor1 -} - -Widget Eth0 { - class 'Text' - expression (netdev('eth0', 'Rx_bytes', 0.5 * second) + netdev('eth0', 'Tx_bytes', 0.5 * second)) / 1024 - prefix 'eth0' - postfix ' KB/s' - width width050 - precision 1 - align 'R' - update 0.5 * second -} - -Widget Eth0Bar { - class 'Bar' - expression netdev('eth0', 'Rx_bytes', 0.5 * second) / 1024 - expression2 netdev('eth0', 'Tx_bytes', 0.5 * second) / 1024 - length width050 - direction 'E' - update 0.5 * second - Background darkgray - BarColor0 barcolor0 - BarColor1 barcolor1 -} - -Widget Eth0Traffic { - class 'Text' - expression (netdev('eth0', 'Rx_bytes', 0)+netdev('eth0', 'Tx_bytes', 0))/1024/1024/1024 - prefix 'Traffic:' - postfix ' GB' - width 21 - precision 3 - align 'R' - update 10 * second -} - -Widget MemoryTitle { - class 'Text' - expression 'Memory/Swap' - width width050 - align 'L' - update 0 -} - -Widget MemoryTotal { - class 'Text' - expression meminfo('MemTotal') / 1024 - prefix 'Memory Total ' - postfix ' MB' - width width050 - precision 0 - align 'R' - update 0 -} - -Widget MemoryFree { - class 'Text' - expression (meminfo('MemFree') + meminfo('Cached')) / 1024 - prefix 'Memory Free ' - postfix ' MB' - width width050 - precision 0 - align 'R' - update 1 * second -} - -Widget MemorySwappedTotal { - class 'Text' - expression (meminfo('SwapTotal')) / 1024 - prefix 'Swap Total ' - postfix ' MB' - width width050 - precision 0 - align 'R' - update 1 * second -} - -Widget MemorySwappedFree { - class 'Text' - expression (meminfo('SwapTotal') - meminfo('SwapUsed')) / 1024 - prefix 'Swap Free'' - postfix ' MB' - width width050 - precision 0 - align 'R' - update 1 * second -} - -Widget MemorySwappedUsed { - class 'Text' - expression (meminfo('SwapTotal') - meminfo('SwapFree')) / 1024 - prefix 'Swap Used ' - postfix ' MB' - width width050 - precision 0 - align 'R' - update 1 * second -} - -Widget LoggedInTitle { - class 'Text' - expression 'Hosts in Krebs Darknet' - width width050 - align 'L' - update 0 -} - -Widget LoggedIn { - class 'Text' - expression exec('/krebs/oncology/bin/krebshostup') - width width050 - align 'L' - update 300 * second -} - -Widget FSSpaceTitle { - class 'Text' - expression 'Disk Space available' - width width050 - align 'L' - update 0 -} - -Widget FSSpace1 { - class 'Text' - expression statfs('/', 'bavail') * statfs('/', 'bsize') / 1024 / 1024 / 1024 - prefix '/ (Root FS)' - postfix ' GB' - width width050 - precision 2 - align 'R' - update 10 * second -} - -Widget HDDTempTitle { - class 'Text' - expression 'Disk Temperature°C' - width width050 - align 'L' - update 0 -} - -Widget HDDTemp1 { - class 'Text' - expression hddtemp('/dev/sda') - width width010 - precision 1 - align 'R' - update 10 * second -} - -Widget HDDTemp2 { - class 'Text' - expression hddtemp('/dev/sdb') - width width010 - precision 1 - align 'R' - update 10 * second -} - -Widget HDDTemp3 { - class 'Text' - expression hddtemp('/dev/sdc') - width width010 - precision 1 - align 'R' - update 10 * second -} - -Widget ServicesTitle { - class 'Text' - expression 'Services' - width width100 - align 'C' - Background lightgray - Foreground darkgray -} - -Widget ApacheStatus { - class 'Text' - expression 'Apache ' - width width050 - postfix strstr(exec('/etc/init.d/apache2 status', 10 * second), 'running') > 0 ? 'up' : 'down!' - update 10 * second -} - -Widget BindDNSStatus { - class 'Text' - expression 'Bind DNS ' - width width050 - postfix strstr(exec('/etc/init.d/bind9 status', 10 * second), 'running') > 0 ? 'up' : 'down!' - update 10 * second -} - -Widget MuninStatus { - class 'Text' - expression 'Monitoring ' - width width050 - postfix strstr(exec('/etc/init.d/munin-node status', 10 * second), 'running') > 0 ? 'up' : 'down!' - update 10 * second -} - -Widget MiniDLNAStatus { - class 'Text' - expression 'MiniDLNA ' - width width050 - postfix strstr(exec('/etc/init.d/minidlna status', 10 * second), 'running') > 0 ? 'up' : 'down!' - update 10 * second -} - -Widget MySQLStatus { - class 'Text' - expression 'MySQL ' - width width050 - postfix strstr(exec('/sbin/status mysql', 10 * second), 'running') > 0 ? 'up' : 'down!' - update 10 * second -} - -Widget MythTVStatus { - class 'Text' - expression 'MythTV Backend ' - width width050 - postfix strstr(exec('/sbin/status mythtv-backend', 10 * second), 'running') > 0 ? 'up' : 'down!' - update 10 * second -} - -Widget PostfixStatus { - class 'Text' - expression 'Postfix ' - width width050 - postfix strstr(exec('/etc/init.d/postfix status', 10 * second), 'not running') > 0 ? 'down!' : 'up' - update 10 * second -} - -Widget ProFTPStatus { - class 'Text' - expression 'ProFTP ' - width width050 - postfix strstr(exec('/etc/init.d/proftpd status', 10 * second), 'not running') > 0 ? 'down!' : 'up' - update 10 * second -} - -Widget SambaStatus { - class 'Text' - expression 'Samba ' - width width050 - postfix strstr(exec('/sbin/status smbd', 10 * second), 'running') > 0 ? 'up' : 'down!' - update 10 * second -} - -Widget SambaStatusDS { - class 'Text' - expression 'Samba ' - width width050 - postfix strstr(exec('/etc/init.d/samba status', 10 * second), 'running') > 0 ? 'up' : 'down!' - update 10 * second -} - -Widget SSHStatus { - class 'Text' - expression 'SSH ' - width width050 - postfix strstr(exec('/sbin/status ssh', 10 * second), 'running') > 0 ? 'up' : 'down!' - update 10 * second -} - -Widget SSHStatusDS { - class 'Text' - expression 'SSH ' - width width050 - postfix strstr(exec('/etc/init.d/ssh status', 10 * second), 'running') > 0 ? 'up' : 'down!' - update 10 * second -} - -Widget SWRAIDStatus { - class 'Text' - expression 'SW RAID ' - width width050 - postfix strstr(exec('cat /proc/mdstat', 10 * second), '[UUU]') > 0 ? 'up' : 'attention!' - update 10 * second -} - -Widget TwonkyStatus { - class 'Text' - expression 'Twonkymedia ' - width width050 - postfix strstr(exec('/sbin/status twonkymedia', 10 * second), 'running') > 0 ? 'up' : 'down!' - update 10 * second -} - -Widget FileTitle { - class 'Text' - expression 'Syslog' - width width100 - align 'C' - Background lightgray - Foreground darkgray -} - -Widget SetFileMsg { - class 'Timer' - expression FileMsg = exec('tail -n 1 /var/log/syslog', 2 * second) - active 1 - update 2 * second -} - -Widget File1 { - class 'Text' - expression substr(FileMsg, 0 * width100, width100) - width width100 - align 'L' - Background darkgray - update 2 * second -} - -Widget File2 { - class 'Text' - expression substr(FileMsg, 1 * width100, width100) - width width100 - align 'L' - Background darkgray - update 2 * second -} - -Widget File3 { - class 'Text' - expression substr(FileMsg, 2 * width100, width100) - width width100 - align 'L' - Background darkgray - update 2 * second -} - -Widget Weather1 { - class 'Text' - expression exec('/krebs/kachelmann/wetter', 10 * second) - prefix 'Wetter:' - width width100 - align 'L' - Background darkgray - update 10 * second -} -Widget Bitcoin { - class 'Text' - expression exec('/krebs/btc/mtgox/ticker_text.sh', 10 * second) - prefix 'BTC: ' - width width100 - align 'L' - Background darkgray - update 30 * second -} - -Widget Stream { - class 'Text' - expression exec('/krebs/streams/streams status', 10 * second) - #prefix 'Stream:' - width width100 - align 'L' - Background darkgray - update 10 * second -} - -Widget Debug { - class 'Text' - expression 'Serverdisplay - Krebs' - width linesize - align 'C' - Foreground lightgray -} - -Widget na { - class 'Text' - expression 'n/a' - width 3 - align 'L' -} - -Widget Bgnd { - class 'Image' - file '/krebs/cholerab/bling/krebs-v2_320x240.png' - reload 0 - update 0 - inverted 0 - visible 1 -} - -Layout Krebs { - Row01.Col01 'System' - Row02.Col01 'Time' - Row04.Col02 'Busy' - Row05.Col02 'BusyBar' - Row07.Col02 'Load' - Row08.Col02 'LoadBar' - Row10.Col02 'Disk' - Row11.Col02 'DiskBar' - Row13.Col02 'Eth0' - Row14.Col02 'Eth0Bar' - Row15.Col02 'Eth0Traffic' - - Row04.Col28 'MemoryTitle' - Row05.Col29 'MemoryTotal' - Row06.Col29 'MemoryFree' - Row07.Col29 'MemorySwappedTotal' - Row08.Col29 'MemorySwappedUsed' - Row10.Col28 'LoggedInTitle' - Row11.Col29 'LoggedIn' - Row13.Col28 'FSSpaceTitle' - Row14.Col29 'FSSpace1' - - Row17.Col02 'ServicesTitle' - #Row18.Col02 'BindDNSStatus' - #Row19.Col02 'MuninStatus' - Row18.Col02 'ApacheStatus' - #Row21.Col02 'MiniDLNAStatus' - #Row18.Col29 'PostfixStatus' - #Row19.Col29 'ProFTPStatus' - #Row20.Col29 'SambaStatusDS' - Row18.Col29 'SSHStatusDS' - - Row19.Col02 'Weather1' - Row21.Col02 'Bitcoin' - Row23.Col02 'Stream' - - Row25.Col02 'FileTitle' - Row26.Col02 'File1' - Row27.Col02 'File2' - Row28.Col02 'File3' - - Row30.Col01 'Debug' - - Timer1 'SetFileMsg' - - Layer 2 { - X1.Y1 'Bgnd' - } -} -- cgit v1.2.3