<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.iac.isu.edu/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Buckminst</id>
	<title>New IAC Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.iac.isu.edu/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Buckminst"/>
	<link rel="alternate" type="text/html" href="https://wiki.iac.isu.edu/index.php?title=Special:Contributions/Buckminst"/>
	<updated>2026-05-09T14:59:16Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.35.2</generator>
	<entry>
		<id>https://wiki.iac.isu.edu/index.php?title=Departure_Notes_-_Curtis&amp;diff=75000</id>
		<title>Departure Notes - Curtis</title>
		<link rel="alternate" type="text/html" href="https://wiki.iac.isu.edu/index.php?title=Departure_Notes_-_Curtis&amp;diff=75000"/>
		<updated>2012-06-22T23:00:43Z</updated>

		<summary type="html">&lt;p&gt;Buckminst: Created page with 'To-Do List   DRBD documentation   virt-install example for VM creation   Finish &amp;quot;Edit User Groups&amp;quot; page migration to new layout.   Migrate LDAP Administration website from darwin…'&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;To-Do List&lt;br /&gt;
  DRBD documentation&lt;br /&gt;
  virt-install example for VM creation&lt;br /&gt;
  Finish &amp;quot;Edit User Groups&amp;quot; page migration to new layout.&lt;br /&gt;
  Migrate LDAP Administration website from darwin to mcp&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Server General Maintenance and Updates&lt;br /&gt;
&lt;br /&gt;
[Hardware]&lt;br /&gt;
Server Name                   | Date Done  | OS               | Needs Reboot?&lt;br /&gt;
------------------------------------------------------------------------------&lt;br /&gt;
crick.iac.isu.edu             | 06/05/2012 | Ubuntu 10.04 LTS | &lt;br /&gt;
watson.iac.isu.edu            | 06/05/2012 | Ubuntu 10.04 LTS | &lt;br /&gt;
hal.iac.isu.edu               | 06/05/2012 | Ubuntu 12.04 LTS | &lt;br /&gt;
darwin.iac.isu.edu            | 06/05/2012 | Ubuntu 8.04 LTS  | &lt;br /&gt;
backup.iac.isu.edu (cornwall) | 06/05/2012 | Ubuntu 12.04 LTS | &lt;br /&gt;
seattle.iac.isu.edu           | 06/05/2012 | Ubuntu 10.04 LTS | &lt;br /&gt;
aztec.iac.isu.edu             | 06/05/2012 | Ubuntu 10.04 LTS | &lt;br /&gt;
tesla.iac.isu.edu             | 06/05/2012 | Ubuntu 10.04 LTS | &lt;br /&gt;
prague.iac.isu.edu            | 06/05/2012 | Ubuntu 12.04 LTS | &lt;br /&gt;
pit.iac.isu.edu               | 06/05/2012 | Ubuntu 12.04 LTS | &lt;br /&gt;
hindenburg.iac.isu.edu        | 06/05/2012 | Ubuntu 12.04 LTS |&lt;br /&gt;
kludge.iac.isu.edu (87.65)    | 06/08/2012 | Ubuntu 10.04 LTS |&lt;br /&gt;
&lt;br /&gt;
[VMs]&lt;br /&gt;
Server Name                   | Date Done  | OS               | Needs Reboot?&lt;br /&gt;
------------------------------------------------------------------------------&lt;br /&gt;
codex.iac.isu.edu             | 06/05/2012 | Ubuntu 10.04 LTS | &lt;br /&gt;
www.iac.isu.edu (choctaw)     | 06/05/2012 | Ubuntu 10.04 LTS | &lt;br /&gt;
devsource.iac.isu.edu         | 06/05/2012 | Ubuntu 12.04 LTS | &lt;br /&gt;
wiki.iac.isu.edu              | 06/05/2012 | Ubuntu 10.04 LTS | &lt;br /&gt;
mcp.iac.isu.edu (3.99)        | 06/05/2012 | Ubuntu 12.04 LTS | &lt;br /&gt;
#sandbox (xxx.xxx)            | 10/17/2011 | Ubuntu 10.04 LTS | &lt;br /&gt;
&lt;br /&gt;
[Tripwire]&lt;br /&gt;
Server Name                   | Date Done&lt;br /&gt;
-------------------------------------------&lt;br /&gt;
hal.iac.isu.edu               | 04/11/2012&lt;br /&gt;
codex.iac.isu.edu             | 10/17/2011&lt;br /&gt;
wiki.iac.isu.edu              | 10/17/2011&lt;br /&gt;
devsource.iac.isu.edu         | 10/17/2011&lt;br /&gt;
watson.iac.isu.edu            | 04/11/2012&lt;br /&gt;
choctaw.iac.isu.edu           | 10/17/2011&lt;br /&gt;
crick.iac.isu.edu             | 04/11/2012&lt;br /&gt;
&lt;br /&gt;
Server Security Update Checklist&lt;br /&gt;
&lt;br /&gt;
Fail2ban&lt;br /&gt;
------------&lt;br /&gt;
&lt;br /&gt;
Server				Status&lt;br /&gt;
--------------------------------------------------------------&lt;br /&gt;
crick.iac.isu.edu		Done&lt;br /&gt;
watson.iac.isu.edu		Done&lt;br /&gt;
hal.iac.isu.edu			Done&lt;br /&gt;
darwin.iac.isu.edu		Done&lt;br /&gt;
cornwall.iac.isu.edu		Done&lt;br /&gt;
brems.iac.isu.edu		Done&lt;br /&gt;
seattle.iac.isu.edu		Done&lt;br /&gt;
aztec.iac.isu.edu		Done&lt;br /&gt;
tesla.iac.isu.edu		Done&lt;br /&gt;
codex.iac.isu.edu		Done&lt;br /&gt;
choctaw.iac.isu.edu		Done&lt;br /&gt;
devsource.iac.isu.edu		Done&lt;br /&gt;
wiki.iac.isu.edu		Done&lt;br /&gt;
&lt;br /&gt;
Firewalls&lt;br /&gt;
------------&lt;br /&gt;
&lt;br /&gt;
Server				Status&lt;br /&gt;
--------------------------------------------------------------&lt;br /&gt;
crick.iac.isu.edu		Not Done&lt;br /&gt;
watson.iac.isu.edu		Not Done&lt;br /&gt;
hal.iac.isu.edu			Done&lt;br /&gt;
darwin.iac.isu.edu		Done&lt;br /&gt;
cornwall.iac.isu.edu		Done&lt;br /&gt;
brems.iac.isu.edu		Done&lt;br /&gt;
seattle.iac.isu.edu		Partially Done&lt;br /&gt;
aztec.iac.isu.edu		Done&lt;br /&gt;
tesla.iac.isu.edu		Done&lt;br /&gt;
codex.iac.isu.edu		Done&lt;br /&gt;
choctaw.iac.isu.edu		Done&lt;br /&gt;
devsource.iac.isu.edu		Done&lt;br /&gt;
wiki.iac.isu.edu		Done&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tripwire&lt;br /&gt;
------------&lt;br /&gt;
&lt;br /&gt;
Server				Status&lt;br /&gt;
--------------------------------------------------------------&lt;br /&gt;
wiki.iac.isu.edu		Done&lt;br /&gt;
devsource.iac.isu.edu		Done&lt;br /&gt;
hal.iac.isu.edu			Done&lt;br /&gt;
crick.iac.isu.edu		Done&lt;br /&gt;
watson.iac.isu.edu		Done&lt;br /&gt;
choctaw.iac.isu.edu		Done&lt;br /&gt;
codex.iac.isu.edu		Done&lt;br /&gt;
- - - - - - - - - - - - - - - - - - - - -&lt;br /&gt;
darwin.iac.isu.edu		Not Done&lt;br /&gt;
cornwall.iac.isu.edu		Not Done&lt;br /&gt;
brems.iac.isu.edu		Not Done&lt;br /&gt;
seattle.iac.isu.edu		Not Done&lt;br /&gt;
aztec.iac.isu.edu		Not Done&lt;br /&gt;
tesla.iac.isu.edu		Not Done&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Buckminst</name></author>
	</entry>
	<entry>
		<id>https://wiki.iac.isu.edu/index.php?title=Nerd_Group&amp;diff=74999</id>
		<title>Nerd Group</title>
		<link rel="alternate" type="text/html" href="https://wiki.iac.isu.edu/index.php?title=Nerd_Group&amp;diff=74999"/>
		<updated>2012-06-22T22:57:03Z</updated>

		<summary type="html">&lt;p&gt;Buckminst: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[List of Current Issue]]&lt;br /&gt;
&lt;br /&gt;
[[Airport Network Infrastructure]]&lt;br /&gt;
&lt;br /&gt;
[[Network Problem Log]]&lt;br /&gt;
&lt;br /&gt;
[[Group Meetings]]&lt;br /&gt;
&lt;br /&gt;
[[IAC Network Configurations]]&lt;br /&gt;
&lt;br /&gt;
[[ISU Policies]]&lt;br /&gt;
&lt;br /&gt;
[[Mail Client Settings]]&lt;br /&gt;
&lt;br /&gt;
[[Brems]]&lt;br /&gt;
&lt;br /&gt;
[[Wiki Wishlist]]&lt;br /&gt;
&lt;br /&gt;
[[Pulse Recording Ideas]]&lt;br /&gt;
&lt;br /&gt;
[[Ludlum Rad Monitor Tunneling]]&lt;br /&gt;
&lt;br /&gt;
[[Adding Apache Shares]]&lt;br /&gt;
&lt;br /&gt;
[[LDAP Web Interface Wishlist]]&lt;br /&gt;
&lt;br /&gt;
[[Departure Notes - Curtis]]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
[[Newegg Wishlist]]&lt;br /&gt;
&lt;br /&gt;
[[BackupPC Notes]]&lt;br /&gt;
&lt;br /&gt;
[[New Mail Server]]&lt;br /&gt;
&lt;br /&gt;
[[Monitoring Server]]&lt;br /&gt;
&lt;br /&gt;
[[KVM Virtualization]]&lt;br /&gt;
&lt;br /&gt;
[[Apt-Proxy]]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
[https://mail.iac.isu.edu/squirrelmail/ IAC webmail]&lt;/div&gt;</summary>
		<author><name>Buckminst</name></author>
	</entry>
	<entry>
		<id>https://wiki.iac.isu.edu/index.php?title=Airport_Network_Infrastructure&amp;diff=69909</id>
		<title>Airport Network Infrastructure</title>
		<link rel="alternate" type="text/html" href="https://wiki.iac.isu.edu/index.php?title=Airport_Network_Infrastructure&amp;diff=69909"/>
		<updated>2011-12-19T23:24:11Z</updated>

		<summary type="html">&lt;p&gt;Buckminst: /* Hardware */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Proposed structure and hardware for IAC Airport facility, specifically for PITAS accelerator area.&lt;br /&gt;
&lt;br /&gt;
=Structure=&lt;br /&gt;
External network access will be routed through a small Atom-based Linux server box which will handle floating and static IP DHCP requests. &lt;br /&gt;
* Server box has 2 network interfaces, 1 10/100 Fast Ethernet, 1 10/100/1000 Gigabit Ethernet&lt;br /&gt;
* External network will be connected to Fast Ethernet interface&lt;br /&gt;
* Internal network will be connected to Gigabit Ethernet interface&lt;br /&gt;
&lt;br /&gt;
Internal network will be split into two zones:&lt;br /&gt;
* Control&lt;br /&gt;
* Accelerator&lt;br /&gt;
&lt;br /&gt;
Internal network interface will be uplink for the ''Control'' network.&lt;br /&gt;
&lt;br /&gt;
''Control'' network machines will be served by a Dell PowerConnect 5324 24-port Gigabit managed switch. This switch will have a fiber transceiver installed, providing electrical isolation for connection to the ''Accelerator'' network. Fiber will be 1000Base-SX with SC connectors.&lt;br /&gt;
&lt;br /&gt;
''Accelerator'' network will be connected to the Control network via a TRENDnet Fiber Converter, which will serve as uplink for the Netgear ProSafe 16-port Gigabit unmanaged switch. All ''Accelerator'' network machines will be serviced by that switch.&lt;br /&gt;
&lt;br /&gt;
=Hardware=&lt;br /&gt;
Proposed networking and server hardware is listed below, with itemized price breakdowns.&lt;br /&gt;
&lt;br /&gt;
Total Implementation Cost: $757 before shipping&lt;br /&gt;
&lt;br /&gt;
==Networking==&lt;br /&gt;
* Dell PowerConnect 5324 Gigabit Managed 24-port Ethernet Switch w/Fiber SFP ports (On hand)&lt;br /&gt;
* SFP Fiber Transceiver (1000Base-SX SC) - ACP SFPGE-11-AOK (http://www.newegg.com/Product/Product.aspx?Item=N82E16833516039) - $45&lt;br /&gt;
* Netgear ProSafe GS116 Gigabit Unmanaged 16-port Ethernet Switch (http://www.newegg.com/Product/Product.aspx?Item=N82E16833122139) - $155&lt;br /&gt;
* TRENDnet TFC-1000MSC Multi-Mode Fiber Converter (http://www.newegg.com/Product/Product.aspx?Item=N82E16833156017) - $132&lt;br /&gt;
* SC-connector Fiber cable - $150&lt;br /&gt;
&lt;br /&gt;
Networking Hardware Cost: ~$482 before shipping&lt;br /&gt;
&lt;br /&gt;
==Server==&lt;br /&gt;
* APEX MI-008 Mini-ITX Computer Case w/250W PSU (http://www.newegg.com/Product/Product.aspx?Item=N82E16811154091) - $40&lt;br /&gt;
* Intel BOXD525MW Atom D525 NM10 Mini-ITX Motherboard (http://www.newegg.com/Product/Product.aspx?Item=N82E16813121442) - $85&lt;br /&gt;
* Kingston 2GB 204-Pin DDR3-800 SO-DIMM Memory (http://www.newegg.com/Product/Product.aspx?Item=N82E16820139220) - $28 (2ea @ $14)&lt;br /&gt;
* OCZ Onyx Series 32GB SATA2 MLC SSD (http://www.newegg.com/Product/Product.aspx?Item=N82E16820227510) - $65&lt;br /&gt;
* ASUS DRW-24B1ST SATA 24x DVD Burner (http://www.newegg.com/Product/Product.aspx?Item=N82E16827135204) - $20&lt;br /&gt;
&lt;br /&gt;
Server Hardware Cost: ~$275 before shipping&lt;/div&gt;</summary>
		<author><name>Buckminst</name></author>
	</entry>
	<entry>
		<id>https://wiki.iac.isu.edu/index.php?title=Airport_Network_Infrastructure&amp;diff=69907</id>
		<title>Airport Network Infrastructure</title>
		<link rel="alternate" type="text/html" href="https://wiki.iac.isu.edu/index.php?title=Airport_Network_Infrastructure&amp;diff=69907"/>
		<updated>2011-12-19T23:19:38Z</updated>

		<summary type="html">&lt;p&gt;Buckminst: Created page with 'Proposed structure and hardware for IAC Airport facility, specifically for PITAS accelerator area.  =Structure= External network access will be routed through a small Atom-based …'&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Proposed structure and hardware for IAC Airport facility, specifically for PITAS accelerator area.&lt;br /&gt;
&lt;br /&gt;
=Structure=&lt;br /&gt;
External network access will be routed through a small Atom-based Linux server box which will handle floating and static IP DHCP requests. &lt;br /&gt;
* Server box has 2 network interfaces, 1 10/100 Fast Ethernet, 1 10/100/1000 Gigabit Ethernet&lt;br /&gt;
* External network will be connected to Fast Ethernet interface&lt;br /&gt;
* Internal network will be connected to Gigabit Ethernet interface&lt;br /&gt;
&lt;br /&gt;
Internal network will be split into two zones:&lt;br /&gt;
* Control&lt;br /&gt;
* Accelerator&lt;br /&gt;
&lt;br /&gt;
Internal network interface will be uplink for the ''Control'' network.&lt;br /&gt;
&lt;br /&gt;
''Control'' network machines will be served by a Dell PowerConnect 5324 24-port Gigabit managed switch. This switch will have a fiber transceiver installed, providing electrical isolation for connection to the ''Accelerator'' network. Fiber will be 1000Base-SX with SC connectors.&lt;br /&gt;
&lt;br /&gt;
''Accelerator'' network will be connected to the Control network via a TRENDnet Fiber Converter, which will serve as uplink for the Netgear ProSafe 16-port Gigabit unmanaged switch. All ''Accelerator'' network machines will be serviced by that switch.&lt;br /&gt;
&lt;br /&gt;
=Hardware=&lt;br /&gt;
Proposed networking and server hardware is listed below, with itemized price breakdowns.&lt;br /&gt;
&lt;br /&gt;
Total Implementation Cost: $757&lt;br /&gt;
&lt;br /&gt;
==Networking==&lt;br /&gt;
* Dell PowerConnect 5324 Gigabit Managed 24-port Ethernet Switch w/Fiber SFP ports (On hand)&lt;br /&gt;
* SFD Fiber Transceiver (1000Base-SX SC) - ACP SFPGE-11-AOK (http://www.newegg.com/Product/Product.aspx?Item=N82E16833516039) - $45&lt;br /&gt;
* Netgear ProSafe GS116 Gigabit Unmanaged 16-port Ethernet Switch (http://www.newegg.com/Product/Product.aspx?Item=N82E16833122139) - $155&lt;br /&gt;
* TRENDnet TFC-1000MSC Multi-Mode Fiber Converter (http://www.newegg.com/Product/Product.aspx?Item=N82E16833156017) - $132&lt;br /&gt;
* SC-connector Fiber cable - $150&lt;br /&gt;
&lt;br /&gt;
Networking Hardware Cost: ~$482 before shipping&lt;br /&gt;
&lt;br /&gt;
==Server==&lt;br /&gt;
* APEX MI-008 Mini-ITX Computer Case w/250W PSU (http://www.newegg.com/Product/Product.aspx?Item=N82E16811154091) - $40&lt;br /&gt;
* Intel BOXD525MW Atom D525 NM10 Mini-ITX Motherboard (http://www.newegg.com/Product/Product.aspx?Item=N82E16813121442) - $85&lt;br /&gt;
* Kingston 2GB 204-Pin DDR3-800 SO-DIMM Memory (http://www.newegg.com/Product/Product.aspx?Item=N82E16820139220) - $28 (2ea @ $14)&lt;br /&gt;
* OCZ Onyx Series 32GB SATA2 MLC SSD (http://www.newegg.com/Product/Product.aspx?Item=N82E16820227510) - $65&lt;br /&gt;
* ASUS DRW-24B1ST SATA 24x DVD Burner (http://www.newegg.com/Product/Product.aspx?Item=N82E16827135204) - $20&lt;br /&gt;
&lt;br /&gt;
Server Hardware Cost: ~$275 before shipping&lt;/div&gt;</summary>
		<author><name>Buckminst</name></author>
	</entry>
	<entry>
		<id>https://wiki.iac.isu.edu/index.php?title=Nerd_Group&amp;diff=69906</id>
		<title>Nerd Group</title>
		<link rel="alternate" type="text/html" href="https://wiki.iac.isu.edu/index.php?title=Nerd_Group&amp;diff=69906"/>
		<updated>2011-12-19T22:48:26Z</updated>

		<summary type="html">&lt;p&gt;Buckminst: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
[[List of Current Issue]]&lt;br /&gt;
&lt;br /&gt;
[[Airport Network Infrastructure]]&lt;br /&gt;
&lt;br /&gt;
[[Network Problem Log]]&lt;br /&gt;
&lt;br /&gt;
[[Group Meetings]]&lt;br /&gt;
&lt;br /&gt;
[[IAC Network Configurations]]&lt;br /&gt;
&lt;br /&gt;
[[ISU Policies]]&lt;br /&gt;
&lt;br /&gt;
[[Mail Client Settings]]&lt;br /&gt;
&lt;br /&gt;
[[Brems]]&lt;br /&gt;
&lt;br /&gt;
[[Wiki Wishlist]]&lt;br /&gt;
&lt;br /&gt;
[[Pulse Recording Ideas]]&lt;br /&gt;
&lt;br /&gt;
[[Ludlum Rad Monitor Tunneling]]&lt;br /&gt;
&lt;br /&gt;
[[Adding Apache Shares]]&lt;br /&gt;
&lt;br /&gt;
[[LDAP Web Interface Wishlist]]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
[[Newegg Wishlist]]&lt;br /&gt;
&lt;br /&gt;
[[BackupPC Notes]]&lt;br /&gt;
&lt;br /&gt;
[[New Mail Server]]&lt;br /&gt;
&lt;br /&gt;
[[Monitoring Server]]&lt;br /&gt;
&lt;br /&gt;
[[KVM Virtualization]]&lt;br /&gt;
&lt;br /&gt;
[[Apt-Proxy]]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
[https://mail.iac.isu.edu/squirrelmail/ IAC webmail]&lt;/div&gt;</summary>
		<author><name>Buckminst</name></author>
	</entry>
	<entry>
		<id>https://wiki.iac.isu.edu/index.php?title=Radiation_Monitor_Python_Script_Documentation&amp;diff=58569</id>
		<title>Radiation Monitor Python Script Documentation</title>
		<link rel="alternate" type="text/html" href="https://wiki.iac.isu.edu/index.php?title=Radiation_Monitor_Python_Script_Documentation&amp;diff=58569"/>
		<updated>2011-03-09T20:02:14Z</updated>

		<summary type="html">&lt;p&gt;Buckminst: /* reload_configuration */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The Radiation Monitor Python script is a DBus-enabled UDP forwarding and reporting script designed to interpret and rebroadcast the information provided by the Ludlum Measurement Inc. 375-9 series Radiation Monitors in use at the IAC and in the ISU Physics building. It utilizes the common ''iac.nagios.'' DBus service and ''/IAC/Nagios/'' service path for statistic reporting to the IAC [[Monitoring_Server|Nagios]] server.&lt;br /&gt;
=Configuration And Use=&lt;br /&gt;
Before first execution, the following directories will need to be created, with proper permissions for the ''nagios'' user to write to them:&lt;br /&gt;
* ''/var/log/iac''&lt;br /&gt;
* ''/etc/iac''&lt;br /&gt;
These directories will be common for the Radiation Monitoring script as well as the Cluster Room Temperature Monitor script.&lt;br /&gt;
&lt;br /&gt;
Once ''/etc/iac'' exists, you will need to create the ''rad_monitors.cfg'' configuration file within that directory. &lt;br /&gt;
The configuration file syntax is described below.&lt;br /&gt;
&lt;br /&gt;
The Radiation Monitor script, if called without a configuration file, uses the following defaults:&lt;br /&gt;
* '''Local Address:''' ''None''&lt;br /&gt;
* '''Listen Address:''' ''255.255.255.255''&lt;br /&gt;
* '''Listen Port:''' ''55555''&lt;br /&gt;
* '''Verbose Mode (Non-Daemon):''' ''False''&lt;br /&gt;
* '''Debug Mode:''' ''False''&lt;br /&gt;
* '''Daemon Mode:''' ''True''&lt;br /&gt;
* '''Log Mode:''' ''Append''&lt;br /&gt;
* '''Send Clients:''' ''None''&lt;br /&gt;
&lt;br /&gt;
The command to start the Radiation Monitoring script is simply ''rad_monitors.py''. This script will need to be ran by the ''nagios'' user.&lt;br /&gt;
==Configuration File==&lt;br /&gt;
'''Example Configuration File'''&lt;br /&gt;
 #local:134.50.87.179:55554&lt;br /&gt;
 listen:255.255.255.255:55555&lt;br /&gt;
 sendto:127.0.0.1:54321&lt;br /&gt;
 #sendto:134.50.87.179:54321&lt;br /&gt;
 #verbose&lt;br /&gt;
 #debug&lt;br /&gt;
 noforward&lt;br /&gt;
 #nodaemon&lt;br /&gt;
 #truncate&lt;br /&gt;
&lt;br /&gt;
Lines beginning with # are ignored by the script and may be used for comments on lines seperate from directive lines, or to remove directives from active use. For comments on lines containing directives, please place them at the end and prepend a : before the comment.&lt;br /&gt;
===Configuration Directives===&lt;br /&gt;
====local====&lt;br /&gt;
This directive will allow you to bind to a specific IP address/interface and port number for purposes of UDP packet source information. By default the program will choose whichever interface is needed to talk to the send clients, as well as a random high port. The proper syntax for this directive is as follows:&lt;br /&gt;
 '''local''':''local_ip'':''local_port''&lt;br /&gt;
This directive cannot be changed during run-time.&lt;br /&gt;
====listen====&lt;br /&gt;
This directive will allow you to specify what interface/IP address and port to listen for packets on. By default this is set for UDP broadcasts on ''255.255.255.255''. The proper syntax for this directive is as follows:&lt;br /&gt;
 '''listen''':''listen_ip'':''listen_port''&lt;br /&gt;
This directive cannot be changed during run-time.&lt;br /&gt;
&lt;br /&gt;
====sendto====&lt;br /&gt;
This directive will allow you to specify any number of clients to forward the UDP packets on to, one per directive line. The proper syntax for this directive is as follows:&lt;br /&gt;
 '''sendto''':''target_ip'':''target_port''&lt;br /&gt;
Additional send clients can be added while the script is running by sending SIGHUP or using the DBus ''reload_configuration'' method to reload the configuration file, or by using the DBus ''add_send_client'' method.&lt;br /&gt;
&lt;br /&gt;
====verbose====&lt;br /&gt;
This directive sets the Radiation Monitor script into verbose interactive mode (non-daemonized), for the purposes of examining packet flow and diagnostics. This directive needs no arguments and can simply be specified in the configuration file.&lt;br /&gt;
&lt;br /&gt;
This directive cannot be changed during run-time.&lt;br /&gt;
====debug====&lt;br /&gt;
This directive sets the Radiation Monitor script into a further debugging mode, for program flow and diagnostic purposes.&lt;br /&gt;
&lt;br /&gt;
This directive can be changed during run-time by sending SIGHUP or using the DBus ''reload_configuration'' method to reload the configuration file.&lt;br /&gt;
====noforward====&lt;br /&gt;
This directive disables packet forwarding for the Radiation Monitor. This can be useful if you wish to run the script just for listening purposes, or for troubleshooting.&lt;br /&gt;
&lt;br /&gt;
This directive can be changed during run-time by sending SIGHUP or using the DBus ''reload_configuration'' method to reload the configuration file.&lt;br /&gt;
====nodaemon====&lt;br /&gt;
This directive sets the Radiation Monitor script to run in interactive (non-daemonized) mode, but without verbose output. This can be useful for troubleshooting purposes or if you wish to run the process in a&lt;br /&gt;
screen session.&lt;br /&gt;
&lt;br /&gt;
This directive cannot be changed during run-time.&lt;br /&gt;
====truncate====&lt;br /&gt;
This directive requires the Radiation Monitor script to clear its log file at each session start, rather than appending (the default log method).&lt;br /&gt;
&lt;br /&gt;
This directive cannot be changed during run-time.&lt;br /&gt;
&lt;br /&gt;
=API=&lt;br /&gt;
==DBus Quick Reference==&lt;br /&gt;
'''Service Bus''': ''SystemBus()''&lt;br /&gt;
&lt;br /&gt;
'''Service Name''': ''iac.nagios.radmonitors''&lt;br /&gt;
&lt;br /&gt;
'''Service Path''': ''/IAC/Nagios/RadMonitors''&lt;br /&gt;
&lt;br /&gt;
'''Exposed Methods'''&lt;br /&gt;
 '''get_active_channels()'''&lt;br /&gt;
 '''get_active_monitors()'''&lt;br /&gt;
 '''get_active_monitor_count()'''&lt;br /&gt;
 '''get_radiation_levels()'''&lt;br /&gt;
 '''add_send_client('''''string''''')'''&lt;br /&gt;
 '''reload_configuration()'''&lt;br /&gt;
&lt;br /&gt;
==DBus Interaction==&lt;br /&gt;
Before you can interact with the Radiation Monitor's DBus service, you will need to load some prerequisite Python libraries:&lt;br /&gt;
 import dbus&lt;br /&gt;
This is the minimum to connect to DBus. If you wish to do more than connect as a client, you will need to load the following libraries:&lt;br /&gt;
 import dbus.service, gobject&lt;br /&gt;
 from dbus import glib&lt;br /&gt;
It is also recommend that you initialize threading now if you are planning on performing threaded tasks:&lt;br /&gt;
 gobject.threads_init()&lt;br /&gt;
 glib.init_threads()&lt;br /&gt;
===Connecting to the Radiation Monitor DBus service===&lt;br /&gt;
To interact with the Radiation Monitor DBus service in Python, you will first need to connect to the DBus System bus:&lt;br /&gt;
 ''dbus_bus'' = '''dbus.SystemBus()'''&lt;br /&gt;
'''Note:''' The Radiation Monitor script must be run as ''root'' to connect to the System bus.&lt;br /&gt;
&lt;br /&gt;
Once you have successfully connected to the System bus, you will then want to get the DBus service object for the Radiation Monitor. This is done via the '''get_object''' bus method:&lt;br /&gt;
 ''dbus_object'' = ''dbus_bus''.'''get_object('''''service_name'', ''service_path''''')'''&lt;br /&gt;
For our Radiation Monitor interface, the proper invocation is as follows:&lt;br /&gt;
 ''dbus_object'' = ''dbus_bus''.'''get_object('''''&amp;quot;iac.nagios.radmonitors&amp;quot;'', ''&amp;quot;/IAC/Nagios/RadMonitors&amp;quot;''''')'''&lt;br /&gt;
After this is done, you may choose to call the Radiation Monitor's DBus methods either through the service object itself, or you may create references to specific methods for use:&lt;br /&gt;
 ''dbus_method_ref'' = ''dbus_object''.'''get_dbus_method('''''method'', ''service_name''''')'''&lt;br /&gt;
Example:&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; remote_method = remote_object.get_dbus_method('get_active_monitor_count', 'iac.nagios.radmonitors')&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; remote_method()&lt;br /&gt;
 dbus.Int32(7)&lt;br /&gt;
&lt;br /&gt;
===Introspection Schema===&lt;br /&gt;
The Radiation Monitor DBus service returns the following schema upon being called with its inherited Introspect() method:&lt;br /&gt;
 &amp;lt;!DOCTYPE node PUBLIC &amp;quot;-//freedesktop//DTD D-BUS Object Introspection 1.0//EN&amp;quot;&lt;br /&gt;
 &amp;quot;http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;node name=&amp;quot;/IAC/Nagios/RadMonitors&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;interface name=&amp;quot;iac.nagios.radmonitors&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;method name=&amp;quot;reload_configuration&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;/method&amp;gt;&lt;br /&gt;
     &amp;lt;method name=&amp;quot;get_active_monitors&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;/method&amp;gt;&lt;br /&gt;
     &amp;lt;method name=&amp;quot;get_active_monitor_count&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;/method&amp;gt;&lt;br /&gt;
     &amp;lt;method name=&amp;quot;add_send_client&amp;quot;&amp;gt;&lt;br /&gt;
       &amp;lt;arg direction=&amp;quot;in&amp;quot;  type=&amp;quot;v&amp;quot; name=&amp;quot;new_client&amp;quot; /&amp;gt;&lt;br /&gt;
     &amp;lt;/method&amp;gt;&lt;br /&gt;
     &amp;lt;method name=&amp;quot;get_radiation_levels&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;/method&amp;gt;&lt;br /&gt;
     &amp;lt;method name=&amp;quot;get_active_channels&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;/method&amp;gt;&lt;br /&gt;
   &amp;lt;/interface&amp;gt;&lt;br /&gt;
   &amp;lt;interface name=&amp;quot;org.freedesktop.DBus.Introspectable&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;method name=&amp;quot;Introspect&amp;quot;&amp;gt;&lt;br /&gt;
       &amp;lt;arg direction=&amp;quot;out&amp;quot; type=&amp;quot;s&amp;quot; /&amp;gt;&lt;br /&gt;
     &amp;lt;/method&amp;gt;&lt;br /&gt;
   &amp;lt;/interface&amp;gt;&lt;br /&gt;
 &amp;lt;/node&amp;gt;&lt;br /&gt;
===Methods===&lt;br /&gt;
====get_active_channels====&lt;br /&gt;
This exposed DBus method will return a dbus.Array value representing the active channels the script sees. It is invoked in the following manner:&lt;br /&gt;
 ''dbus_object''.'''get_active_channels()'''&lt;br /&gt;
Example output:&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; remote_object.get_active_channels()&lt;br /&gt;
 dbus.Array([dbus.Int32(1), dbus.Int32(2), dbus.Int32(3), dbus.Int32(4), dbus.Int32(5), dbus.Int32(6), dbus.Int32(7)], signature=dbus.Signature('i'))&lt;br /&gt;
====get_active_monitors====&lt;br /&gt;
This exposed DBus method will return a dbus.Array value representing the IP address of all radiation monitors the script sees. It is invoked in the following manner:&lt;br /&gt;
 ''dbus_object''.'''get_active_monitors()'''&lt;br /&gt;
Example output:&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; remote_object.get_active_monitors()&lt;br /&gt;
 dbus.Array([dbus.String(u'192.168.40.155'), dbus.String(u'192.168.40.154'), dbus.String(u'192.168.40.121'), dbus.String(u'192.168.40.172'),&lt;br /&gt;
 dbus.String(u'192.168.40.137'), dbus.String(u'192.168.40.159'), dbus.String(u'192.168.40.120')], signature=dbus.Signature('s'))&lt;br /&gt;
====get_active_monitor_count====&lt;br /&gt;
This exposed DBus method will return a dbus.Int32 value representing the total number of active monitors the script sees. It is invoked in the following manner:&lt;br /&gt;
 ''dbus_object''.'''get_active_monitor_count()'''&lt;br /&gt;
Example output:&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; remote_object.get_active_monitor_count()&lt;br /&gt;
 dbus.Int32(7)&lt;br /&gt;
====get_radiation_levels====&lt;br /&gt;
This exposed DBus method will return a dbus.Array value representing the current radiation level of all monitors the script sees. It is invoked in the following manner:&lt;br /&gt;
 ''dbus_object''.'''get_radiation_levels()'''&lt;br /&gt;
Example output:&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; remote_object.get_radiation_levels()&lt;br /&gt;
 dbus.Array([dbus.String(u'0.0'), dbus.String(u'0.0'), dbus.String(u'0.0'), dbus.String(u'0.0'), dbus.String(u'0.1'), dbus.String(u'0.1'),&lt;br /&gt;
 dbus.String(u'0.1')], signature=dbus.Signature('s'))&lt;br /&gt;
====add_send_client====&lt;br /&gt;
This exposed DBus method will add a new send target client to a running instance of the script, allowing for on-the-fly addition of targets without restarting. It is invoked in the following manner:&lt;br /&gt;
 ''dbus_object''.'''add_send_client(''string'')'''&lt;br /&gt;
Where ''string'' is a string containing the IP address and destination port number of the send target, formatted as &amp;quot;''ip'':''port''&amp;quot;.&lt;br /&gt;
The function returns a dbus.Boolean value; ''True'' if the add is successful, ''False'' if not.&lt;br /&gt;
&lt;br /&gt;
'''Note:''' This only adds the new send client to the in-memory send list. If you wish to retain this send client for future use, you will need to edit the configuration file and add&lt;br /&gt;
the appropriate ''sendto'' directive for that client.&lt;br /&gt;
&lt;br /&gt;
Example output:&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; remote_object.add_send_client(&amp;quot;134.50.87.179:55555&amp;quot;)&lt;br /&gt;
 dbus.Boolean(True)&lt;br /&gt;
&lt;br /&gt;
====reload_configuration====&lt;br /&gt;
This exposed DBus method will cause a running instance of the script to reload its configuration file, as if having been sent signal SIGHUP. It is invoked in the following manner:&lt;br /&gt;
 ''dbus_object''.'''reload_configuration()'''&lt;br /&gt;
The function always returns dbus.Boolean ''True'' at this time.&lt;br /&gt;
&lt;br /&gt;
Example output:&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; remote_object.reload_configuration()&lt;br /&gt;
 dbus.Boolean(True)&lt;/div&gt;</summary>
		<author><name>Buckminst</name></author>
	</entry>
	<entry>
		<id>https://wiki.iac.isu.edu/index.php?title=Monitoring_Server&amp;diff=58310</id>
		<title>Monitoring Server</title>
		<link rel="alternate" type="text/html" href="https://wiki.iac.isu.edu/index.php?title=Monitoring_Server&amp;diff=58310"/>
		<updated>2011-03-07T21:14:16Z</updated>

		<summary type="html">&lt;p&gt;Buckminst: /* Physical Science */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The '''IAC monitoring server''' can be found at http://hal.iac.isu.edu/nagios3/&lt;br /&gt;
&lt;br /&gt;
=Monitored Systems and Services=&lt;br /&gt;
&lt;br /&gt;
==Systems &amp;amp; Services Chart==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;font-size: x-small;&amp;quot;&lt;br /&gt;
|+ Systems and Services Currently Monitored&lt;br /&gt;
! System Name !! CPU Temp !! CPU Usage !! Current Load !! # Users !! DRBD !! Disk Space !! HDD Temp !! Heartbeat !! LDAP !! Memory !! # Network Connections !! Network I/O !! RAID !! SMART !! SSH !! # Processes !! HTTP !! MySQL !! Samba !! System Temperature !! PSU !! PING !! Other&lt;br /&gt;
|-&lt;br /&gt;
! Alan's Desktop&lt;br /&gt;
| {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! aztec.iac.isu.edu&lt;br /&gt;
| {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! brems.iac.isu.edu&lt;br /&gt;
| {{no}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || Averaging Test, Cluster Room Temperatures, Slurm Queue, Slave Nodes&lt;br /&gt;
|-&lt;br /&gt;
! cleanroom.temperatures&lt;br /&gt;
| {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || Clean Room Temperatures&lt;br /&gt;
|-&lt;br /&gt;
! codex.iac.isu.edu&lt;br /&gt;
| {{no}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! cornwall.iac.isu.edu&lt;br /&gt;
| {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! crick.iac.isu.edu&lt;br /&gt;
| {{no}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{no}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! darwin.iac.isu.edu&lt;br /&gt;
| {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! devsource.iac.isu.edu&lt;br /&gt;
| {{no}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! iac-gateway&lt;br /&gt;
| {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! license.iac.isu.edu&lt;br /&gt;
| {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! hal.iac.isu.edu&lt;br /&gt;
| {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || Radiation Monitors&lt;br /&gt;
|-&lt;br /&gt;
! physics-gateway&lt;br /&gt;
| {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! seattle.iac.isu.edu&lt;br /&gt;
| {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || Radiation Monitors&lt;br /&gt;
|-&lt;br /&gt;
! tesla.iac.isu.edu&lt;br /&gt;
| {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! watson.iac.isu.edu&lt;br /&gt;
| {{no}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{no}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! wiki.iac.isu.edu&lt;br /&gt;
| {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! vienna.iac.isu.edu&lt;br /&gt;
| {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{no}}ne&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Systems Monitored (By Building)==&lt;br /&gt;
&lt;br /&gt;
===Physical Science===&lt;br /&gt;
* physics-gateway&lt;br /&gt;
* aztec.iac.isu.edu&lt;br /&gt;
* brems.iac.isu.edu&lt;br /&gt;
* brems slave nodes&lt;br /&gt;
* cleanroom.temperatures&lt;br /&gt;
* codex.iac.isu.edu&lt;br /&gt;
* cornwall.iac.isu.edu&lt;br /&gt;
* crick.iac.isu.edu&lt;br /&gt;
* darwin.iac.isu.edu&lt;br /&gt;
* devsource.iac.isu.edu&lt;br /&gt;
* hal.iac.isu.edu&lt;br /&gt;
* tesla.iac.isu.edu&lt;br /&gt;
* watson.iac.isu.edu&lt;br /&gt;
* wiki.iac.isu.edu&lt;br /&gt;
* vienna.iac.isu.edu&lt;br /&gt;
&lt;br /&gt;
===Idaho Accelerator Center===&lt;br /&gt;
* iac-gateway&lt;br /&gt;
* alans-desktop&lt;br /&gt;
* license.iac.isu.edu&lt;br /&gt;
* seattle.iac.isu.edu&lt;br /&gt;
&lt;br /&gt;
==Systems to Monitor==&lt;br /&gt;
*Slave nodes (partial)&lt;br /&gt;
*Webserver&lt;br /&gt;
*Backup server&lt;/div&gt;</summary>
		<author><name>Buckminst</name></author>
	</entry>
	<entry>
		<id>https://wiki.iac.isu.edu/index.php?title=Radiation_Monitor_Python_Script_Documentation&amp;diff=58309</id>
		<title>Radiation Monitor Python Script Documentation</title>
		<link rel="alternate" type="text/html" href="https://wiki.iac.isu.edu/index.php?title=Radiation_Monitor_Python_Script_Documentation&amp;diff=58309"/>
		<updated>2011-03-07T21:12:50Z</updated>

		<summary type="html">&lt;p&gt;Buckminst: /* Connecting to the Radiation Monitor DBus service */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The Radiation Monitor Python script is a DBus-enabled UDP forwarding and reporting script designed to interpret and rebroadcast the information provided by the Ludlum Measurement Inc. 375-9 series Radiation Monitors in use at the IAC and in the ISU Physics building. It utilizes the common ''iac.nagios.'' DBus service and ''/IAC/Nagios/'' service path for statistic reporting to the IAC [[Monitoring_Server|Nagios]] server.&lt;br /&gt;
=Configuration And Use=&lt;br /&gt;
Before first execution, the following directories will need to be created, with proper permissions for the ''nagios'' user to write to them:&lt;br /&gt;
* ''/var/log/iac''&lt;br /&gt;
* ''/etc/iac''&lt;br /&gt;
These directories will be common for the Radiation Monitoring script as well as the Cluster Room Temperature Monitor script.&lt;br /&gt;
&lt;br /&gt;
Once ''/etc/iac'' exists, you will need to create the ''rad_monitors.cfg'' configuration file within that directory. &lt;br /&gt;
The configuration file syntax is described below.&lt;br /&gt;
&lt;br /&gt;
The Radiation Monitor script, if called without a configuration file, uses the following defaults:&lt;br /&gt;
* '''Local Address:''' ''None''&lt;br /&gt;
* '''Listen Address:''' ''255.255.255.255''&lt;br /&gt;
* '''Listen Port:''' ''55555''&lt;br /&gt;
* '''Verbose Mode (Non-Daemon):''' ''False''&lt;br /&gt;
* '''Debug Mode:''' ''False''&lt;br /&gt;
* '''Daemon Mode:''' ''True''&lt;br /&gt;
* '''Log Mode:''' ''Append''&lt;br /&gt;
* '''Send Clients:''' ''None''&lt;br /&gt;
&lt;br /&gt;
The command to start the Radiation Monitoring script is simply ''rad_monitors.py''. This script will need to be ran by the ''nagios'' user.&lt;br /&gt;
==Configuration File==&lt;br /&gt;
'''Example Configuration File'''&lt;br /&gt;
 #local:134.50.87.179:55554&lt;br /&gt;
 listen:255.255.255.255:55555&lt;br /&gt;
 sendto:127.0.0.1:54321&lt;br /&gt;
 #sendto:134.50.87.179:54321&lt;br /&gt;
 #verbose&lt;br /&gt;
 #debug&lt;br /&gt;
 noforward&lt;br /&gt;
 #nodaemon&lt;br /&gt;
 #truncate&lt;br /&gt;
&lt;br /&gt;
Lines beginning with # are ignored by the script and may be used for comments on lines seperate from directive lines, or to remove directives from active use. For comments on lines containing directives, please place them at the end and prepend a : before the comment.&lt;br /&gt;
===Configuration Directives===&lt;br /&gt;
====local====&lt;br /&gt;
This directive will allow you to bind to a specific IP address/interface and port number for purposes of UDP packet source information. By default the program will choose whichever interface is needed to talk to the send clients, as well as a random high port. The proper syntax for this directive is as follows:&lt;br /&gt;
 '''local''':''local_ip'':''local_port''&lt;br /&gt;
This directive cannot be changed during run-time.&lt;br /&gt;
====listen====&lt;br /&gt;
This directive will allow you to specify what interface/IP address and port to listen for packets on. By default this is set for UDP broadcasts on ''255.255.255.255''. The proper syntax for this directive is as follows:&lt;br /&gt;
 '''listen''':''listen_ip'':''listen_port''&lt;br /&gt;
This directive cannot be changed during run-time.&lt;br /&gt;
&lt;br /&gt;
====sendto====&lt;br /&gt;
This directive will allow you to specify any number of clients to forward the UDP packets on to, one per directive line. The proper syntax for this directive is as follows:&lt;br /&gt;
 '''sendto''':''target_ip'':''target_port''&lt;br /&gt;
Additional send clients can be added while the script is running by sending SIGHUP or using the DBus ''reload_configuration'' method to reload the configuration file, or by using the DBus ''add_send_client'' method.&lt;br /&gt;
&lt;br /&gt;
====verbose====&lt;br /&gt;
This directive sets the Radiation Monitor script into verbose interactive mode (non-daemonized), for the purposes of examining packet flow and diagnostics. This directive needs no arguments and can simply be specified in the configuration file.&lt;br /&gt;
&lt;br /&gt;
This directive cannot be changed during run-time.&lt;br /&gt;
====debug====&lt;br /&gt;
This directive sets the Radiation Monitor script into a further debugging mode, for program flow and diagnostic purposes.&lt;br /&gt;
&lt;br /&gt;
This directive can be changed during run-time by sending SIGHUP or using the DBus ''reload_configuration'' method to reload the configuration file.&lt;br /&gt;
====noforward====&lt;br /&gt;
This directive disables packet forwarding for the Radiation Monitor. This can be useful if you wish to run the script just for listening purposes, or for troubleshooting.&lt;br /&gt;
&lt;br /&gt;
This directive can be changed during run-time by sending SIGHUP or using the DBus ''reload_configuration'' method to reload the configuration file.&lt;br /&gt;
====nodaemon====&lt;br /&gt;
This directive sets the Radiation Monitor script to run in interactive (non-daemonized) mode, but without verbose output. This can be useful for troubleshooting purposes or if you wish to run the process in a&lt;br /&gt;
screen session.&lt;br /&gt;
&lt;br /&gt;
This directive cannot be changed during run-time.&lt;br /&gt;
====truncate====&lt;br /&gt;
This directive requires the Radiation Monitor script to clear its log file at each session start, rather than appending (the default log method).&lt;br /&gt;
&lt;br /&gt;
This directive cannot be changed during run-time.&lt;br /&gt;
&lt;br /&gt;
=API=&lt;br /&gt;
==DBus Quick Reference==&lt;br /&gt;
'''Service Bus''': ''SystemBus()''&lt;br /&gt;
&lt;br /&gt;
'''Service Name''': ''iac.nagios.radmonitors''&lt;br /&gt;
&lt;br /&gt;
'''Service Path''': ''/IAC/Nagios/RadMonitors''&lt;br /&gt;
&lt;br /&gt;
'''Exposed Methods'''&lt;br /&gt;
 '''get_active_channels()'''&lt;br /&gt;
 '''get_active_monitors()'''&lt;br /&gt;
 '''get_active_monitor_count()'''&lt;br /&gt;
 '''get_radiation_levels()'''&lt;br /&gt;
 '''add_send_client('''''string''''')'''&lt;br /&gt;
 '''reload_configuration()'''&lt;br /&gt;
&lt;br /&gt;
==DBus Interaction==&lt;br /&gt;
Before you can interact with the Radiation Monitor's DBus service, you will need to load some prerequisite Python libraries:&lt;br /&gt;
 import dbus&lt;br /&gt;
This is the minimum to connect to DBus. If you wish to do more than connect as a client, you will need to load the following libraries:&lt;br /&gt;
 import dbus.service, gobject&lt;br /&gt;
 from dbus import glib&lt;br /&gt;
It is also recommend that you initialize threading now if you are planning on performing threaded tasks:&lt;br /&gt;
 gobject.threads_init()&lt;br /&gt;
 glib.init_threads()&lt;br /&gt;
===Connecting to the Radiation Monitor DBus service===&lt;br /&gt;
To interact with the Radiation Monitor DBus service in Python, you will first need to connect to the DBus System bus:&lt;br /&gt;
 ''dbus_bus'' = '''dbus.SystemBus()'''&lt;br /&gt;
'''Note:''' The Radiation Monitor script must be run as ''root'' to connect to the System bus.&lt;br /&gt;
&lt;br /&gt;
Once you have successfully connected to the System bus, you will then want to get the DBus service object for the Radiation Monitor. This is done via the '''get_object''' bus method:&lt;br /&gt;
 ''dbus_object'' = ''dbus_bus''.'''get_object('''''service_name'', ''service_path''''')'''&lt;br /&gt;
For our Radiation Monitor interface, the proper invocation is as follows:&lt;br /&gt;
 ''dbus_object'' = ''dbus_bus''.'''get_object('''''&amp;quot;iac.nagios.radmonitors&amp;quot;'', ''&amp;quot;/IAC/Nagios/RadMonitors&amp;quot;''''')'''&lt;br /&gt;
After this is done, you may choose to call the Radiation Monitor's DBus methods either through the service object itself, or you may create references to specific methods for use:&lt;br /&gt;
 ''dbus_method_ref'' = ''dbus_object''.'''get_dbus_method('''''method'', ''service_name''''')'''&lt;br /&gt;
Example:&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; remote_method = remote_object.get_dbus_method('get_active_monitor_count', 'iac.nagios.radmonitors')&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; remote_method()&lt;br /&gt;
 dbus.Int32(7)&lt;br /&gt;
&lt;br /&gt;
===Introspection Schema===&lt;br /&gt;
The Radiation Monitor DBus service returns the following schema upon being called with its inherited Introspect() method:&lt;br /&gt;
 &amp;lt;!DOCTYPE node PUBLIC &amp;quot;-//freedesktop//DTD D-BUS Object Introspection 1.0//EN&amp;quot;&lt;br /&gt;
 &amp;quot;http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;node name=&amp;quot;/IAC/Nagios/RadMonitors&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;interface name=&amp;quot;iac.nagios.radmonitors&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;method name=&amp;quot;reload_configuration&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;/method&amp;gt;&lt;br /&gt;
     &amp;lt;method name=&amp;quot;get_active_monitors&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;/method&amp;gt;&lt;br /&gt;
     &amp;lt;method name=&amp;quot;get_active_monitor_count&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;/method&amp;gt;&lt;br /&gt;
     &amp;lt;method name=&amp;quot;add_send_client&amp;quot;&amp;gt;&lt;br /&gt;
       &amp;lt;arg direction=&amp;quot;in&amp;quot;  type=&amp;quot;v&amp;quot; name=&amp;quot;new_client&amp;quot; /&amp;gt;&lt;br /&gt;
     &amp;lt;/method&amp;gt;&lt;br /&gt;
     &amp;lt;method name=&amp;quot;get_radiation_levels&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;/method&amp;gt;&lt;br /&gt;
     &amp;lt;method name=&amp;quot;get_active_channels&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;/method&amp;gt;&lt;br /&gt;
   &amp;lt;/interface&amp;gt;&lt;br /&gt;
   &amp;lt;interface name=&amp;quot;org.freedesktop.DBus.Introspectable&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;method name=&amp;quot;Introspect&amp;quot;&amp;gt;&lt;br /&gt;
       &amp;lt;arg direction=&amp;quot;out&amp;quot; type=&amp;quot;s&amp;quot; /&amp;gt;&lt;br /&gt;
     &amp;lt;/method&amp;gt;&lt;br /&gt;
   &amp;lt;/interface&amp;gt;&lt;br /&gt;
 &amp;lt;/node&amp;gt;&lt;br /&gt;
===Methods===&lt;br /&gt;
====get_active_channels====&lt;br /&gt;
This exposed DBus method will return a dbus.Array value representing the active channels the script sees. It is invoked in the following manner:&lt;br /&gt;
 ''dbus_object''.'''get_active_channels()'''&lt;br /&gt;
Example output:&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; remote_object.get_active_channels()&lt;br /&gt;
 dbus.Array([dbus.Int32(1), dbus.Int32(2), dbus.Int32(3), dbus.Int32(4), dbus.Int32(5), dbus.Int32(6), dbus.Int32(7)], signature=dbus.Signature('i'))&lt;br /&gt;
====get_active_monitors====&lt;br /&gt;
This exposed DBus method will return a dbus.Array value representing the IP address of all radiation monitors the script sees. It is invoked in the following manner:&lt;br /&gt;
 ''dbus_object''.'''get_active_monitors()'''&lt;br /&gt;
Example output:&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; remote_object.get_active_monitors()&lt;br /&gt;
 dbus.Array([dbus.String(u'192.168.40.155'), dbus.String(u'192.168.40.154'), dbus.String(u'192.168.40.121'), dbus.String(u'192.168.40.172'),&lt;br /&gt;
 dbus.String(u'192.168.40.137'), dbus.String(u'192.168.40.159'), dbus.String(u'192.168.40.120')], signature=dbus.Signature('s'))&lt;br /&gt;
====get_active_monitor_count====&lt;br /&gt;
This exposed DBus method will return a dbus.Int32 value representing the total number of active monitors the script sees. It is invoked in the following manner:&lt;br /&gt;
 ''dbus_object''.'''get_active_monitor_count()'''&lt;br /&gt;
Example output:&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; remote_object.get_active_monitor_count()&lt;br /&gt;
 dbus.Int32(7)&lt;br /&gt;
====get_radiation_levels====&lt;br /&gt;
This exposed DBus method will return a dbus.Array value representing the current radiation level of all monitors the script sees. It is invoked in the following manner:&lt;br /&gt;
 ''dbus_object''.'''get_radiation_levels()'''&lt;br /&gt;
Example output:&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; remote_object.get_radiation_levels()&lt;br /&gt;
 dbus.Array([dbus.String(u'0.0'), dbus.String(u'0.0'), dbus.String(u'0.0'), dbus.String(u'0.0'), dbus.String(u'0.1'), dbus.String(u'0.1'),&lt;br /&gt;
 dbus.String(u'0.1')], signature=dbus.Signature('s'))&lt;br /&gt;
====add_send_client====&lt;br /&gt;
This exposed DBus method will add a new send target client to a running instance of the script, allowing for on-the-fly addition of targets without restarting. It is invoked in the following manner:&lt;br /&gt;
 ''dbus_object''.'''add_send_client(''string'')'''&lt;br /&gt;
Where ''string'' is a string containing the IP address and destination port number of the send target, formatted as &amp;quot;''ip'':''port''&amp;quot;.&lt;br /&gt;
The function returns a dbus.Boolean value; ''True'' if the add is successful, ''False'' if not.&lt;br /&gt;
&lt;br /&gt;
'''Note:''' This only adds the new send client to the in-memory send list. If you wish to retain this send client for future use, you will need to edit the configuration file and add&lt;br /&gt;
the appropriate ''sendto'' directive for that client.&lt;br /&gt;
&lt;br /&gt;
Example output:&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; remote_object.add_send_client(&amp;quot;134.50.87.179:55555&amp;quot;)&lt;br /&gt;
 dbus.Boolean(True)&lt;br /&gt;
&lt;br /&gt;
====reload_configuration====&lt;br /&gt;
This exposed DBus method will cause a running instance of the script to reload its configuration file, as if having been sent signal SIGHUP. It is invoked in the following manner:&lt;br /&gt;
 ''dbus_object''.'''reload_configuration()'''&lt;br /&gt;
Then function always returns dbus.Boolean ''True'' at this time.&lt;br /&gt;
&lt;br /&gt;
Example output:&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; remote_object.reload_configuration()&lt;br /&gt;
 dbus.Boolean(True)&lt;/div&gt;</summary>
		<author><name>Buckminst</name></author>
	</entry>
	<entry>
		<id>https://wiki.iac.isu.edu/index.php?title=Monitoring_Server&amp;diff=56947</id>
		<title>Monitoring Server</title>
		<link rel="alternate" type="text/html" href="https://wiki.iac.isu.edu/index.php?title=Monitoring_Server&amp;diff=56947"/>
		<updated>2011-02-15T01:05:51Z</updated>

		<summary type="html">&lt;p&gt;Buckminst: Inca has been retired.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The '''IAC monitoring server''' can be found at http://hal.iac.isu.edu/nagios3/&lt;br /&gt;
&lt;br /&gt;
=Monitored Systems and Services=&lt;br /&gt;
&lt;br /&gt;
==Systems &amp;amp; Services Chart==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;font-size: x-small;&amp;quot;&lt;br /&gt;
|+ Systems and Services Currently Monitored&lt;br /&gt;
! System Name !! CPU Temp !! CPU Usage !! Current Load !! # Users !! DRBD !! Disk Space !! HDD Temp !! Heartbeat !! LDAP !! Memory !! # Network Connections !! Network I/O !! RAID !! SMART !! SSH !! # Processes !! HTTP !! MySQL !! Samba !! System Temperature !! PSU !! PING !! Other&lt;br /&gt;
|-&lt;br /&gt;
! Alan's Desktop&lt;br /&gt;
| {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! aztec.iac.isu.edu&lt;br /&gt;
| {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! brems.iac.isu.edu&lt;br /&gt;
| {{no}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || Averaging Test, Cluster Room Temperatures, Slurm Queue, Slave Nodes&lt;br /&gt;
|-&lt;br /&gt;
! cleanroom.temperatures&lt;br /&gt;
| {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || Clean Room Temperatures&lt;br /&gt;
|-&lt;br /&gt;
! codex.iac.isu.edu&lt;br /&gt;
| {{no}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! cornwall.iac.isu.edu&lt;br /&gt;
| {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! crick.iac.isu.edu&lt;br /&gt;
| {{no}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{no}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! darwin.iac.isu.edu&lt;br /&gt;
| {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! devsource.iac.isu.edu&lt;br /&gt;
| {{no}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! iac-gateway&lt;br /&gt;
| {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! license.iac.isu.edu&lt;br /&gt;
| {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! hal.iac.isu.edu&lt;br /&gt;
| {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || Radiation Monitors&lt;br /&gt;
|-&lt;br /&gt;
! physics-gateway&lt;br /&gt;
| {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! seattle.iac.isu.edu&lt;br /&gt;
| {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || Radiation Monitors&lt;br /&gt;
|-&lt;br /&gt;
! tesla.iac.isu.edu&lt;br /&gt;
| {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! watson.iac.isu.edu&lt;br /&gt;
| {{no}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{no}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! wiki.iac.isu.edu&lt;br /&gt;
| {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! vienna.iac.isu.edu&lt;br /&gt;
| {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{no}}ne&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Systems Monitored (By Building)==&lt;br /&gt;
&lt;br /&gt;
===Physical Science===&lt;br /&gt;
* physics-gateway&lt;br /&gt;
* aztec.iac.isu.edu&lt;br /&gt;
* brems.iac.isu.edu&lt;br /&gt;
* brems slave nodes&lt;br /&gt;
* cleanroom.temperatures&lt;br /&gt;
* codex.iac.isu.edu&lt;br /&gt;
* cornwall.iac.isu.edu&lt;br /&gt;
* crick.iac.isu.edu&lt;br /&gt;
* darwin.iac.isu.edu&lt;br /&gt;
* devsource.iac.isu.edu&lt;br /&gt;
* hal.iac.isu.edu&lt;br /&gt;
* inca.iac.isu.edu&lt;br /&gt;
* tesla.iac.isu.edu&lt;br /&gt;
* watson.iac.isu.edu&lt;br /&gt;
* wiki.iac.isu.edu&lt;br /&gt;
* vienna.iac.isu.edu&lt;br /&gt;
&lt;br /&gt;
===Idaho Accelerator Center===&lt;br /&gt;
* iac-gateway&lt;br /&gt;
* alans-desktop&lt;br /&gt;
* license.iac.isu.edu&lt;br /&gt;
* seattle.iac.isu.edu&lt;br /&gt;
&lt;br /&gt;
==Systems to Monitor==&lt;br /&gt;
*Slave nodes (partial)&lt;br /&gt;
*Webserver&lt;br /&gt;
*Backup server&lt;/div&gt;</summary>
		<author><name>Buckminst</name></author>
	</entry>
	<entry>
		<id>https://wiki.iac.isu.edu/index.php?title=MediaWiki:Sitenotice&amp;diff=54527</id>
		<title>MediaWiki:Sitenotice</title>
		<link rel="alternate" type="text/html" href="https://wiki.iac.isu.edu/index.php?title=MediaWiki:Sitenotice&amp;diff=54527"/>
		<updated>2010-12-31T02:20:06Z</updated>

		<summary type="html">&lt;p&gt;Buckminst: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;The IAC Wiki has been migrated to a new server. Wiki user accounts now use the IAC Single Sign-On system (used by IAC email, etc). If you do not already have an IAC Single Sign-On username, request an account [https://mail.iac.isu.edu/glados/glados-submitrequest.php here]. You will need to request the account from an on-campus computer.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt; If you have information on your old user talk pages you need transferred, let Brian or Curtis know.&amp;lt;/font&amp;gt; ==&lt;/div&gt;</summary>
		<author><name>Buckminst</name></author>
	</entry>
	<entry>
		<id>https://wiki.iac.isu.edu/index.php?title=MediaWiki:Sitenotice&amp;diff=54526</id>
		<title>MediaWiki:Sitenotice</title>
		<link rel="alternate" type="text/html" href="https://wiki.iac.isu.edu/index.php?title=MediaWiki:Sitenotice&amp;diff=54526"/>
		<updated>2010-12-31T02:16:32Z</updated>

		<summary type="html">&lt;p&gt;Buckminst: /* The IAC Wiki has been migrated to a new server. Wiki user accounts now use the IAC Single Sign-On system (used by IAC email, etc). If you do not already have an IAC Single Sign-On username, request an account here. You will need to request the acc&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;-&lt;/div&gt;</summary>
		<author><name>Buckminst</name></author>
	</entry>
	<entry>
		<id>https://wiki.iac.isu.edu/index.php?title=MediaWiki:Sitenotice&amp;diff=54525</id>
		<title>MediaWiki:Sitenotice</title>
		<link rel="alternate" type="text/html" href="https://wiki.iac.isu.edu/index.php?title=MediaWiki:Sitenotice&amp;diff=54525"/>
		<updated>2010-12-31T02:15:17Z</updated>

		<summary type="html">&lt;p&gt;Buckminst: Created page with '== &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;The IAC Wiki has been migrated to a new server. Wiki user accounts now use the IAC Single Sign-On system (used by IAC email, etc). If you do not already have…'&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;The IAC Wiki has been migrated to a new server. Wiki user accounts now use the IAC Single Sign-On system (used by IAC email, etc). If you do not already have an IAC Single Sign-On username, request an account [https://mail.iac.isu.edu/glados/glados-submitrequest.php here]. You will need to request the account from an on-campus computer.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt; If you have information on your old user talk pages you need transferred, let Brian or Curtis know.&amp;lt;/font&amp;gt; ==&lt;/div&gt;</summary>
		<author><name>Buckminst</name></author>
	</entry>
	<entry>
		<id>https://wiki.iac.isu.edu/index.php?title=Main_Page&amp;diff=2</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.iac.isu.edu/index.php?title=Main_Page&amp;diff=2"/>
		<updated>2010-12-29T23:23:00Z</updated>

		<summary type="html">&lt;p&gt;Buckminst: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;big&amp;gt;Welcome to the IACwiki Main page!&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Help on MediaWiki editing codes can be found on the [http://www.mediawiki.org/wiki/Help:Formatting MediaWiki website]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We have the following sections:&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
IAC [[Computer Help]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
IAC [[clusters]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[IAC Experiments]]&lt;br /&gt;
&lt;br /&gt;
[[Laboratory for Detector Science]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Nerd Group]]&lt;br /&gt;
&lt;br /&gt;
[[Physics]]&lt;br /&gt;
&lt;br /&gt;
[[Software Access Information]]&lt;/div&gt;</summary>
		<author><name>Buckminst</name></author>
	</entry>
	<entry>
		<id>https://wiki.iac.isu.edu/index.php?title=Monitoring_Server&amp;diff=29562</id>
		<title>Monitoring Server</title>
		<link rel="alternate" type="text/html" href="https://wiki.iac.isu.edu/index.php?title=Monitoring_Server&amp;diff=29562"/>
		<updated>2010-12-28T00:31:40Z</updated>

		<summary type="html">&lt;p&gt;Buckminst: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The '''IAC monitoring server''' can be found at http://hal.iac.isu.edu/nagios3/&lt;br /&gt;
&lt;br /&gt;
=Monitored Systems and Services=&lt;br /&gt;
&lt;br /&gt;
==Systems &amp;amp; Services Chart==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;font-size: x-small;&amp;quot;&lt;br /&gt;
|+ Systems and Services Currently Monitored&lt;br /&gt;
! System Name !! CPU Temp !! CPU Usage !! Current Load !! # Users !! DRBD !! Disk Space !! HDD Temp !! Heartbeat !! LDAP !! Memory !! # Network Connections !! Network I/O !! RAID !! SMART !! SSH !! # Processes !! HTTP !! MySQL !! Samba !! System Temperature !! PSU !! PING !! Other&lt;br /&gt;
|-&lt;br /&gt;
! Alan's Desktop&lt;br /&gt;
| {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! aztec.iac.isu.edu&lt;br /&gt;
| {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! brems.iac.isu.edu&lt;br /&gt;
| {{no}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || Averaging Test, Cluster Room Temperatures, Slurm Queue, Slave Nodes&lt;br /&gt;
|-&lt;br /&gt;
! cleanroom.temperatures&lt;br /&gt;
| {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || Clean Room Temperatures&lt;br /&gt;
|-&lt;br /&gt;
! codex.iac.isu.edu&lt;br /&gt;
| {{no}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! cornwall.iac.isu.edu&lt;br /&gt;
| {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! crick.iac.isu.edu&lt;br /&gt;
| {{no}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{no}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! darwin.iac.isu.edu&lt;br /&gt;
| {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! devsource.iac.isu.edu&lt;br /&gt;
| {{no}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! iac-gateway&lt;br /&gt;
| {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! inca.iac.isu.edu&lt;br /&gt;
| {{no}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! license.iac.isu.edu&lt;br /&gt;
| {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! hal.iac.isu.edu&lt;br /&gt;
| {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || Radiation Monitors&lt;br /&gt;
|-&lt;br /&gt;
! physics-gateway&lt;br /&gt;
| {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! seattle.iac.isu.edu&lt;br /&gt;
| {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || Radiation Monitors&lt;br /&gt;
|-&lt;br /&gt;
! tesla.iac.isu.edu&lt;br /&gt;
| {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! watson.iac.isu.edu&lt;br /&gt;
| {{no}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{no}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! wiki.iac.isu.edu&lt;br /&gt;
| {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! vienna.iac.isu.edu&lt;br /&gt;
| {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{no}}ne&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Systems Monitored (By Building)==&lt;br /&gt;
&lt;br /&gt;
===Physical Science===&lt;br /&gt;
* physics-gateway&lt;br /&gt;
* aztec.iac.isu.edu&lt;br /&gt;
* brems.iac.isu.edu&lt;br /&gt;
* brems slave nodes&lt;br /&gt;
* cleanroom.temperatures&lt;br /&gt;
* codex.iac.isu.edu&lt;br /&gt;
* cornwall.iac.isu.edu&lt;br /&gt;
* crick.iac.isu.edu&lt;br /&gt;
* darwin.iac.isu.edu&lt;br /&gt;
* devsource.iac.isu.edu&lt;br /&gt;
* hal.iac.isu.edu&lt;br /&gt;
* inca.iac.isu.edu&lt;br /&gt;
* tesla.iac.isu.edu&lt;br /&gt;
* watson.iac.isu.edu&lt;br /&gt;
* wiki.iac.isu.edu&lt;br /&gt;
* vienna.iac.isu.edu&lt;br /&gt;
&lt;br /&gt;
===Idaho Accelerator Center===&lt;br /&gt;
* iac-gateway&lt;br /&gt;
* alans-desktop&lt;br /&gt;
* license.iac.isu.edu&lt;br /&gt;
* seattle.iac.isu.edu&lt;br /&gt;
&lt;br /&gt;
==Systems to Monitor==&lt;br /&gt;
*Slave nodes (partial)&lt;br /&gt;
*Webserver&lt;br /&gt;
*Backup server&lt;/div&gt;</summary>
		<author><name>Buckminst</name></author>
	</entry>
	<entry>
		<id>https://wiki.iac.isu.edu/index.php?title=Monitoring_Server&amp;diff=29561</id>
		<title>Monitoring Server</title>
		<link rel="alternate" type="text/html" href="https://wiki.iac.isu.edu/index.php?title=Monitoring_Server&amp;diff=29561"/>
		<updated>2010-11-02T01:38:24Z</updated>

		<summary type="html">&lt;p&gt;Buckminst: /* Systems to Monitor */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The '''IAC monitoring server''' can be found at http://hal.iac.isu.edu/nagios3/&lt;br /&gt;
&lt;br /&gt;
=Monitored Systems and Services=&lt;br /&gt;
&lt;br /&gt;
==Systems &amp;amp; Services Chart==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;font-size: x-small;&amp;quot;&lt;br /&gt;
|+ Systems and Services Currently Monitored&lt;br /&gt;
! System Name !! CPU Temp !! CPU Usage !! Current Load !! # Users !! DRBD !! Disk Space !! HDD Temp !! Heartbeat !! LDAP !! Memory !! # Network Connections !! Network I/O !! RAID !! SMART !! SSH !! # Processes !! HTTP !! MySQL !! Samba !! System Temperature !! PSU !! PING !! Other&lt;br /&gt;
|-&lt;br /&gt;
! Alan's Desktop&lt;br /&gt;
| {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! aztec.iac.isu.edu&lt;br /&gt;
| {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! brems.iac.isu.edu&lt;br /&gt;
| {{no}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || Averaging Test, Cluster Room Temperatures, Slurm Queue, Slave Nodes&lt;br /&gt;
|-&lt;br /&gt;
! cleanroom.temperatures&lt;br /&gt;
| {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || Clean Room Temperatures&lt;br /&gt;
|-&lt;br /&gt;
! codex.iac.isu.edu&lt;br /&gt;
| {{no}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! cornwall.iac.isu.edu&lt;br /&gt;
| {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! crick.iac.isu.edu&lt;br /&gt;
| {{no}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{no}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! darwin.iac.isu.edu&lt;br /&gt;
| {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! devsource.iac.isu.edu&lt;br /&gt;
| {{no}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! iac-gateway&lt;br /&gt;
| {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! inca.iac.isu.edu&lt;br /&gt;
| {{no}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! license.iac.isu.edu&lt;br /&gt;
| {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! hal.iac.isu.edu&lt;br /&gt;
| {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || Radiation Monitors&lt;br /&gt;
|-&lt;br /&gt;
! physics-gateway&lt;br /&gt;
| {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! seattle.iac.isu.edu&lt;br /&gt;
| {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || Radiation Monitors&lt;br /&gt;
|-&lt;br /&gt;
! tesla.iac.isu.edu&lt;br /&gt;
| {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! watson.iac.isu.edu&lt;br /&gt;
| {{no}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{no}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! wiki.iac.isu.edu&lt;br /&gt;
| {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{no}}ne&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Systems Monitored (By Building)==&lt;br /&gt;
&lt;br /&gt;
===Physical Science===&lt;br /&gt;
* physics-gateway&lt;br /&gt;
* aztec.iac.isu.edu&lt;br /&gt;
* brems.iac.isu.edu&lt;br /&gt;
* brems slave nodes&lt;br /&gt;
* cleanroom.temperatures&lt;br /&gt;
* codex.iac.isu.edu&lt;br /&gt;
* cornwall.iac.isu.edu&lt;br /&gt;
* crick.iac.isu.edu&lt;br /&gt;
* darwin.iac.isu.edu&lt;br /&gt;
* devsource.iac.isu.edu&lt;br /&gt;
* hal.iac.isu.edu&lt;br /&gt;
* inca.iac.isu.edu&lt;br /&gt;
* tesla.iac.isu.edu&lt;br /&gt;
* watson.iac.isu.edu&lt;br /&gt;
* wiki.iac.isu.edu&lt;br /&gt;
&lt;br /&gt;
===Idaho Accelerator Center===&lt;br /&gt;
* iac-gateway&lt;br /&gt;
* alans-desktop&lt;br /&gt;
* license.iac.isu.edu&lt;br /&gt;
* seattle.iac.isu.edu&lt;br /&gt;
&lt;br /&gt;
==Systems to Monitor==&lt;br /&gt;
*Slave nodes (partial)&lt;br /&gt;
*Webserver&lt;br /&gt;
*Backup server&lt;/div&gt;</summary>
		<author><name>Buckminst</name></author>
	</entry>
	<entry>
		<id>https://wiki.iac.isu.edu/index.php?title=Monitoring_Server&amp;diff=29560</id>
		<title>Monitoring Server</title>
		<link rel="alternate" type="text/html" href="https://wiki.iac.isu.edu/index.php?title=Monitoring_Server&amp;diff=29560"/>
		<updated>2010-11-02T01:37:35Z</updated>

		<summary type="html">&lt;p&gt;Buckminst: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The '''IAC monitoring server''' can be found at http://hal.iac.isu.edu/nagios3/&lt;br /&gt;
&lt;br /&gt;
=Monitored Systems and Services=&lt;br /&gt;
&lt;br /&gt;
==Systems &amp;amp; Services Chart==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;font-size: x-small;&amp;quot;&lt;br /&gt;
|+ Systems and Services Currently Monitored&lt;br /&gt;
! System Name !! CPU Temp !! CPU Usage !! Current Load !! # Users !! DRBD !! Disk Space !! HDD Temp !! Heartbeat !! LDAP !! Memory !! # Network Connections !! Network I/O !! RAID !! SMART !! SSH !! # Processes !! HTTP !! MySQL !! Samba !! System Temperature !! PSU !! PING !! Other&lt;br /&gt;
|-&lt;br /&gt;
! Alan's Desktop&lt;br /&gt;
| {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! aztec.iac.isu.edu&lt;br /&gt;
| {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! brems.iac.isu.edu&lt;br /&gt;
| {{no}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || Averaging Test, Cluster Room Temperatures, Slurm Queue, Slave Nodes&lt;br /&gt;
|-&lt;br /&gt;
! cleanroom.temperatures&lt;br /&gt;
| {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || Clean Room Temperatures&lt;br /&gt;
|-&lt;br /&gt;
! codex.iac.isu.edu&lt;br /&gt;
| {{no}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! cornwall.iac.isu.edu&lt;br /&gt;
| {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! crick.iac.isu.edu&lt;br /&gt;
| {{no}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{no}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! darwin.iac.isu.edu&lt;br /&gt;
| {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! devsource.iac.isu.edu&lt;br /&gt;
| {{no}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! iac-gateway&lt;br /&gt;
| {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! inca.iac.isu.edu&lt;br /&gt;
| {{no}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! license.iac.isu.edu&lt;br /&gt;
| {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! hal.iac.isu.edu&lt;br /&gt;
| {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || Radiation Monitors&lt;br /&gt;
|-&lt;br /&gt;
! physics-gateway&lt;br /&gt;
| {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! seattle.iac.isu.edu&lt;br /&gt;
| {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || Radiation Monitors&lt;br /&gt;
|-&lt;br /&gt;
! tesla.iac.isu.edu&lt;br /&gt;
| {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! watson.iac.isu.edu&lt;br /&gt;
| {{no}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{no}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! wiki.iac.isu.edu&lt;br /&gt;
| {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{no}}ne&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Systems Monitored (By Building)==&lt;br /&gt;
&lt;br /&gt;
===Physical Science===&lt;br /&gt;
* physics-gateway&lt;br /&gt;
* aztec.iac.isu.edu&lt;br /&gt;
* brems.iac.isu.edu&lt;br /&gt;
* brems slave nodes&lt;br /&gt;
* cleanroom.temperatures&lt;br /&gt;
* codex.iac.isu.edu&lt;br /&gt;
* cornwall.iac.isu.edu&lt;br /&gt;
* crick.iac.isu.edu&lt;br /&gt;
* darwin.iac.isu.edu&lt;br /&gt;
* devsource.iac.isu.edu&lt;br /&gt;
* hal.iac.isu.edu&lt;br /&gt;
* inca.iac.isu.edu&lt;br /&gt;
* tesla.iac.isu.edu&lt;br /&gt;
* watson.iac.isu.edu&lt;br /&gt;
* wiki.iac.isu.edu&lt;br /&gt;
&lt;br /&gt;
===Idaho Accelerator Center===&lt;br /&gt;
* iac-gateway&lt;br /&gt;
* alans-desktop&lt;br /&gt;
* license.iac.isu.edu&lt;br /&gt;
* seattle.iac.isu.edu&lt;br /&gt;
&lt;br /&gt;
==Systems to Monitor==&lt;br /&gt;
**Slave nodes (partial)&lt;br /&gt;
*Webserver&lt;br /&gt;
*Backup server&lt;/div&gt;</summary>
		<author><name>Buckminst</name></author>
	</entry>
	<entry>
		<id>https://wiki.iac.isu.edu/index.php?title=Monitoring_Server&amp;diff=29559</id>
		<title>Monitoring Server</title>
		<link rel="alternate" type="text/html" href="https://wiki.iac.isu.edu/index.php?title=Monitoring_Server&amp;diff=29559"/>
		<updated>2010-11-02T01:35:30Z</updated>

		<summary type="html">&lt;p&gt;Buckminst: /* Systems &amp;amp; Services Chart */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The '''IAC monitoring server''' can be found at http://hal.iac.isu.edu/nagios3/&lt;br /&gt;
&lt;br /&gt;
=Monitored Systems and Services=&lt;br /&gt;
&lt;br /&gt;
==Systems &amp;amp; Services Chart==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;font-size: x-small;&amp;quot;&lt;br /&gt;
|+ Systems and Services Currently Monitored&lt;br /&gt;
! System Name !! CPU Temp !! CPU Usage !! Current Load !! # Users !! DRBD !! Disk Space !! HDD Temp !! Heartbeat !! LDAP !! Memory !! # Network Connections !! Network I/O !! RAID !! SMART !! SSH !! # Processes !! HTTP !! MySQL !! Samba !! System Temperature !! PSU !! PING !! Other&lt;br /&gt;
|-&lt;br /&gt;
! Alan's Desktop&lt;br /&gt;
| {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! aztec.iac.isu.edu&lt;br /&gt;
| {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! brems.iac.isu.edu&lt;br /&gt;
| {{no}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || Averaging Test, Cluster Room Temperatures, Slurm Queue, Slave Nodes&lt;br /&gt;
|-&lt;br /&gt;
! cleanroom.temperatures&lt;br /&gt;
| {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || Clean Room Temperatures&lt;br /&gt;
|-&lt;br /&gt;
! codex.iac.isu.edu&lt;br /&gt;
| {{no}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! cornwall.iac.isu.edu&lt;br /&gt;
| {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! crick.iac.isu.edu&lt;br /&gt;
| {{no}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{no}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! darwin.iac.isu.edu&lt;br /&gt;
| {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! devsource.iac.isu.edu&lt;br /&gt;
| {{no}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! iac-gateway&lt;br /&gt;
| {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! inca.iac.isu.edu&lt;br /&gt;
| {{no}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! license.iac.isu.edu&lt;br /&gt;
| {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! hal.iac.isu.edu&lt;br /&gt;
| {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || Radiation Monitors&lt;br /&gt;
|-&lt;br /&gt;
! physics-gateway&lt;br /&gt;
| {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! seattle.iac.isu.edu&lt;br /&gt;
| {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || Radiation Monitors&lt;br /&gt;
|-&lt;br /&gt;
! tesla.iac.isu.edu&lt;br /&gt;
| {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! watson.iac.isu.edu&lt;br /&gt;
| {{no}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{no}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! wiki.iac.isu.edu&lt;br /&gt;
| {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{no}}ne&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Systems Monitored (By Building)==&lt;br /&gt;
&lt;br /&gt;
===Physical Science===&lt;br /&gt;
* physics-gateway&lt;br /&gt;
* brems.iac.isu.edu&lt;br /&gt;
* cleanroom.temperatures&lt;br /&gt;
* codex.iac.isu.edu&lt;br /&gt;
* crick.iac.isu.edu&lt;br /&gt;
* darwin.iac.isu.edu&lt;br /&gt;
* devsource.iac.isu.edu&lt;br /&gt;
* inca.iac.isu.edu&lt;br /&gt;
* hal.iac.isu.edu&lt;br /&gt;
* watson.iac.isu.edu&lt;br /&gt;
* wiki.iac.isu.edu&lt;br /&gt;
&lt;br /&gt;
===Idaho Accelerator Center===&lt;br /&gt;
* iac-gateway&lt;br /&gt;
* alans-desktop&lt;br /&gt;
* license.iac.isu.edu&lt;br /&gt;
* cornwall.iac.isu.edu&lt;br /&gt;
* seattle.iac.isu.edu&lt;br /&gt;
&lt;br /&gt;
==Systems to Monitor==&lt;br /&gt;
*Brems (Monitored)&lt;br /&gt;
**Slave nodes&lt;br /&gt;
**Slurm queue&lt;br /&gt;
*Webserver&lt;br /&gt;
*Backup server&lt;/div&gt;</summary>
		<author><name>Buckminst</name></author>
	</entry>
	<entry>
		<id>https://wiki.iac.isu.edu/index.php?title=Nerd_Group&amp;diff=21154</id>
		<title>Nerd Group</title>
		<link rel="alternate" type="text/html" href="https://wiki.iac.isu.edu/index.php?title=Nerd_Group&amp;diff=21154"/>
		<updated>2010-10-21T23:15:29Z</updated>

		<summary type="html">&lt;p&gt;Buckminst: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[List of Current Issue]]&lt;br /&gt;
&lt;br /&gt;
[[Network Problem Log]]&lt;br /&gt;
&lt;br /&gt;
[[Group Meetings]]&lt;br /&gt;
&lt;br /&gt;
[[IAC Network Configurations]]&lt;br /&gt;
&lt;br /&gt;
[[Mail Client Settings]]&lt;br /&gt;
&lt;br /&gt;
[[Brems]]&lt;br /&gt;
&lt;br /&gt;
[[Wiki Wishlist]]&lt;br /&gt;
&lt;br /&gt;
[[Pulse Recording Ideas]]&lt;br /&gt;
&lt;br /&gt;
[[Ludlum Rad Monitor Tunneling]]&lt;br /&gt;
&lt;br /&gt;
[[Adding Apache Shares]]&lt;br /&gt;
&lt;br /&gt;
[[LDAP Web Interface Wishlist]]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
[[Newegg Wishlist]]&lt;br /&gt;
&lt;br /&gt;
[[BackupPC Notes]]&lt;br /&gt;
&lt;br /&gt;
[[New Mail Server]]&lt;br /&gt;
&lt;br /&gt;
[[Monitoring Server]]&lt;br /&gt;
&lt;br /&gt;
[[KVM Virtualization]]&lt;br /&gt;
&lt;br /&gt;
[[Apt-Proxy]]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
[https://mail.iac.isu.edu/squirrelmail/ IAC webmail]&lt;/div&gt;</summary>
		<author><name>Buckminst</name></author>
	</entry>
	<entry>
		<id>https://wiki.iac.isu.edu/index.php?title=Monitoring_Server&amp;diff=29558</id>
		<title>Monitoring Server</title>
		<link rel="alternate" type="text/html" href="https://wiki.iac.isu.edu/index.php?title=Monitoring_Server&amp;diff=29558"/>
		<updated>2010-10-11T23:22:20Z</updated>

		<summary type="html">&lt;p&gt;Buckminst: /* Systems &amp;amp; Services Chart */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The '''IAC monitoring server''' can be found at http://hal.iac.isu.edu/nagios3/&lt;br /&gt;
&lt;br /&gt;
=Monitored Systems and Services=&lt;br /&gt;
&lt;br /&gt;
==Systems &amp;amp; Services Chart==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;font-size: x-small;&amp;quot;&lt;br /&gt;
|+ Systems and Services Currently Monitored&lt;br /&gt;
! System Name !! CPU Usage !! Current Load !! # Users !! DRBD !! Disk Space !! HDD Temp !! Heartbeat !! LDAP !! Memory !! # Network Connections !! Network I/O !! RAID !! SMART !! SSH !! # Processes !! HTTP !! MySQL !! Samba !! System Temperature !! PSU !! PING !! Other&lt;br /&gt;
|-&lt;br /&gt;
! Alan's Desktop&lt;br /&gt;
| {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! brems.iac.isu.edu&lt;br /&gt;
| {{yes}} || {{yes}} || {{yes}} || {{no}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || Averaging Test, Cluster Room Temperatures, Slurm Queue, Slave Nodes&lt;br /&gt;
|-&lt;br /&gt;
! cleanroom.temperatures&lt;br /&gt;
| {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || Clean Room Temperatures&lt;br /&gt;
|-&lt;br /&gt;
! codex.iac.isu.edu&lt;br /&gt;
| {{yes}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! cornwall.iac.isu.edu&lt;br /&gt;
| {{yes}} || {{yes}} || {{yes}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! crick.iac.isu.edu&lt;br /&gt;
| {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{no}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! darwin.iac.isu.edu&lt;br /&gt;
| {{yes}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! devsource.iac.isu.edu&lt;br /&gt;
| {{yes}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! iac-gateway&lt;br /&gt;
| {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! inca.iac.isu.edu&lt;br /&gt;
| {{yes}} || {{yes}} || {{yes}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! license.iac.isu.edu&lt;br /&gt;
| {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! hal.iac.isu.edu&lt;br /&gt;
| {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || Radiation Monitors&lt;br /&gt;
|-&lt;br /&gt;
! physics-gateway&lt;br /&gt;
| {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! seattle.iac.isu.edu&lt;br /&gt;
| {{yes}} || {{yes}} || {{yes}} || {{no}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || Radiation Monitors&lt;br /&gt;
|-&lt;br /&gt;
! watson.iac.isu.edu&lt;br /&gt;
| {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{no}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! wiki.iac.isu.edu&lt;br /&gt;
| {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{no}}ne&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Systems Monitored (By Building)==&lt;br /&gt;
&lt;br /&gt;
===Physical Science===&lt;br /&gt;
* physics-gateway&lt;br /&gt;
* brems.iac.isu.edu&lt;br /&gt;
* cleanroom.temperatures&lt;br /&gt;
* codex.iac.isu.edu&lt;br /&gt;
* crick.iac.isu.edu&lt;br /&gt;
* darwin.iac.isu.edu&lt;br /&gt;
* devsource.iac.isu.edu&lt;br /&gt;
* inca.iac.isu.edu&lt;br /&gt;
* hal.iac.isu.edu&lt;br /&gt;
* watson.iac.isu.edu&lt;br /&gt;
* wiki.iac.isu.edu&lt;br /&gt;
&lt;br /&gt;
===Idaho Accelerator Center===&lt;br /&gt;
* iac-gateway&lt;br /&gt;
* alans-desktop&lt;br /&gt;
* license.iac.isu.edu&lt;br /&gt;
* cornwall.iac.isu.edu&lt;br /&gt;
* seattle.iac.isu.edu&lt;br /&gt;
&lt;br /&gt;
==Systems to Monitor==&lt;br /&gt;
*Brems (Monitored)&lt;br /&gt;
**Slave nodes&lt;br /&gt;
**Slurm queue&lt;br /&gt;
*Webserver&lt;br /&gt;
*Backup server&lt;/div&gt;</summary>
		<author><name>Buckminst</name></author>
	</entry>
	<entry>
		<id>https://wiki.iac.isu.edu/index.php?title=Monitoring_Server&amp;diff=29557</id>
		<title>Monitoring Server</title>
		<link rel="alternate" type="text/html" href="https://wiki.iac.isu.edu/index.php?title=Monitoring_Server&amp;diff=29557"/>
		<updated>2010-10-11T20:29:45Z</updated>

		<summary type="html">&lt;p&gt;Buckminst: /* Systems &amp;amp; Services Chart */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The '''IAC monitoring server''' can be found at http://hal.iac.isu.edu/nagios3/&lt;br /&gt;
&lt;br /&gt;
=Monitored Systems and Services=&lt;br /&gt;
&lt;br /&gt;
==Systems &amp;amp; Services Chart==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;font-size: x-small;&amp;quot;&lt;br /&gt;
|+ Systems and Services Currently Monitored&lt;br /&gt;
! System Name !! CPU Usage !! Current Load !! # Users !! DRBD !! Disk Space !! HDD Temp !! Heartbeat !! LDAP !! Memory !! # Network Connections !! Network I/O !! RAID !! SMART !! SSH !! # Processes !! HTTP !! MySQL !! Samba !! System Temperature !! PSU !! PING !! Other&lt;br /&gt;
|-&lt;br /&gt;
! Alan's Desktop&lt;br /&gt;
| {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! brems.iac.isu.edu&lt;br /&gt;
| {{yes}} || {{yes}} || {{yes}} || {{no}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || Averaging Test, Cluster Room Temperatures, Slurm Queue, Slave Nodes&lt;br /&gt;
|-&lt;br /&gt;
! cleanroom.temperatures&lt;br /&gt;
| {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || Clean Room Temperatures&lt;br /&gt;
|-&lt;br /&gt;
! codex.iac.isu.edu&lt;br /&gt;
| {{yes}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! cornwall.iac.isu.edu&lt;br /&gt;
| {{yes}} || {{yes}} || {{yes}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! crick.iac.isu.edu&lt;br /&gt;
| {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{no}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! darwin.iac.isu.edu&lt;br /&gt;
| {{yes}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! devsource.iac.isu.edu&lt;br /&gt;
| {{yes}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! iac-gateway&lt;br /&gt;
| {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! inca.iac.isu.edu&lt;br /&gt;
| {{yes}} || {{yes}} || {{yes}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! license.iac.isu.edu&lt;br /&gt;
| {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! hal.iac.isu.edu&lt;br /&gt;
| {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || Radiation Monitors&lt;br /&gt;
|-&lt;br /&gt;
! physics-gateway&lt;br /&gt;
| {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! seattle.iac.isu.edu&lt;br /&gt;
| {{yes}} || {{yes}} || {{yes}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || Radiation Monitors&lt;br /&gt;
|-&lt;br /&gt;
! watson.iac.isu.edu&lt;br /&gt;
| {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{no}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! wiki.iac.isu.edu&lt;br /&gt;
| {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{no}}ne&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Systems Monitored (By Building)==&lt;br /&gt;
&lt;br /&gt;
===Physical Science===&lt;br /&gt;
* physics-gateway&lt;br /&gt;
* brems.iac.isu.edu&lt;br /&gt;
* cleanroom.temperatures&lt;br /&gt;
* codex.iac.isu.edu&lt;br /&gt;
* crick.iac.isu.edu&lt;br /&gt;
* darwin.iac.isu.edu&lt;br /&gt;
* devsource.iac.isu.edu&lt;br /&gt;
* inca.iac.isu.edu&lt;br /&gt;
* hal.iac.isu.edu&lt;br /&gt;
* watson.iac.isu.edu&lt;br /&gt;
* wiki.iac.isu.edu&lt;br /&gt;
&lt;br /&gt;
===Idaho Accelerator Center===&lt;br /&gt;
* iac-gateway&lt;br /&gt;
* alans-desktop&lt;br /&gt;
* license.iac.isu.edu&lt;br /&gt;
* cornwall.iac.isu.edu&lt;br /&gt;
* seattle.iac.isu.edu&lt;br /&gt;
&lt;br /&gt;
==Systems to Monitor==&lt;br /&gt;
*Brems (Monitored)&lt;br /&gt;
**Slave nodes&lt;br /&gt;
**Slurm queue&lt;br /&gt;
*Webserver&lt;br /&gt;
*Backup server&lt;/div&gt;</summary>
		<author><name>Buckminst</name></author>
	</entry>
	<entry>
		<id>https://wiki.iac.isu.edu/index.php?title=Monitoring_Server&amp;diff=29556</id>
		<title>Monitoring Server</title>
		<link rel="alternate" type="text/html" href="https://wiki.iac.isu.edu/index.php?title=Monitoring_Server&amp;diff=29556"/>
		<updated>2010-10-11T20:29:18Z</updated>

		<summary type="html">&lt;p&gt;Buckminst: /* Systems &amp;amp; Services Chart */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The '''IAC monitoring server''' can be found at http://hal.iac.isu.edu/nagios3/&lt;br /&gt;
&lt;br /&gt;
=Monitored Systems and Services=&lt;br /&gt;
&lt;br /&gt;
==Systems &amp;amp; Services Chart==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;font-size: x-small;&amp;quot;&lt;br /&gt;
|+ Systems and Services Currently Monitored&lt;br /&gt;
! System Name !! CPU Usage !! Current Load !! # Users !! DRBD !! Disk Space !! HDD Temp !! Heartbeat !! LDAP !! Memory !! # Network Connections !! Network I/O !! RAID !! SMART !! SSH !! # Processes !! HTTP !! MySQL !! Samba !! System Temperature !! PSU !! PING !! Other&lt;br /&gt;
|-&lt;br /&gt;
! Alan's Desktop&lt;br /&gt;
| {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! brems.iac.isu.edu&lt;br /&gt;
| {{yes}} || {{yes}} || {{yes}} || {{no}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || Averaging Test, Cluster Room Temperatures, Slurm Queue, Slave Nodes&lt;br /&gt;
|-&lt;br /&gt;
! cleanroom.temperatures&lt;br /&gt;
| {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || Clean Room Temperatures&lt;br /&gt;
|-&lt;br /&gt;
! codex.iac.isu.edu&lt;br /&gt;
| {{yes}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! cornwall.iac.isu.edu&lt;br /&gt;
| {{yes}} || {{yes}} || {{yes}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! crick.iac.isu.edu&lt;br /&gt;
| {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{no}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! darwin.iac.isu.edu&lt;br /&gt;
| {{yes}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! devsource.iac.isu.edu&lt;br /&gt;
| {{yes}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! iac-gateway&lt;br /&gt;
| {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! inca.iac.isu.edu&lt;br /&gt;
| {{yes}} || {{yes}} || {{yes}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! license.iac.isu.edu&lt;br /&gt;
| {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! hal.iac.isu.edu&lt;br /&gt;
| {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || Radiation Monitors&lt;br /&gt;
|-&lt;br /&gt;
! physics-gateway&lt;br /&gt;
| {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! seattle.iac.isu.edu&lt;br /&gt;
| {{yes}} || {{yes}} || {{yes}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || Radiation Monitors&lt;br /&gt;
|-&lt;br /&gt;
! watson.iac.isu.edu&lt;br /&gt;
| {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{no}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! wiki.iac.isu.edu&lt;br /&gt;
| {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{no}}ne&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Systems Monitored (By Building)==&lt;br /&gt;
&lt;br /&gt;
===Physical Science===&lt;br /&gt;
* physics-gateway&lt;br /&gt;
* brems.iac.isu.edu&lt;br /&gt;
* cleanroom.temperatures&lt;br /&gt;
* codex.iac.isu.edu&lt;br /&gt;
* crick.iac.isu.edu&lt;br /&gt;
* darwin.iac.isu.edu&lt;br /&gt;
* devsource.iac.isu.edu&lt;br /&gt;
* inca.iac.isu.edu&lt;br /&gt;
* hal.iac.isu.edu&lt;br /&gt;
* watson.iac.isu.edu&lt;br /&gt;
* wiki.iac.isu.edu&lt;br /&gt;
&lt;br /&gt;
===Idaho Accelerator Center===&lt;br /&gt;
* iac-gateway&lt;br /&gt;
* alans-desktop&lt;br /&gt;
* license.iac.isu.edu&lt;br /&gt;
* cornwall.iac.isu.edu&lt;br /&gt;
* seattle.iac.isu.edu&lt;br /&gt;
&lt;br /&gt;
==Systems to Monitor==&lt;br /&gt;
*Brems (Monitored)&lt;br /&gt;
**Slave nodes&lt;br /&gt;
**Slurm queue&lt;br /&gt;
*Webserver&lt;br /&gt;
*Backup server&lt;/div&gt;</summary>
		<author><name>Buckminst</name></author>
	</entry>
	<entry>
		<id>https://wiki.iac.isu.edu/index.php?title=Monitoring_Server&amp;diff=29555</id>
		<title>Monitoring Server</title>
		<link rel="alternate" type="text/html" href="https://wiki.iac.isu.edu/index.php?title=Monitoring_Server&amp;diff=29555"/>
		<updated>2010-10-11T20:24:45Z</updated>

		<summary type="html">&lt;p&gt;Buckminst: /* Systems &amp;amp; Services Chart */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The '''IAC monitoring server''' can be found at http://hal.iac.isu.edu/nagios3/&lt;br /&gt;
&lt;br /&gt;
=Monitored Systems and Services=&lt;br /&gt;
&lt;br /&gt;
==Systems &amp;amp; Services Chart==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;font-size: x-small;&amp;quot;&lt;br /&gt;
|+ Systems and Services Currently Monitored&lt;br /&gt;
! System Name !! CPU Usage !! Current Load !! # Users !! DRBD !! Disk Space !! HDD Temp !! Heartbeat !! LDAP !! Memory !! # Network Connections !! Network I/O !! RAID !! SMART !! SSH !! # Processes !! HTTP !! MySQL !! Samba !! System Temperature !! PSU !! PING !! Other&lt;br /&gt;
|-&lt;br /&gt;
! Alan's Desktop&lt;br /&gt;
| {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! brems.iac.isu.edu&lt;br /&gt;
| {{yes}} || {{yes}} || {{yes}} || {{no}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || Averaging Test, Cluster Room Temperatures, Slurm Queue, Slave Nodes&lt;br /&gt;
|-&lt;br /&gt;
! cleanroom.temperatures&lt;br /&gt;
| {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || Clean Room Temperatures&lt;br /&gt;
|-&lt;br /&gt;
! codex.iac.isu.edu&lt;br /&gt;
| {{yes}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! cornwall.iac.isu.edu&lt;br /&gt;
| {{yes}} || {{yes}} || {{yes}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! crick.iac.isu.edu&lt;br /&gt;
| {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{no}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! darwin.iac.isu.edu&lt;br /&gt;
| {{yes}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! devsource.iac.isu.edu&lt;br /&gt;
| {{yes}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! iac-gateway&lt;br /&gt;
| {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! inca.iac.isu.edu&lt;br /&gt;
| {{yes}} || {{yes}} || {{yes}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! license.iac.isu.edu&lt;br /&gt;
| {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! hal.iac.isu.edu&lt;br /&gt;
| {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || Radiation Monitors&lt;br /&gt;
|-&lt;br /&gt;
! physics-gateway&lt;br /&gt;
| {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! seattle.iac.isu.edu&lt;br /&gt;
| {{yes}} || {{yes}} || {{yes}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || Radiation Monitors&lt;br /&gt;
|-&lt;br /&gt;
! watson.iac.isu.edu&lt;br /&gt;
| {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{no}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! wiki.iac.isu.edu&lt;br /&gt;
| {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{no}}ne&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Systems Monitored (By Building)==&lt;br /&gt;
&lt;br /&gt;
===Physical Science===&lt;br /&gt;
* physics-gateway&lt;br /&gt;
* brems.iac.isu.edu&lt;br /&gt;
* cleanroom.temperatures&lt;br /&gt;
* codex.iac.isu.edu&lt;br /&gt;
* crick.iac.isu.edu&lt;br /&gt;
* darwin.iac.isu.edu&lt;br /&gt;
* devsource.iac.isu.edu&lt;br /&gt;
* inca.iac.isu.edu&lt;br /&gt;
* hal.iac.isu.edu&lt;br /&gt;
* watson.iac.isu.edu&lt;br /&gt;
* wiki.iac.isu.edu&lt;br /&gt;
&lt;br /&gt;
===Idaho Accelerator Center===&lt;br /&gt;
* iac-gateway&lt;br /&gt;
* alans-desktop&lt;br /&gt;
* license.iac.isu.edu&lt;br /&gt;
* cornwall.iac.isu.edu&lt;br /&gt;
* seattle.iac.isu.edu&lt;br /&gt;
&lt;br /&gt;
==Systems to Monitor==&lt;br /&gt;
*Brems (Monitored)&lt;br /&gt;
**Slave nodes&lt;br /&gt;
**Slurm queue&lt;br /&gt;
*Webserver&lt;br /&gt;
*Backup server&lt;/div&gt;</summary>
		<author><name>Buckminst</name></author>
	</entry>
	<entry>
		<id>https://wiki.iac.isu.edu/index.php?title=Radiation_Monitor_Python_Script_Documentation&amp;diff=53654</id>
		<title>Radiation Monitor Python Script Documentation</title>
		<link rel="alternate" type="text/html" href="https://wiki.iac.isu.edu/index.php?title=Radiation_Monitor_Python_Script_Documentation&amp;diff=53654"/>
		<updated>2010-09-15T21:09:46Z</updated>

		<summary type="html">&lt;p&gt;Buckminst: /* Connecting to the Radiation Monitor DBus service */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The Radiation Monitor Python script is a DBus-enabled UDP forwarding and reporting script designed to interpret and rebroadcast the information provided by the Ludlum Measurement Inc. 375-9 series Radiation Monitors in use at the IAC and in the ISU Physics building. It utilizes the common ''iac.nagios.'' DBus service and ''/IAC/Nagios/'' service path for statistic reporting to the IAC [[Monitoring_Server|Nagios]] server.&lt;br /&gt;
=Configuration And Use=&lt;br /&gt;
Before first execution, the following directories will need to be created, with proper permissions for the ''nagios'' user to write to them:&lt;br /&gt;
* ''/var/log/iac''&lt;br /&gt;
* ''/etc/iac''&lt;br /&gt;
These directories will be common for the Radiation Monitoring script as well as the Cluster Room Temperature Monitor script.&lt;br /&gt;
&lt;br /&gt;
Once ''/etc/iac'' exists, you will need to create the ''rad_monitors.cfg'' configuration file within that directory. &lt;br /&gt;
The configuration file syntax is described below.&lt;br /&gt;
&lt;br /&gt;
The Radiation Monitor script, if called without a configuration file, uses the following defaults:&lt;br /&gt;
* '''Local Address:''' ''None''&lt;br /&gt;
* '''Listen Address:''' ''255.255.255.255''&lt;br /&gt;
* '''Listen Port:''' ''55555''&lt;br /&gt;
* '''Verbose Mode (Non-Daemon):''' ''False''&lt;br /&gt;
* '''Debug Mode:''' ''False''&lt;br /&gt;
* '''Daemon Mode:''' ''True''&lt;br /&gt;
* '''Log Mode:''' ''Append''&lt;br /&gt;
* '''Send Clients:''' ''None''&lt;br /&gt;
&lt;br /&gt;
The command to start the Radiation Monitoring script is simply ''rad_monitors.py''. This script will need to be ran by the ''nagios'' user.&lt;br /&gt;
==Configuration File==&lt;br /&gt;
'''Example Configuration File'''&lt;br /&gt;
 #local:134.50.87.179:55554&lt;br /&gt;
 listen:255.255.255.255:55555&lt;br /&gt;
 sendto:127.0.0.1:54321&lt;br /&gt;
 #sendto:134.50.87.179:54321&lt;br /&gt;
 #verbose&lt;br /&gt;
 #debug&lt;br /&gt;
 noforward&lt;br /&gt;
 #nodaemon&lt;br /&gt;
 #truncate&lt;br /&gt;
&lt;br /&gt;
Lines beginning with # are ignored by the script and may be used for comments on lines seperate from directive lines, or to remove directives from active use. For comments on lines containing directives, please place them at the end and prepend a : before the comment.&lt;br /&gt;
===Configuration Directives===&lt;br /&gt;
====local====&lt;br /&gt;
This directive will allow you to bind to a specific IP address/interface and port number for purposes of UDP packet source information. By default the program will choose whichever interface is needed to talk to the send clients, as well as a random high port. The proper syntax for this directive is as follows:&lt;br /&gt;
 '''local''':''local_ip'':''local_port''&lt;br /&gt;
This directive cannot be changed during run-time.&lt;br /&gt;
====listen====&lt;br /&gt;
This directive will allow you to specify what interface/IP address and port to listen for packets on. By default this is set for UDP broadcasts on ''255.255.255.255''. The proper syntax for this directive is as follows:&lt;br /&gt;
 '''listen''':''listen_ip'':''listen_port''&lt;br /&gt;
This directive cannot be changed during run-time.&lt;br /&gt;
&lt;br /&gt;
====sendto====&lt;br /&gt;
This directive will allow you to specify any number of clients to forward the UDP packets on to, one per directive line. The proper syntax for this directive is as follows:&lt;br /&gt;
 '''sendto''':''target_ip'':''target_port''&lt;br /&gt;
Additional send clients can be added while the script is running by sending SIGHUP or using the DBus ''reload_configuration'' method to reload the configuration file, or by using the DBus ''add_send_client'' method.&lt;br /&gt;
&lt;br /&gt;
====verbose====&lt;br /&gt;
This directive sets the Radiation Monitor script into verbose interactive mode (non-daemonized), for the purposes of examining packet flow and diagnostics. This directive needs no arguments and can simply be specified in the configuration file.&lt;br /&gt;
&lt;br /&gt;
This directive cannot be changed during run-time.&lt;br /&gt;
====debug====&lt;br /&gt;
This directive sets the Radiation Monitor script into a further debugging mode, for program flow and diagnostic purposes.&lt;br /&gt;
&lt;br /&gt;
This directive can be changed during run-time by sending SIGHUP or using the DBus ''reload_configuration'' method to reload the configuration file.&lt;br /&gt;
====noforward====&lt;br /&gt;
This directive disables packet forwarding for the Radiation Monitor. This can be useful if you wish to run the script just for listening purposes, or for troubleshooting.&lt;br /&gt;
&lt;br /&gt;
This directive can be changed during run-time by sending SIGHUP or using the DBus ''reload_configuration'' method to reload the configuration file.&lt;br /&gt;
====nodaemon====&lt;br /&gt;
This directive sets the Radiation Monitor script to run in interactive (non-daemonized) mode, but without verbose output. This can be useful for troubleshooting purposes or if you wish to run the process in a&lt;br /&gt;
screen session.&lt;br /&gt;
&lt;br /&gt;
This directive cannot be changed during run-time.&lt;br /&gt;
====truncate====&lt;br /&gt;
This directive requires the Radiation Monitor script to clear its log file at each session start, rather than appending (the default log method).&lt;br /&gt;
&lt;br /&gt;
This directive cannot be changed during run-time.&lt;br /&gt;
&lt;br /&gt;
=API=&lt;br /&gt;
==DBus Quick Reference==&lt;br /&gt;
'''Service Bus''': ''SystemBus()''&lt;br /&gt;
&lt;br /&gt;
'''Service Name''': ''iac.nagios.radmonitors''&lt;br /&gt;
&lt;br /&gt;
'''Service Path''': ''/IAC/Nagios/RadMonitors''&lt;br /&gt;
&lt;br /&gt;
'''Exposed Methods'''&lt;br /&gt;
 '''get_active_channels()'''&lt;br /&gt;
 '''get_active_monitors()'''&lt;br /&gt;
 '''get_active_monitor_count()'''&lt;br /&gt;
 '''get_radiation_levels()'''&lt;br /&gt;
 '''add_send_client('''''string''''')'''&lt;br /&gt;
 '''reload_configuration()'''&lt;br /&gt;
&lt;br /&gt;
==DBus Interaction==&lt;br /&gt;
Before you can interact with the Radiation Monitor's DBus service, you will need to load some prerequisite Python libraries:&lt;br /&gt;
 import dbus&lt;br /&gt;
This is the minimum to connect to DBus. If you wish to do more than connect as a client, you will need to load the following libraries:&lt;br /&gt;
 import dbus.service, gobject&lt;br /&gt;
 from dbus import glib&lt;br /&gt;
It is also recommend that you initialize threading now if you are planning on performing threaded tasks:&lt;br /&gt;
 gobject.threads_init()&lt;br /&gt;
 glib.init_threads()&lt;br /&gt;
===Connecting to the Radiation Monitor DBus service===&lt;br /&gt;
To interact with the Radiation Monitor DBus service in Python, you will first need to connect to the DBus System bus:&lt;br /&gt;
 ''dbus_bus'' = '''dbus.SystemBus()'''&lt;br /&gt;
'''Note:''' The Radiation Monitor script must be run as ''root'' to connect to the System bus.&lt;br /&gt;
&lt;br /&gt;
Once you have successfully connected to the session bus, you will then want to get the DBus service object for the Radiation Monitor. This is done via the '''get_object''' bus method:&lt;br /&gt;
 ''dbus_object'' = ''dbus_bus''.'''get_object('''''service_name'', ''service_path''''')'''&lt;br /&gt;
For our Radiation Monitor interface, the proper invocation is as follows:&lt;br /&gt;
 ''dbus_object'' = ''dbus_bus''.'''get_object('''''&amp;quot;iac.nagios.radmonitors&amp;quot;'', ''&amp;quot;/IAC/Nagios/RadMonitors&amp;quot;''''')'''&lt;br /&gt;
After this is done, you may choose to call the Radiation Monitor's DBus methods either through the service object itself, or you may create references to specific methods for use:&lt;br /&gt;
 ''dbus_method_ref'' = ''dbus_object''.'''get_dbus_method('''''method'', ''service_name''''')'''&lt;br /&gt;
Example:&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; remote_method = remote_object.get_dbus_method('get_active_monitor_count', 'iac.nagios.radmonitors')&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; remote_method()&lt;br /&gt;
 dbus.Int32(7)&lt;br /&gt;
&lt;br /&gt;
===Introspection Schema===&lt;br /&gt;
The Radiation Monitor DBus service returns the following schema upon being called with its inherited Introspect() method:&lt;br /&gt;
 &amp;lt;!DOCTYPE node PUBLIC &amp;quot;-//freedesktop//DTD D-BUS Object Introspection 1.0//EN&amp;quot;&lt;br /&gt;
 &amp;quot;http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;node name=&amp;quot;/IAC/Nagios/RadMonitors&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;interface name=&amp;quot;iac.nagios.radmonitors&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;method name=&amp;quot;reload_configuration&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;/method&amp;gt;&lt;br /&gt;
     &amp;lt;method name=&amp;quot;get_active_monitors&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;/method&amp;gt;&lt;br /&gt;
     &amp;lt;method name=&amp;quot;get_active_monitor_count&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;/method&amp;gt;&lt;br /&gt;
     &amp;lt;method name=&amp;quot;add_send_client&amp;quot;&amp;gt;&lt;br /&gt;
       &amp;lt;arg direction=&amp;quot;in&amp;quot;  type=&amp;quot;v&amp;quot; name=&amp;quot;new_client&amp;quot; /&amp;gt;&lt;br /&gt;
     &amp;lt;/method&amp;gt;&lt;br /&gt;
     &amp;lt;method name=&amp;quot;get_radiation_levels&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;/method&amp;gt;&lt;br /&gt;
     &amp;lt;method name=&amp;quot;get_active_channels&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;/method&amp;gt;&lt;br /&gt;
   &amp;lt;/interface&amp;gt;&lt;br /&gt;
   &amp;lt;interface name=&amp;quot;org.freedesktop.DBus.Introspectable&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;method name=&amp;quot;Introspect&amp;quot;&amp;gt;&lt;br /&gt;
       &amp;lt;arg direction=&amp;quot;out&amp;quot; type=&amp;quot;s&amp;quot; /&amp;gt;&lt;br /&gt;
     &amp;lt;/method&amp;gt;&lt;br /&gt;
   &amp;lt;/interface&amp;gt;&lt;br /&gt;
 &amp;lt;/node&amp;gt;&lt;br /&gt;
===Methods===&lt;br /&gt;
====get_active_channels====&lt;br /&gt;
This exposed DBus method will return a dbus.Array value representing the active channels the script sees. It is invoked in the following manner:&lt;br /&gt;
 ''dbus_object''.'''get_active_channels()'''&lt;br /&gt;
Example output:&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; remote_object.get_active_channels()&lt;br /&gt;
 dbus.Array([dbus.Int32(1), dbus.Int32(2), dbus.Int32(3), dbus.Int32(4), dbus.Int32(5), dbus.Int32(6), dbus.Int32(7)], signature=dbus.Signature('i'))&lt;br /&gt;
====get_active_monitors====&lt;br /&gt;
This exposed DBus method will return a dbus.Array value representing the IP address of all radiation monitors the script sees. It is invoked in the following manner:&lt;br /&gt;
 ''dbus_object''.'''get_active_monitors()'''&lt;br /&gt;
Example output:&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; remote_object.get_active_monitors()&lt;br /&gt;
 dbus.Array([dbus.String(u'192.168.40.155'), dbus.String(u'192.168.40.154'), dbus.String(u'192.168.40.121'), dbus.String(u'192.168.40.172'),&lt;br /&gt;
 dbus.String(u'192.168.40.137'), dbus.String(u'192.168.40.159'), dbus.String(u'192.168.40.120')], signature=dbus.Signature('s'))&lt;br /&gt;
====get_active_monitor_count====&lt;br /&gt;
This exposed DBus method will return a dbus.Int32 value representing the total number of active monitors the script sees. It is invoked in the following manner:&lt;br /&gt;
 ''dbus_object''.'''get_active_monitor_count()'''&lt;br /&gt;
Example output:&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; remote_object.get_active_monitor_count()&lt;br /&gt;
 dbus.Int32(7)&lt;br /&gt;
====get_radiation_levels====&lt;br /&gt;
This exposed DBus method will return a dbus.Array value representing the current radiation level of all monitors the script sees. It is invoked in the following manner:&lt;br /&gt;
 ''dbus_object''.'''get_radiation_levels()'''&lt;br /&gt;
Example output:&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; remote_object.get_radiation_levels()&lt;br /&gt;
 dbus.Array([dbus.String(u'0.0'), dbus.String(u'0.0'), dbus.String(u'0.0'), dbus.String(u'0.0'), dbus.String(u'0.1'), dbus.String(u'0.1'),&lt;br /&gt;
 dbus.String(u'0.1')], signature=dbus.Signature('s'))&lt;br /&gt;
====add_send_client====&lt;br /&gt;
This exposed DBus method will add a new send target client to a running instance of the script, allowing for on-the-fly addition of targets without restarting. It is invoked in the following manner:&lt;br /&gt;
 ''dbus_object''.'''add_send_client(''string'')'''&lt;br /&gt;
Where ''string'' is a string containing the IP address and destination port number of the send target, formatted as &amp;quot;''ip'':''port''&amp;quot;.&lt;br /&gt;
The function returns a dbus.Boolean value; ''True'' if the add is successful, ''False'' if not.&lt;br /&gt;
&lt;br /&gt;
'''Note:''' This only adds the new send client to the in-memory send list. If you wish to retain this send client for future use, you will need to edit the configuration file and add&lt;br /&gt;
the appropriate ''sendto'' directive for that client.&lt;br /&gt;
&lt;br /&gt;
Example output:&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; remote_object.add_send_client(&amp;quot;134.50.87.179:55555&amp;quot;)&lt;br /&gt;
 dbus.Boolean(True)&lt;br /&gt;
&lt;br /&gt;
====reload_configuration====&lt;br /&gt;
This exposed DBus method will cause a running instance of the script to reload its configuration file, as if having been sent signal SIGHUP. It is invoked in the following manner:&lt;br /&gt;
 ''dbus_object''.'''reload_configuration()'''&lt;br /&gt;
Then function always returns dbus.Boolean ''True'' at this time.&lt;br /&gt;
&lt;br /&gt;
Example output:&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; remote_object.reload_configuration()&lt;br /&gt;
 dbus.Boolean(True)&lt;/div&gt;</summary>
		<author><name>Buckminst</name></author>
	</entry>
	<entry>
		<id>https://wiki.iac.isu.edu/index.php?title=Radiation_Monitor_Python_Script_Documentation&amp;diff=53653</id>
		<title>Radiation Monitor Python Script Documentation</title>
		<link rel="alternate" type="text/html" href="https://wiki.iac.isu.edu/index.php?title=Radiation_Monitor_Python_Script_Documentation&amp;diff=53653"/>
		<updated>2010-09-15T21:09:28Z</updated>

		<summary type="html">&lt;p&gt;Buckminst: /* Connecting to the Radiation Monitor DBus service */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The Radiation Monitor Python script is a DBus-enabled UDP forwarding and reporting script designed to interpret and rebroadcast the information provided by the Ludlum Measurement Inc. 375-9 series Radiation Monitors in use at the IAC and in the ISU Physics building. It utilizes the common ''iac.nagios.'' DBus service and ''/IAC/Nagios/'' service path for statistic reporting to the IAC [[Monitoring_Server|Nagios]] server.&lt;br /&gt;
=Configuration And Use=&lt;br /&gt;
Before first execution, the following directories will need to be created, with proper permissions for the ''nagios'' user to write to them:&lt;br /&gt;
* ''/var/log/iac''&lt;br /&gt;
* ''/etc/iac''&lt;br /&gt;
These directories will be common for the Radiation Monitoring script as well as the Cluster Room Temperature Monitor script.&lt;br /&gt;
&lt;br /&gt;
Once ''/etc/iac'' exists, you will need to create the ''rad_monitors.cfg'' configuration file within that directory. &lt;br /&gt;
The configuration file syntax is described below.&lt;br /&gt;
&lt;br /&gt;
The Radiation Monitor script, if called without a configuration file, uses the following defaults:&lt;br /&gt;
* '''Local Address:''' ''None''&lt;br /&gt;
* '''Listen Address:''' ''255.255.255.255''&lt;br /&gt;
* '''Listen Port:''' ''55555''&lt;br /&gt;
* '''Verbose Mode (Non-Daemon):''' ''False''&lt;br /&gt;
* '''Debug Mode:''' ''False''&lt;br /&gt;
* '''Daemon Mode:''' ''True''&lt;br /&gt;
* '''Log Mode:''' ''Append''&lt;br /&gt;
* '''Send Clients:''' ''None''&lt;br /&gt;
&lt;br /&gt;
The command to start the Radiation Monitoring script is simply ''rad_monitors.py''. This script will need to be ran by the ''nagios'' user.&lt;br /&gt;
==Configuration File==&lt;br /&gt;
'''Example Configuration File'''&lt;br /&gt;
 #local:134.50.87.179:55554&lt;br /&gt;
 listen:255.255.255.255:55555&lt;br /&gt;
 sendto:127.0.0.1:54321&lt;br /&gt;
 #sendto:134.50.87.179:54321&lt;br /&gt;
 #verbose&lt;br /&gt;
 #debug&lt;br /&gt;
 noforward&lt;br /&gt;
 #nodaemon&lt;br /&gt;
 #truncate&lt;br /&gt;
&lt;br /&gt;
Lines beginning with # are ignored by the script and may be used for comments on lines seperate from directive lines, or to remove directives from active use. For comments on lines containing directives, please place them at the end and prepend a : before the comment.&lt;br /&gt;
===Configuration Directives===&lt;br /&gt;
====local====&lt;br /&gt;
This directive will allow you to bind to a specific IP address/interface and port number for purposes of UDP packet source information. By default the program will choose whichever interface is needed to talk to the send clients, as well as a random high port. The proper syntax for this directive is as follows:&lt;br /&gt;
 '''local''':''local_ip'':''local_port''&lt;br /&gt;
This directive cannot be changed during run-time.&lt;br /&gt;
====listen====&lt;br /&gt;
This directive will allow you to specify what interface/IP address and port to listen for packets on. By default this is set for UDP broadcasts on ''255.255.255.255''. The proper syntax for this directive is as follows:&lt;br /&gt;
 '''listen''':''listen_ip'':''listen_port''&lt;br /&gt;
This directive cannot be changed during run-time.&lt;br /&gt;
&lt;br /&gt;
====sendto====&lt;br /&gt;
This directive will allow you to specify any number of clients to forward the UDP packets on to, one per directive line. The proper syntax for this directive is as follows:&lt;br /&gt;
 '''sendto''':''target_ip'':''target_port''&lt;br /&gt;
Additional send clients can be added while the script is running by sending SIGHUP or using the DBus ''reload_configuration'' method to reload the configuration file, or by using the DBus ''add_send_client'' method.&lt;br /&gt;
&lt;br /&gt;
====verbose====&lt;br /&gt;
This directive sets the Radiation Monitor script into verbose interactive mode (non-daemonized), for the purposes of examining packet flow and diagnostics. This directive needs no arguments and can simply be specified in the configuration file.&lt;br /&gt;
&lt;br /&gt;
This directive cannot be changed during run-time.&lt;br /&gt;
====debug====&lt;br /&gt;
This directive sets the Radiation Monitor script into a further debugging mode, for program flow and diagnostic purposes.&lt;br /&gt;
&lt;br /&gt;
This directive can be changed during run-time by sending SIGHUP or using the DBus ''reload_configuration'' method to reload the configuration file.&lt;br /&gt;
====noforward====&lt;br /&gt;
This directive disables packet forwarding for the Radiation Monitor. This can be useful if you wish to run the script just for listening purposes, or for troubleshooting.&lt;br /&gt;
&lt;br /&gt;
This directive can be changed during run-time by sending SIGHUP or using the DBus ''reload_configuration'' method to reload the configuration file.&lt;br /&gt;
====nodaemon====&lt;br /&gt;
This directive sets the Radiation Monitor script to run in interactive (non-daemonized) mode, but without verbose output. This can be useful for troubleshooting purposes or if you wish to run the process in a&lt;br /&gt;
screen session.&lt;br /&gt;
&lt;br /&gt;
This directive cannot be changed during run-time.&lt;br /&gt;
====truncate====&lt;br /&gt;
This directive requires the Radiation Monitor script to clear its log file at each session start, rather than appending (the default log method).&lt;br /&gt;
&lt;br /&gt;
This directive cannot be changed during run-time.&lt;br /&gt;
&lt;br /&gt;
=API=&lt;br /&gt;
==DBus Quick Reference==&lt;br /&gt;
'''Service Bus''': ''SystemBus()''&lt;br /&gt;
&lt;br /&gt;
'''Service Name''': ''iac.nagios.radmonitors''&lt;br /&gt;
&lt;br /&gt;
'''Service Path''': ''/IAC/Nagios/RadMonitors''&lt;br /&gt;
&lt;br /&gt;
'''Exposed Methods'''&lt;br /&gt;
 '''get_active_channels()'''&lt;br /&gt;
 '''get_active_monitors()'''&lt;br /&gt;
 '''get_active_monitor_count()'''&lt;br /&gt;
 '''get_radiation_levels()'''&lt;br /&gt;
 '''add_send_client('''''string''''')'''&lt;br /&gt;
 '''reload_configuration()'''&lt;br /&gt;
&lt;br /&gt;
==DBus Interaction==&lt;br /&gt;
Before you can interact with the Radiation Monitor's DBus service, you will need to load some prerequisite Python libraries:&lt;br /&gt;
 import dbus&lt;br /&gt;
This is the minimum to connect to DBus. If you wish to do more than connect as a client, you will need to load the following libraries:&lt;br /&gt;
 import dbus.service, gobject&lt;br /&gt;
 from dbus import glib&lt;br /&gt;
It is also recommend that you initialize threading now if you are planning on performing threaded tasks:&lt;br /&gt;
 gobject.threads_init()&lt;br /&gt;
 glib.init_threads()&lt;br /&gt;
===Connecting to the Radiation Monitor DBus service===&lt;br /&gt;
To interact with the Radiation Monitor DBus service in Python, you will first need to connect to the DBus System bus:&lt;br /&gt;
 ''dbus_bus'' = '''dbus.System()'''&lt;br /&gt;
'''Note:''' The Radiation Monitor script must be run as ''root'' to connect to the System bus.&lt;br /&gt;
&lt;br /&gt;
Once you have successfully connected to the session bus, you will then want to get the DBus service object for the Radiation Monitor. This is done via the '''get_object''' bus method:&lt;br /&gt;
 ''dbus_object'' = ''dbus_bus''.'''get_object('''''service_name'', ''service_path''''')'''&lt;br /&gt;
For our Radiation Monitor interface, the proper invocation is as follows:&lt;br /&gt;
 ''dbus_object'' = ''dbus_bus''.'''get_object('''''&amp;quot;iac.nagios.radmonitors&amp;quot;'', ''&amp;quot;/IAC/Nagios/RadMonitors&amp;quot;''''')'''&lt;br /&gt;
After this is done, you may choose to call the Radiation Monitor's DBus methods either through the service object itself, or you may create references to specific methods for use:&lt;br /&gt;
 ''dbus_method_ref'' = ''dbus_object''.'''get_dbus_method('''''method'', ''service_name''''')'''&lt;br /&gt;
Example:&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; remote_method = remote_object.get_dbus_method('get_active_monitor_count', 'iac.nagios.radmonitors')&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; remote_method()&lt;br /&gt;
 dbus.Int32(7)&lt;br /&gt;
&lt;br /&gt;
===Introspection Schema===&lt;br /&gt;
The Radiation Monitor DBus service returns the following schema upon being called with its inherited Introspect() method:&lt;br /&gt;
 &amp;lt;!DOCTYPE node PUBLIC &amp;quot;-//freedesktop//DTD D-BUS Object Introspection 1.0//EN&amp;quot;&lt;br /&gt;
 &amp;quot;http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;node name=&amp;quot;/IAC/Nagios/RadMonitors&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;interface name=&amp;quot;iac.nagios.radmonitors&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;method name=&amp;quot;reload_configuration&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;/method&amp;gt;&lt;br /&gt;
     &amp;lt;method name=&amp;quot;get_active_monitors&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;/method&amp;gt;&lt;br /&gt;
     &amp;lt;method name=&amp;quot;get_active_monitor_count&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;/method&amp;gt;&lt;br /&gt;
     &amp;lt;method name=&amp;quot;add_send_client&amp;quot;&amp;gt;&lt;br /&gt;
       &amp;lt;arg direction=&amp;quot;in&amp;quot;  type=&amp;quot;v&amp;quot; name=&amp;quot;new_client&amp;quot; /&amp;gt;&lt;br /&gt;
     &amp;lt;/method&amp;gt;&lt;br /&gt;
     &amp;lt;method name=&amp;quot;get_radiation_levels&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;/method&amp;gt;&lt;br /&gt;
     &amp;lt;method name=&amp;quot;get_active_channels&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;/method&amp;gt;&lt;br /&gt;
   &amp;lt;/interface&amp;gt;&lt;br /&gt;
   &amp;lt;interface name=&amp;quot;org.freedesktop.DBus.Introspectable&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;method name=&amp;quot;Introspect&amp;quot;&amp;gt;&lt;br /&gt;
       &amp;lt;arg direction=&amp;quot;out&amp;quot; type=&amp;quot;s&amp;quot; /&amp;gt;&lt;br /&gt;
     &amp;lt;/method&amp;gt;&lt;br /&gt;
   &amp;lt;/interface&amp;gt;&lt;br /&gt;
 &amp;lt;/node&amp;gt;&lt;br /&gt;
===Methods===&lt;br /&gt;
====get_active_channels====&lt;br /&gt;
This exposed DBus method will return a dbus.Array value representing the active channels the script sees. It is invoked in the following manner:&lt;br /&gt;
 ''dbus_object''.'''get_active_channels()'''&lt;br /&gt;
Example output:&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; remote_object.get_active_channels()&lt;br /&gt;
 dbus.Array([dbus.Int32(1), dbus.Int32(2), dbus.Int32(3), dbus.Int32(4), dbus.Int32(5), dbus.Int32(6), dbus.Int32(7)], signature=dbus.Signature('i'))&lt;br /&gt;
====get_active_monitors====&lt;br /&gt;
This exposed DBus method will return a dbus.Array value representing the IP address of all radiation monitors the script sees. It is invoked in the following manner:&lt;br /&gt;
 ''dbus_object''.'''get_active_monitors()'''&lt;br /&gt;
Example output:&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; remote_object.get_active_monitors()&lt;br /&gt;
 dbus.Array([dbus.String(u'192.168.40.155'), dbus.String(u'192.168.40.154'), dbus.String(u'192.168.40.121'), dbus.String(u'192.168.40.172'),&lt;br /&gt;
 dbus.String(u'192.168.40.137'), dbus.String(u'192.168.40.159'), dbus.String(u'192.168.40.120')], signature=dbus.Signature('s'))&lt;br /&gt;
====get_active_monitor_count====&lt;br /&gt;
This exposed DBus method will return a dbus.Int32 value representing the total number of active monitors the script sees. It is invoked in the following manner:&lt;br /&gt;
 ''dbus_object''.'''get_active_monitor_count()'''&lt;br /&gt;
Example output:&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; remote_object.get_active_monitor_count()&lt;br /&gt;
 dbus.Int32(7)&lt;br /&gt;
====get_radiation_levels====&lt;br /&gt;
This exposed DBus method will return a dbus.Array value representing the current radiation level of all monitors the script sees. It is invoked in the following manner:&lt;br /&gt;
 ''dbus_object''.'''get_radiation_levels()'''&lt;br /&gt;
Example output:&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; remote_object.get_radiation_levels()&lt;br /&gt;
 dbus.Array([dbus.String(u'0.0'), dbus.String(u'0.0'), dbus.String(u'0.0'), dbus.String(u'0.0'), dbus.String(u'0.1'), dbus.String(u'0.1'),&lt;br /&gt;
 dbus.String(u'0.1')], signature=dbus.Signature('s'))&lt;br /&gt;
====add_send_client====&lt;br /&gt;
This exposed DBus method will add a new send target client to a running instance of the script, allowing for on-the-fly addition of targets without restarting. It is invoked in the following manner:&lt;br /&gt;
 ''dbus_object''.'''add_send_client(''string'')'''&lt;br /&gt;
Where ''string'' is a string containing the IP address and destination port number of the send target, formatted as &amp;quot;''ip'':''port''&amp;quot;.&lt;br /&gt;
The function returns a dbus.Boolean value; ''True'' if the add is successful, ''False'' if not.&lt;br /&gt;
&lt;br /&gt;
'''Note:''' This only adds the new send client to the in-memory send list. If you wish to retain this send client for future use, you will need to edit the configuration file and add&lt;br /&gt;
the appropriate ''sendto'' directive for that client.&lt;br /&gt;
&lt;br /&gt;
Example output:&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; remote_object.add_send_client(&amp;quot;134.50.87.179:55555&amp;quot;)&lt;br /&gt;
 dbus.Boolean(True)&lt;br /&gt;
&lt;br /&gt;
====reload_configuration====&lt;br /&gt;
This exposed DBus method will cause a running instance of the script to reload its configuration file, as if having been sent signal SIGHUP. It is invoked in the following manner:&lt;br /&gt;
 ''dbus_object''.'''reload_configuration()'''&lt;br /&gt;
Then function always returns dbus.Boolean ''True'' at this time.&lt;br /&gt;
&lt;br /&gt;
Example output:&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; remote_object.reload_configuration()&lt;br /&gt;
 dbus.Boolean(True)&lt;/div&gt;</summary>
		<author><name>Buckminst</name></author>
	</entry>
	<entry>
		<id>https://wiki.iac.isu.edu/index.php?title=Radiation_Monitor_Python_Script_Documentation&amp;diff=53652</id>
		<title>Radiation Monitor Python Script Documentation</title>
		<link rel="alternate" type="text/html" href="https://wiki.iac.isu.edu/index.php?title=Radiation_Monitor_Python_Script_Documentation&amp;diff=53652"/>
		<updated>2010-09-15T21:09:00Z</updated>

		<summary type="html">&lt;p&gt;Buckminst: /* Connecting to the Radiation Monitor DBus service */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The Radiation Monitor Python script is a DBus-enabled UDP forwarding and reporting script designed to interpret and rebroadcast the information provided by the Ludlum Measurement Inc. 375-9 series Radiation Monitors in use at the IAC and in the ISU Physics building. It utilizes the common ''iac.nagios.'' DBus service and ''/IAC/Nagios/'' service path for statistic reporting to the IAC [[Monitoring_Server|Nagios]] server.&lt;br /&gt;
=Configuration And Use=&lt;br /&gt;
Before first execution, the following directories will need to be created, with proper permissions for the ''nagios'' user to write to them:&lt;br /&gt;
* ''/var/log/iac''&lt;br /&gt;
* ''/etc/iac''&lt;br /&gt;
These directories will be common for the Radiation Monitoring script as well as the Cluster Room Temperature Monitor script.&lt;br /&gt;
&lt;br /&gt;
Once ''/etc/iac'' exists, you will need to create the ''rad_monitors.cfg'' configuration file within that directory. &lt;br /&gt;
The configuration file syntax is described below.&lt;br /&gt;
&lt;br /&gt;
The Radiation Monitor script, if called without a configuration file, uses the following defaults:&lt;br /&gt;
* '''Local Address:''' ''None''&lt;br /&gt;
* '''Listen Address:''' ''255.255.255.255''&lt;br /&gt;
* '''Listen Port:''' ''55555''&lt;br /&gt;
* '''Verbose Mode (Non-Daemon):''' ''False''&lt;br /&gt;
* '''Debug Mode:''' ''False''&lt;br /&gt;
* '''Daemon Mode:''' ''True''&lt;br /&gt;
* '''Log Mode:''' ''Append''&lt;br /&gt;
* '''Send Clients:''' ''None''&lt;br /&gt;
&lt;br /&gt;
The command to start the Radiation Monitoring script is simply ''rad_monitors.py''. This script will need to be ran by the ''nagios'' user.&lt;br /&gt;
==Configuration File==&lt;br /&gt;
'''Example Configuration File'''&lt;br /&gt;
 #local:134.50.87.179:55554&lt;br /&gt;
 listen:255.255.255.255:55555&lt;br /&gt;
 sendto:127.0.0.1:54321&lt;br /&gt;
 #sendto:134.50.87.179:54321&lt;br /&gt;
 #verbose&lt;br /&gt;
 #debug&lt;br /&gt;
 noforward&lt;br /&gt;
 #nodaemon&lt;br /&gt;
 #truncate&lt;br /&gt;
&lt;br /&gt;
Lines beginning with # are ignored by the script and may be used for comments on lines seperate from directive lines, or to remove directives from active use. For comments on lines containing directives, please place them at the end and prepend a : before the comment.&lt;br /&gt;
===Configuration Directives===&lt;br /&gt;
====local====&lt;br /&gt;
This directive will allow you to bind to a specific IP address/interface and port number for purposes of UDP packet source information. By default the program will choose whichever interface is needed to talk to the send clients, as well as a random high port. The proper syntax for this directive is as follows:&lt;br /&gt;
 '''local''':''local_ip'':''local_port''&lt;br /&gt;
This directive cannot be changed during run-time.&lt;br /&gt;
====listen====&lt;br /&gt;
This directive will allow you to specify what interface/IP address and port to listen for packets on. By default this is set for UDP broadcasts on ''255.255.255.255''. The proper syntax for this directive is as follows:&lt;br /&gt;
 '''listen''':''listen_ip'':''listen_port''&lt;br /&gt;
This directive cannot be changed during run-time.&lt;br /&gt;
&lt;br /&gt;
====sendto====&lt;br /&gt;
This directive will allow you to specify any number of clients to forward the UDP packets on to, one per directive line. The proper syntax for this directive is as follows:&lt;br /&gt;
 '''sendto''':''target_ip'':''target_port''&lt;br /&gt;
Additional send clients can be added while the script is running by sending SIGHUP or using the DBus ''reload_configuration'' method to reload the configuration file, or by using the DBus ''add_send_client'' method.&lt;br /&gt;
&lt;br /&gt;
====verbose====&lt;br /&gt;
This directive sets the Radiation Monitor script into verbose interactive mode (non-daemonized), for the purposes of examining packet flow and diagnostics. This directive needs no arguments and can simply be specified in the configuration file.&lt;br /&gt;
&lt;br /&gt;
This directive cannot be changed during run-time.&lt;br /&gt;
====debug====&lt;br /&gt;
This directive sets the Radiation Monitor script into a further debugging mode, for program flow and diagnostic purposes.&lt;br /&gt;
&lt;br /&gt;
This directive can be changed during run-time by sending SIGHUP or using the DBus ''reload_configuration'' method to reload the configuration file.&lt;br /&gt;
====noforward====&lt;br /&gt;
This directive disables packet forwarding for the Radiation Monitor. This can be useful if you wish to run the script just for listening purposes, or for troubleshooting.&lt;br /&gt;
&lt;br /&gt;
This directive can be changed during run-time by sending SIGHUP or using the DBus ''reload_configuration'' method to reload the configuration file.&lt;br /&gt;
====nodaemon====&lt;br /&gt;
This directive sets the Radiation Monitor script to run in interactive (non-daemonized) mode, but without verbose output. This can be useful for troubleshooting purposes or if you wish to run the process in a&lt;br /&gt;
screen session.&lt;br /&gt;
&lt;br /&gt;
This directive cannot be changed during run-time.&lt;br /&gt;
====truncate====&lt;br /&gt;
This directive requires the Radiation Monitor script to clear its log file at each session start, rather than appending (the default log method).&lt;br /&gt;
&lt;br /&gt;
This directive cannot be changed during run-time.&lt;br /&gt;
&lt;br /&gt;
=API=&lt;br /&gt;
==DBus Quick Reference==&lt;br /&gt;
'''Service Bus''': ''SystemBus()''&lt;br /&gt;
&lt;br /&gt;
'''Service Name''': ''iac.nagios.radmonitors''&lt;br /&gt;
&lt;br /&gt;
'''Service Path''': ''/IAC/Nagios/RadMonitors''&lt;br /&gt;
&lt;br /&gt;
'''Exposed Methods'''&lt;br /&gt;
 '''get_active_channels()'''&lt;br /&gt;
 '''get_active_monitors()'''&lt;br /&gt;
 '''get_active_monitor_count()'''&lt;br /&gt;
 '''get_radiation_levels()'''&lt;br /&gt;
 '''add_send_client('''''string''''')'''&lt;br /&gt;
 '''reload_configuration()'''&lt;br /&gt;
&lt;br /&gt;
==DBus Interaction==&lt;br /&gt;
Before you can interact with the Radiation Monitor's DBus service, you will need to load some prerequisite Python libraries:&lt;br /&gt;
 import dbus&lt;br /&gt;
This is the minimum to connect to DBus. If you wish to do more than connect as a client, you will need to load the following libraries:&lt;br /&gt;
 import dbus.service, gobject&lt;br /&gt;
 from dbus import glib&lt;br /&gt;
It is also recommend that you initialize threading now if you are planning on performing threaded tasks:&lt;br /&gt;
 gobject.threads_init()&lt;br /&gt;
 glib.init_threads()&lt;br /&gt;
===Connecting to the Radiation Monitor DBus service===&lt;br /&gt;
To interact with the Radiation Monitor DBus service in Python, you will first need to connect to the DBus System bus:&lt;br /&gt;
 ''dbus_bus'' = '''dbus.System()'''&lt;br /&gt;
The Radiation Monitor script must be run as ''root'' to connect to the System bus.&lt;br /&gt;
Once you have successfully connected to the session bus, you will then want to get the DBus service object for the Radiation Monitor. This is done via the '''get_object''' bus method:&lt;br /&gt;
 ''dbus_object'' = ''dbus_bus''.'''get_object('''''service_name'', ''service_path''''')'''&lt;br /&gt;
For our Radiation Monitor interface, the proper invocation is as follows:&lt;br /&gt;
 ''dbus_object'' = ''dbus_bus''.'''get_object('''''&amp;quot;iac.nagios.radmonitors&amp;quot;'', ''&amp;quot;/IAC/Nagios/RadMonitors&amp;quot;''''')'''&lt;br /&gt;
After this is done, you may choose to call the Radiation Monitor's DBus methods either through the service object itself, or you may create references to specific methods for use:&lt;br /&gt;
 ''dbus_method_ref'' = ''dbus_object''.'''get_dbus_method('''''method'', ''service_name''''')'''&lt;br /&gt;
Example:&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; remote_method = remote_object.get_dbus_method('get_active_monitor_count', 'iac.nagios.radmonitors')&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; remote_method()&lt;br /&gt;
 dbus.Int32(7)&lt;br /&gt;
&lt;br /&gt;
===Introspection Schema===&lt;br /&gt;
The Radiation Monitor DBus service returns the following schema upon being called with its inherited Introspect() method:&lt;br /&gt;
 &amp;lt;!DOCTYPE node PUBLIC &amp;quot;-//freedesktop//DTD D-BUS Object Introspection 1.0//EN&amp;quot;&lt;br /&gt;
 &amp;quot;http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;node name=&amp;quot;/IAC/Nagios/RadMonitors&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;interface name=&amp;quot;iac.nagios.radmonitors&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;method name=&amp;quot;reload_configuration&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;/method&amp;gt;&lt;br /&gt;
     &amp;lt;method name=&amp;quot;get_active_monitors&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;/method&amp;gt;&lt;br /&gt;
     &amp;lt;method name=&amp;quot;get_active_monitor_count&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;/method&amp;gt;&lt;br /&gt;
     &amp;lt;method name=&amp;quot;add_send_client&amp;quot;&amp;gt;&lt;br /&gt;
       &amp;lt;arg direction=&amp;quot;in&amp;quot;  type=&amp;quot;v&amp;quot; name=&amp;quot;new_client&amp;quot; /&amp;gt;&lt;br /&gt;
     &amp;lt;/method&amp;gt;&lt;br /&gt;
     &amp;lt;method name=&amp;quot;get_radiation_levels&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;/method&amp;gt;&lt;br /&gt;
     &amp;lt;method name=&amp;quot;get_active_channels&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;/method&amp;gt;&lt;br /&gt;
   &amp;lt;/interface&amp;gt;&lt;br /&gt;
   &amp;lt;interface name=&amp;quot;org.freedesktop.DBus.Introspectable&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;method name=&amp;quot;Introspect&amp;quot;&amp;gt;&lt;br /&gt;
       &amp;lt;arg direction=&amp;quot;out&amp;quot; type=&amp;quot;s&amp;quot; /&amp;gt;&lt;br /&gt;
     &amp;lt;/method&amp;gt;&lt;br /&gt;
   &amp;lt;/interface&amp;gt;&lt;br /&gt;
 &amp;lt;/node&amp;gt;&lt;br /&gt;
===Methods===&lt;br /&gt;
====get_active_channels====&lt;br /&gt;
This exposed DBus method will return a dbus.Array value representing the active channels the script sees. It is invoked in the following manner:&lt;br /&gt;
 ''dbus_object''.'''get_active_channels()'''&lt;br /&gt;
Example output:&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; remote_object.get_active_channels()&lt;br /&gt;
 dbus.Array([dbus.Int32(1), dbus.Int32(2), dbus.Int32(3), dbus.Int32(4), dbus.Int32(5), dbus.Int32(6), dbus.Int32(7)], signature=dbus.Signature('i'))&lt;br /&gt;
====get_active_monitors====&lt;br /&gt;
This exposed DBus method will return a dbus.Array value representing the IP address of all radiation monitors the script sees. It is invoked in the following manner:&lt;br /&gt;
 ''dbus_object''.'''get_active_monitors()'''&lt;br /&gt;
Example output:&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; remote_object.get_active_monitors()&lt;br /&gt;
 dbus.Array([dbus.String(u'192.168.40.155'), dbus.String(u'192.168.40.154'), dbus.String(u'192.168.40.121'), dbus.String(u'192.168.40.172'),&lt;br /&gt;
 dbus.String(u'192.168.40.137'), dbus.String(u'192.168.40.159'), dbus.String(u'192.168.40.120')], signature=dbus.Signature('s'))&lt;br /&gt;
====get_active_monitor_count====&lt;br /&gt;
This exposed DBus method will return a dbus.Int32 value representing the total number of active monitors the script sees. It is invoked in the following manner:&lt;br /&gt;
 ''dbus_object''.'''get_active_monitor_count()'''&lt;br /&gt;
Example output:&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; remote_object.get_active_monitor_count()&lt;br /&gt;
 dbus.Int32(7)&lt;br /&gt;
====get_radiation_levels====&lt;br /&gt;
This exposed DBus method will return a dbus.Array value representing the current radiation level of all monitors the script sees. It is invoked in the following manner:&lt;br /&gt;
 ''dbus_object''.'''get_radiation_levels()'''&lt;br /&gt;
Example output:&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; remote_object.get_radiation_levels()&lt;br /&gt;
 dbus.Array([dbus.String(u'0.0'), dbus.String(u'0.0'), dbus.String(u'0.0'), dbus.String(u'0.0'), dbus.String(u'0.1'), dbus.String(u'0.1'),&lt;br /&gt;
 dbus.String(u'0.1')], signature=dbus.Signature('s'))&lt;br /&gt;
====add_send_client====&lt;br /&gt;
This exposed DBus method will add a new send target client to a running instance of the script, allowing for on-the-fly addition of targets without restarting. It is invoked in the following manner:&lt;br /&gt;
 ''dbus_object''.'''add_send_client(''string'')'''&lt;br /&gt;
Where ''string'' is a string containing the IP address and destination port number of the send target, formatted as &amp;quot;''ip'':''port''&amp;quot;.&lt;br /&gt;
The function returns a dbus.Boolean value; ''True'' if the add is successful, ''False'' if not.&lt;br /&gt;
&lt;br /&gt;
'''Note:''' This only adds the new send client to the in-memory send list. If you wish to retain this send client for future use, you will need to edit the configuration file and add&lt;br /&gt;
the appropriate ''sendto'' directive for that client.&lt;br /&gt;
&lt;br /&gt;
Example output:&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; remote_object.add_send_client(&amp;quot;134.50.87.179:55555&amp;quot;)&lt;br /&gt;
 dbus.Boolean(True)&lt;br /&gt;
&lt;br /&gt;
====reload_configuration====&lt;br /&gt;
This exposed DBus method will cause a running instance of the script to reload its configuration file, as if having been sent signal SIGHUP. It is invoked in the following manner:&lt;br /&gt;
 ''dbus_object''.'''reload_configuration()'''&lt;br /&gt;
Then function always returns dbus.Boolean ''True'' at this time.&lt;br /&gt;
&lt;br /&gt;
Example output:&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; remote_object.reload_configuration()&lt;br /&gt;
 dbus.Boolean(True)&lt;/div&gt;</summary>
		<author><name>Buckminst</name></author>
	</entry>
	<entry>
		<id>https://wiki.iac.isu.edu/index.php?title=Radiation_Monitor_Python_Script_Documentation&amp;diff=53651</id>
		<title>Radiation Monitor Python Script Documentation</title>
		<link rel="alternate" type="text/html" href="https://wiki.iac.isu.edu/index.php?title=Radiation_Monitor_Python_Script_Documentation&amp;diff=53651"/>
		<updated>2010-09-15T21:07:57Z</updated>

		<summary type="html">&lt;p&gt;Buckminst: /* DBus Quick Reference */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The Radiation Monitor Python script is a DBus-enabled UDP forwarding and reporting script designed to interpret and rebroadcast the information provided by the Ludlum Measurement Inc. 375-9 series Radiation Monitors in use at the IAC and in the ISU Physics building. It utilizes the common ''iac.nagios.'' DBus service and ''/IAC/Nagios/'' service path for statistic reporting to the IAC [[Monitoring_Server|Nagios]] server.&lt;br /&gt;
=Configuration And Use=&lt;br /&gt;
Before first execution, the following directories will need to be created, with proper permissions for the ''nagios'' user to write to them:&lt;br /&gt;
* ''/var/log/iac''&lt;br /&gt;
* ''/etc/iac''&lt;br /&gt;
These directories will be common for the Radiation Monitoring script as well as the Cluster Room Temperature Monitor script.&lt;br /&gt;
&lt;br /&gt;
Once ''/etc/iac'' exists, you will need to create the ''rad_monitors.cfg'' configuration file within that directory. &lt;br /&gt;
The configuration file syntax is described below.&lt;br /&gt;
&lt;br /&gt;
The Radiation Monitor script, if called without a configuration file, uses the following defaults:&lt;br /&gt;
* '''Local Address:''' ''None''&lt;br /&gt;
* '''Listen Address:''' ''255.255.255.255''&lt;br /&gt;
* '''Listen Port:''' ''55555''&lt;br /&gt;
* '''Verbose Mode (Non-Daemon):''' ''False''&lt;br /&gt;
* '''Debug Mode:''' ''False''&lt;br /&gt;
* '''Daemon Mode:''' ''True''&lt;br /&gt;
* '''Log Mode:''' ''Append''&lt;br /&gt;
* '''Send Clients:''' ''None''&lt;br /&gt;
&lt;br /&gt;
The command to start the Radiation Monitoring script is simply ''rad_monitors.py''. This script will need to be ran by the ''nagios'' user.&lt;br /&gt;
==Configuration File==&lt;br /&gt;
'''Example Configuration File'''&lt;br /&gt;
 #local:134.50.87.179:55554&lt;br /&gt;
 listen:255.255.255.255:55555&lt;br /&gt;
 sendto:127.0.0.1:54321&lt;br /&gt;
 #sendto:134.50.87.179:54321&lt;br /&gt;
 #verbose&lt;br /&gt;
 #debug&lt;br /&gt;
 noforward&lt;br /&gt;
 #nodaemon&lt;br /&gt;
 #truncate&lt;br /&gt;
&lt;br /&gt;
Lines beginning with # are ignored by the script and may be used for comments on lines seperate from directive lines, or to remove directives from active use. For comments on lines containing directives, please place them at the end and prepend a : before the comment.&lt;br /&gt;
===Configuration Directives===&lt;br /&gt;
====local====&lt;br /&gt;
This directive will allow you to bind to a specific IP address/interface and port number for purposes of UDP packet source information. By default the program will choose whichever interface is needed to talk to the send clients, as well as a random high port. The proper syntax for this directive is as follows:&lt;br /&gt;
 '''local''':''local_ip'':''local_port''&lt;br /&gt;
This directive cannot be changed during run-time.&lt;br /&gt;
====listen====&lt;br /&gt;
This directive will allow you to specify what interface/IP address and port to listen for packets on. By default this is set for UDP broadcasts on ''255.255.255.255''. The proper syntax for this directive is as follows:&lt;br /&gt;
 '''listen''':''listen_ip'':''listen_port''&lt;br /&gt;
This directive cannot be changed during run-time.&lt;br /&gt;
&lt;br /&gt;
====sendto====&lt;br /&gt;
This directive will allow you to specify any number of clients to forward the UDP packets on to, one per directive line. The proper syntax for this directive is as follows:&lt;br /&gt;
 '''sendto''':''target_ip'':''target_port''&lt;br /&gt;
Additional send clients can be added while the script is running by sending SIGHUP or using the DBus ''reload_configuration'' method to reload the configuration file, or by using the DBus ''add_send_client'' method.&lt;br /&gt;
&lt;br /&gt;
====verbose====&lt;br /&gt;
This directive sets the Radiation Monitor script into verbose interactive mode (non-daemonized), for the purposes of examining packet flow and diagnostics. This directive needs no arguments and can simply be specified in the configuration file.&lt;br /&gt;
&lt;br /&gt;
This directive cannot be changed during run-time.&lt;br /&gt;
====debug====&lt;br /&gt;
This directive sets the Radiation Monitor script into a further debugging mode, for program flow and diagnostic purposes.&lt;br /&gt;
&lt;br /&gt;
This directive can be changed during run-time by sending SIGHUP or using the DBus ''reload_configuration'' method to reload the configuration file.&lt;br /&gt;
====noforward====&lt;br /&gt;
This directive disables packet forwarding for the Radiation Monitor. This can be useful if you wish to run the script just for listening purposes, or for troubleshooting.&lt;br /&gt;
&lt;br /&gt;
This directive can be changed during run-time by sending SIGHUP or using the DBus ''reload_configuration'' method to reload the configuration file.&lt;br /&gt;
====nodaemon====&lt;br /&gt;
This directive sets the Radiation Monitor script to run in interactive (non-daemonized) mode, but without verbose output. This can be useful for troubleshooting purposes or if you wish to run the process in a&lt;br /&gt;
screen session.&lt;br /&gt;
&lt;br /&gt;
This directive cannot be changed during run-time.&lt;br /&gt;
====truncate====&lt;br /&gt;
This directive requires the Radiation Monitor script to clear its log file at each session start, rather than appending (the default log method).&lt;br /&gt;
&lt;br /&gt;
This directive cannot be changed during run-time.&lt;br /&gt;
&lt;br /&gt;
=API=&lt;br /&gt;
==DBus Quick Reference==&lt;br /&gt;
'''Service Bus''': ''SystemBus()''&lt;br /&gt;
&lt;br /&gt;
'''Service Name''': ''iac.nagios.radmonitors''&lt;br /&gt;
&lt;br /&gt;
'''Service Path''': ''/IAC/Nagios/RadMonitors''&lt;br /&gt;
&lt;br /&gt;
'''Exposed Methods'''&lt;br /&gt;
 '''get_active_channels()'''&lt;br /&gt;
 '''get_active_monitors()'''&lt;br /&gt;
 '''get_active_monitor_count()'''&lt;br /&gt;
 '''get_radiation_levels()'''&lt;br /&gt;
 '''add_send_client('''''string''''')'''&lt;br /&gt;
 '''reload_configuration()'''&lt;br /&gt;
&lt;br /&gt;
==DBus Interaction==&lt;br /&gt;
Before you can interact with the Radiation Monitor's DBus service, you will need to load some prerequisite Python libraries:&lt;br /&gt;
 import dbus&lt;br /&gt;
This is the minimum to connect to DBus. If you wish to do more than connect as a client, you will need to load the following libraries:&lt;br /&gt;
 import dbus.service, gobject&lt;br /&gt;
 from dbus import glib&lt;br /&gt;
It is also recommend that you initialize threading now if you are planning on performing threaded tasks:&lt;br /&gt;
 gobject.threads_init()&lt;br /&gt;
 glib.init_threads()&lt;br /&gt;
===Connecting to the Radiation Monitor DBus service===&lt;br /&gt;
To interact with the Radiation Monitor DBus service in Python, you will first need to connect to the DBus Session bus:&lt;br /&gt;
 ''dbus_bus'' = '''dbus.SessionBus()'''&lt;br /&gt;
Once you have successfully connected to the session bus, you will then want to get the DBus service object for the Radiation Monitor. This is done via the '''get_object''' bus method:&lt;br /&gt;
 ''dbus_object'' = ''dbus_bus''.'''get_object('''''service_name'', ''service_path''''')'''&lt;br /&gt;
For our Radiation Monitor interface, the proper invocation is as follows:&lt;br /&gt;
 ''dbus_object'' = ''dbus_bus''.'''get_object('''''&amp;quot;iac.nagios.radmonitors&amp;quot;'', ''&amp;quot;/IAC/Nagios/RadMonitors&amp;quot;''''')'''&lt;br /&gt;
After this is done, you may choose to call the Radiation Monitor's DBus methods either through the service object itself, or you may create references to specific methods for use:&lt;br /&gt;
 ''dbus_method_ref'' = ''dbus_object''.'''get_dbus_method('''''method'', ''service_name''''')'''&lt;br /&gt;
Example:&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; remote_method = remote_object.get_dbus_method('get_active_monitor_count', 'iac.nagios.radmonitors')&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; remote_method()&lt;br /&gt;
 dbus.Int32(7)&lt;br /&gt;
===Introspection Schema===&lt;br /&gt;
The Radiation Monitor DBus service returns the following schema upon being called with its inherited Introspect() method:&lt;br /&gt;
 &amp;lt;!DOCTYPE node PUBLIC &amp;quot;-//freedesktop//DTD D-BUS Object Introspection 1.0//EN&amp;quot;&lt;br /&gt;
 &amp;quot;http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;node name=&amp;quot;/IAC/Nagios/RadMonitors&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;interface name=&amp;quot;iac.nagios.radmonitors&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;method name=&amp;quot;reload_configuration&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;/method&amp;gt;&lt;br /&gt;
     &amp;lt;method name=&amp;quot;get_active_monitors&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;/method&amp;gt;&lt;br /&gt;
     &amp;lt;method name=&amp;quot;get_active_monitor_count&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;/method&amp;gt;&lt;br /&gt;
     &amp;lt;method name=&amp;quot;add_send_client&amp;quot;&amp;gt;&lt;br /&gt;
       &amp;lt;arg direction=&amp;quot;in&amp;quot;  type=&amp;quot;v&amp;quot; name=&amp;quot;new_client&amp;quot; /&amp;gt;&lt;br /&gt;
     &amp;lt;/method&amp;gt;&lt;br /&gt;
     &amp;lt;method name=&amp;quot;get_radiation_levels&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;/method&amp;gt;&lt;br /&gt;
     &amp;lt;method name=&amp;quot;get_active_channels&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;/method&amp;gt;&lt;br /&gt;
   &amp;lt;/interface&amp;gt;&lt;br /&gt;
   &amp;lt;interface name=&amp;quot;org.freedesktop.DBus.Introspectable&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;method name=&amp;quot;Introspect&amp;quot;&amp;gt;&lt;br /&gt;
       &amp;lt;arg direction=&amp;quot;out&amp;quot; type=&amp;quot;s&amp;quot; /&amp;gt;&lt;br /&gt;
     &amp;lt;/method&amp;gt;&lt;br /&gt;
   &amp;lt;/interface&amp;gt;&lt;br /&gt;
 &amp;lt;/node&amp;gt;&lt;br /&gt;
===Methods===&lt;br /&gt;
====get_active_channels====&lt;br /&gt;
This exposed DBus method will return a dbus.Array value representing the active channels the script sees. It is invoked in the following manner:&lt;br /&gt;
 ''dbus_object''.'''get_active_channels()'''&lt;br /&gt;
Example output:&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; remote_object.get_active_channels()&lt;br /&gt;
 dbus.Array([dbus.Int32(1), dbus.Int32(2), dbus.Int32(3), dbus.Int32(4), dbus.Int32(5), dbus.Int32(6), dbus.Int32(7)], signature=dbus.Signature('i'))&lt;br /&gt;
====get_active_monitors====&lt;br /&gt;
This exposed DBus method will return a dbus.Array value representing the IP address of all radiation monitors the script sees. It is invoked in the following manner:&lt;br /&gt;
 ''dbus_object''.'''get_active_monitors()'''&lt;br /&gt;
Example output:&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; remote_object.get_active_monitors()&lt;br /&gt;
 dbus.Array([dbus.String(u'192.168.40.155'), dbus.String(u'192.168.40.154'), dbus.String(u'192.168.40.121'), dbus.String(u'192.168.40.172'),&lt;br /&gt;
 dbus.String(u'192.168.40.137'), dbus.String(u'192.168.40.159'), dbus.String(u'192.168.40.120')], signature=dbus.Signature('s'))&lt;br /&gt;
====get_active_monitor_count====&lt;br /&gt;
This exposed DBus method will return a dbus.Int32 value representing the total number of active monitors the script sees. It is invoked in the following manner:&lt;br /&gt;
 ''dbus_object''.'''get_active_monitor_count()'''&lt;br /&gt;
Example output:&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; remote_object.get_active_monitor_count()&lt;br /&gt;
 dbus.Int32(7)&lt;br /&gt;
====get_radiation_levels====&lt;br /&gt;
This exposed DBus method will return a dbus.Array value representing the current radiation level of all monitors the script sees. It is invoked in the following manner:&lt;br /&gt;
 ''dbus_object''.'''get_radiation_levels()'''&lt;br /&gt;
Example output:&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; remote_object.get_radiation_levels()&lt;br /&gt;
 dbus.Array([dbus.String(u'0.0'), dbus.String(u'0.0'), dbus.String(u'0.0'), dbus.String(u'0.0'), dbus.String(u'0.1'), dbus.String(u'0.1'),&lt;br /&gt;
 dbus.String(u'0.1')], signature=dbus.Signature('s'))&lt;br /&gt;
====add_send_client====&lt;br /&gt;
This exposed DBus method will add a new send target client to a running instance of the script, allowing for on-the-fly addition of targets without restarting. It is invoked in the following manner:&lt;br /&gt;
 ''dbus_object''.'''add_send_client(''string'')'''&lt;br /&gt;
Where ''string'' is a string containing the IP address and destination port number of the send target, formatted as &amp;quot;''ip'':''port''&amp;quot;.&lt;br /&gt;
The function returns a dbus.Boolean value; ''True'' if the add is successful, ''False'' if not.&lt;br /&gt;
&lt;br /&gt;
'''Note:''' This only adds the new send client to the in-memory send list. If you wish to retain this send client for future use, you will need to edit the configuration file and add&lt;br /&gt;
the appropriate ''sendto'' directive for that client.&lt;br /&gt;
&lt;br /&gt;
Example output:&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; remote_object.add_send_client(&amp;quot;134.50.87.179:55555&amp;quot;)&lt;br /&gt;
 dbus.Boolean(True)&lt;br /&gt;
&lt;br /&gt;
====reload_configuration====&lt;br /&gt;
This exposed DBus method will cause a running instance of the script to reload its configuration file, as if having been sent signal SIGHUP. It is invoked in the following manner:&lt;br /&gt;
 ''dbus_object''.'''reload_configuration()'''&lt;br /&gt;
Then function always returns dbus.Boolean ''True'' at this time.&lt;br /&gt;
&lt;br /&gt;
Example output:&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; remote_object.reload_configuration()&lt;br /&gt;
 dbus.Boolean(True)&lt;/div&gt;</summary>
		<author><name>Buckminst</name></author>
	</entry>
	<entry>
		<id>https://wiki.iac.isu.edu/index.php?title=Radiation_Monitor_Python_Script_Documentation&amp;diff=53650</id>
		<title>Radiation Monitor Python Script Documentation</title>
		<link rel="alternate" type="text/html" href="https://wiki.iac.isu.edu/index.php?title=Radiation_Monitor_Python_Script_Documentation&amp;diff=53650"/>
		<updated>2010-09-14T23:01:19Z</updated>

		<summary type="html">&lt;p&gt;Buckminst: /* Configuration File */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The Radiation Monitor Python script is a DBus-enabled UDP forwarding and reporting script designed to interpret and rebroadcast the information provided by the Ludlum Measurement Inc. 375-9 series Radiation Monitors in use at the IAC and in the ISU Physics building. It utilizes the common ''iac.nagios.'' DBus service and ''/IAC/Nagios/'' service path for statistic reporting to the IAC [[Monitoring_Server|Nagios]] server.&lt;br /&gt;
=Configuration And Use=&lt;br /&gt;
Before first execution, the following directories will need to be created, with proper permissions for the ''nagios'' user to write to them:&lt;br /&gt;
* ''/var/log/iac''&lt;br /&gt;
* ''/etc/iac''&lt;br /&gt;
These directories will be common for the Radiation Monitoring script as well as the Cluster Room Temperature Monitor script.&lt;br /&gt;
&lt;br /&gt;
Once ''/etc/iac'' exists, you will need to create the ''rad_monitors.cfg'' configuration file within that directory. &lt;br /&gt;
The configuration file syntax is described below.&lt;br /&gt;
&lt;br /&gt;
The Radiation Monitor script, if called without a configuration file, uses the following defaults:&lt;br /&gt;
* '''Local Address:''' ''None''&lt;br /&gt;
* '''Listen Address:''' ''255.255.255.255''&lt;br /&gt;
* '''Listen Port:''' ''55555''&lt;br /&gt;
* '''Verbose Mode (Non-Daemon):''' ''False''&lt;br /&gt;
* '''Debug Mode:''' ''False''&lt;br /&gt;
* '''Daemon Mode:''' ''True''&lt;br /&gt;
* '''Log Mode:''' ''Append''&lt;br /&gt;
* '''Send Clients:''' ''None''&lt;br /&gt;
&lt;br /&gt;
The command to start the Radiation Monitoring script is simply ''rad_monitors.py''. This script will need to be ran by the ''nagios'' user.&lt;br /&gt;
==Configuration File==&lt;br /&gt;
'''Example Configuration File'''&lt;br /&gt;
 #local:134.50.87.179:55554&lt;br /&gt;
 listen:255.255.255.255:55555&lt;br /&gt;
 sendto:127.0.0.1:54321&lt;br /&gt;
 #sendto:134.50.87.179:54321&lt;br /&gt;
 #verbose&lt;br /&gt;
 #debug&lt;br /&gt;
 noforward&lt;br /&gt;
 #nodaemon&lt;br /&gt;
 #truncate&lt;br /&gt;
&lt;br /&gt;
Lines beginning with # are ignored by the script and may be used for comments on lines seperate from directive lines, or to remove directives from active use. For comments on lines containing directives, please place them at the end and prepend a : before the comment.&lt;br /&gt;
===Configuration Directives===&lt;br /&gt;
====local====&lt;br /&gt;
This directive will allow you to bind to a specific IP address/interface and port number for purposes of UDP packet source information. By default the program will choose whichever interface is needed to talk to the send clients, as well as a random high port. The proper syntax for this directive is as follows:&lt;br /&gt;
 '''local''':''local_ip'':''local_port''&lt;br /&gt;
This directive cannot be changed during run-time.&lt;br /&gt;
====listen====&lt;br /&gt;
This directive will allow you to specify what interface/IP address and port to listen for packets on. By default this is set for UDP broadcasts on ''255.255.255.255''. The proper syntax for this directive is as follows:&lt;br /&gt;
 '''listen''':''listen_ip'':''listen_port''&lt;br /&gt;
This directive cannot be changed during run-time.&lt;br /&gt;
&lt;br /&gt;
====sendto====&lt;br /&gt;
This directive will allow you to specify any number of clients to forward the UDP packets on to, one per directive line. The proper syntax for this directive is as follows:&lt;br /&gt;
 '''sendto''':''target_ip'':''target_port''&lt;br /&gt;
Additional send clients can be added while the script is running by sending SIGHUP or using the DBus ''reload_configuration'' method to reload the configuration file, or by using the DBus ''add_send_client'' method.&lt;br /&gt;
&lt;br /&gt;
====verbose====&lt;br /&gt;
This directive sets the Radiation Monitor script into verbose interactive mode (non-daemonized), for the purposes of examining packet flow and diagnostics. This directive needs no arguments and can simply be specified in the configuration file.&lt;br /&gt;
&lt;br /&gt;
This directive cannot be changed during run-time.&lt;br /&gt;
====debug====&lt;br /&gt;
This directive sets the Radiation Monitor script into a further debugging mode, for program flow and diagnostic purposes.&lt;br /&gt;
&lt;br /&gt;
This directive can be changed during run-time by sending SIGHUP or using the DBus ''reload_configuration'' method to reload the configuration file.&lt;br /&gt;
====noforward====&lt;br /&gt;
This directive disables packet forwarding for the Radiation Monitor. This can be useful if you wish to run the script just for listening purposes, or for troubleshooting.&lt;br /&gt;
&lt;br /&gt;
This directive can be changed during run-time by sending SIGHUP or using the DBus ''reload_configuration'' method to reload the configuration file.&lt;br /&gt;
====nodaemon====&lt;br /&gt;
This directive sets the Radiation Monitor script to run in interactive (non-daemonized) mode, but without verbose output. This can be useful for troubleshooting purposes or if you wish to run the process in a&lt;br /&gt;
screen session.&lt;br /&gt;
&lt;br /&gt;
This directive cannot be changed during run-time.&lt;br /&gt;
====truncate====&lt;br /&gt;
This directive requires the Radiation Monitor script to clear its log file at each session start, rather than appending (the default log method).&lt;br /&gt;
&lt;br /&gt;
This directive cannot be changed during run-time.&lt;br /&gt;
&lt;br /&gt;
=API=&lt;br /&gt;
==DBus Quick Reference==&lt;br /&gt;
'''Service Bus''': ''SessionBus()''&lt;br /&gt;
&lt;br /&gt;
'''Service Name''': ''iac.nagios.radmonitors''&lt;br /&gt;
&lt;br /&gt;
'''Service Path''': ''/IAC/Nagios/RadMonitors''&lt;br /&gt;
&lt;br /&gt;
'''Exposed Methods'''&lt;br /&gt;
 '''get_active_channels()'''&lt;br /&gt;
 '''get_active_monitors()'''&lt;br /&gt;
 '''get_active_monitor_count()'''&lt;br /&gt;
 '''get_radiation_levels()'''&lt;br /&gt;
 '''add_send_client('''''string''''')'''&lt;br /&gt;
 '''reload_configuration()'''&lt;br /&gt;
==DBus Interaction==&lt;br /&gt;
Before you can interact with the Radiation Monitor's DBus service, you will need to load some prerequisite Python libraries:&lt;br /&gt;
 import dbus&lt;br /&gt;
This is the minimum to connect to DBus. If you wish to do more than connect as a client, you will need to load the following libraries:&lt;br /&gt;
 import dbus.service, gobject&lt;br /&gt;
 from dbus import glib&lt;br /&gt;
It is also recommend that you initialize threading now if you are planning on performing threaded tasks:&lt;br /&gt;
 gobject.threads_init()&lt;br /&gt;
 glib.init_threads()&lt;br /&gt;
===Connecting to the Radiation Monitor DBus service===&lt;br /&gt;
To interact with the Radiation Monitor DBus service in Python, you will first need to connect to the DBus Session bus:&lt;br /&gt;
 ''dbus_bus'' = '''dbus.SessionBus()'''&lt;br /&gt;
Once you have successfully connected to the session bus, you will then want to get the DBus service object for the Radiation Monitor. This is done via the '''get_object''' bus method:&lt;br /&gt;
 ''dbus_object'' = ''dbus_bus''.'''get_object('''''service_name'', ''service_path''''')'''&lt;br /&gt;
For our Radiation Monitor interface, the proper invocation is as follows:&lt;br /&gt;
 ''dbus_object'' = ''dbus_bus''.'''get_object('''''&amp;quot;iac.nagios.radmonitors&amp;quot;'', ''&amp;quot;/IAC/Nagios/RadMonitors&amp;quot;''''')'''&lt;br /&gt;
After this is done, you may choose to call the Radiation Monitor's DBus methods either through the service object itself, or you may create references to specific methods for use:&lt;br /&gt;
 ''dbus_method_ref'' = ''dbus_object''.'''get_dbus_method('''''method'', ''service_name''''')'''&lt;br /&gt;
Example:&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; remote_method = remote_object.get_dbus_method('get_active_monitor_count', 'iac.nagios.radmonitors')&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; remote_method()&lt;br /&gt;
 dbus.Int32(7)&lt;br /&gt;
===Introspection Schema===&lt;br /&gt;
The Radiation Monitor DBus service returns the following schema upon being called with its inherited Introspect() method:&lt;br /&gt;
 &amp;lt;!DOCTYPE node PUBLIC &amp;quot;-//freedesktop//DTD D-BUS Object Introspection 1.0//EN&amp;quot;&lt;br /&gt;
 &amp;quot;http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;node name=&amp;quot;/IAC/Nagios/RadMonitors&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;interface name=&amp;quot;iac.nagios.radmonitors&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;method name=&amp;quot;reload_configuration&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;/method&amp;gt;&lt;br /&gt;
     &amp;lt;method name=&amp;quot;get_active_monitors&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;/method&amp;gt;&lt;br /&gt;
     &amp;lt;method name=&amp;quot;get_active_monitor_count&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;/method&amp;gt;&lt;br /&gt;
     &amp;lt;method name=&amp;quot;add_send_client&amp;quot;&amp;gt;&lt;br /&gt;
       &amp;lt;arg direction=&amp;quot;in&amp;quot;  type=&amp;quot;v&amp;quot; name=&amp;quot;new_client&amp;quot; /&amp;gt;&lt;br /&gt;
     &amp;lt;/method&amp;gt;&lt;br /&gt;
     &amp;lt;method name=&amp;quot;get_radiation_levels&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;/method&amp;gt;&lt;br /&gt;
     &amp;lt;method name=&amp;quot;get_active_channels&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;/method&amp;gt;&lt;br /&gt;
   &amp;lt;/interface&amp;gt;&lt;br /&gt;
   &amp;lt;interface name=&amp;quot;org.freedesktop.DBus.Introspectable&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;method name=&amp;quot;Introspect&amp;quot;&amp;gt;&lt;br /&gt;
       &amp;lt;arg direction=&amp;quot;out&amp;quot; type=&amp;quot;s&amp;quot; /&amp;gt;&lt;br /&gt;
     &amp;lt;/method&amp;gt;&lt;br /&gt;
   &amp;lt;/interface&amp;gt;&lt;br /&gt;
 &amp;lt;/node&amp;gt;&lt;br /&gt;
===Methods===&lt;br /&gt;
====get_active_channels====&lt;br /&gt;
This exposed DBus method will return a dbus.Array value representing the active channels the script sees. It is invoked in the following manner:&lt;br /&gt;
 ''dbus_object''.'''get_active_channels()'''&lt;br /&gt;
Example output:&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; remote_object.get_active_channels()&lt;br /&gt;
 dbus.Array([dbus.Int32(1), dbus.Int32(2), dbus.Int32(3), dbus.Int32(4), dbus.Int32(5), dbus.Int32(6), dbus.Int32(7)], signature=dbus.Signature('i'))&lt;br /&gt;
====get_active_monitors====&lt;br /&gt;
This exposed DBus method will return a dbus.Array value representing the IP address of all radiation monitors the script sees. It is invoked in the following manner:&lt;br /&gt;
 ''dbus_object''.'''get_active_monitors()'''&lt;br /&gt;
Example output:&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; remote_object.get_active_monitors()&lt;br /&gt;
 dbus.Array([dbus.String(u'192.168.40.155'), dbus.String(u'192.168.40.154'), dbus.String(u'192.168.40.121'), dbus.String(u'192.168.40.172'),&lt;br /&gt;
 dbus.String(u'192.168.40.137'), dbus.String(u'192.168.40.159'), dbus.String(u'192.168.40.120')], signature=dbus.Signature('s'))&lt;br /&gt;
====get_active_monitor_count====&lt;br /&gt;
This exposed DBus method will return a dbus.Int32 value representing the total number of active monitors the script sees. It is invoked in the following manner:&lt;br /&gt;
 ''dbus_object''.'''get_active_monitor_count()'''&lt;br /&gt;
Example output:&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; remote_object.get_active_monitor_count()&lt;br /&gt;
 dbus.Int32(7)&lt;br /&gt;
====get_radiation_levels====&lt;br /&gt;
This exposed DBus method will return a dbus.Array value representing the current radiation level of all monitors the script sees. It is invoked in the following manner:&lt;br /&gt;
 ''dbus_object''.'''get_radiation_levels()'''&lt;br /&gt;
Example output:&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; remote_object.get_radiation_levels()&lt;br /&gt;
 dbus.Array([dbus.String(u'0.0'), dbus.String(u'0.0'), dbus.String(u'0.0'), dbus.String(u'0.0'), dbus.String(u'0.1'), dbus.String(u'0.1'),&lt;br /&gt;
 dbus.String(u'0.1')], signature=dbus.Signature('s'))&lt;br /&gt;
====add_send_client====&lt;br /&gt;
This exposed DBus method will add a new send target client to a running instance of the script, allowing for on-the-fly addition of targets without restarting. It is invoked in the following manner:&lt;br /&gt;
 ''dbus_object''.'''add_send_client(''string'')'''&lt;br /&gt;
Where ''string'' is a string containing the IP address and destination port number of the send target, formatted as &amp;quot;''ip'':''port''&amp;quot;.&lt;br /&gt;
The function returns a dbus.Boolean value; ''True'' if the add is successful, ''False'' if not.&lt;br /&gt;
&lt;br /&gt;
'''Note:''' This only adds the new send client to the in-memory send list. If you wish to retain this send client for future use, you will need to edit the configuration file and add&lt;br /&gt;
the appropriate ''sendto'' directive for that client.&lt;br /&gt;
&lt;br /&gt;
Example output:&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; remote_object.add_send_client(&amp;quot;134.50.87.179:55555&amp;quot;)&lt;br /&gt;
 dbus.Boolean(True)&lt;br /&gt;
&lt;br /&gt;
====reload_configuration====&lt;br /&gt;
This exposed DBus method will cause a running instance of the script to reload its configuration file, as if having been sent signal SIGHUP. It is invoked in the following manner:&lt;br /&gt;
 ''dbus_object''.'''reload_configuration()'''&lt;br /&gt;
Then function always returns dbus.Boolean ''True'' at this time.&lt;br /&gt;
&lt;br /&gt;
Example output:&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; remote_object.reload_configuration()&lt;br /&gt;
 dbus.Boolean(True)&lt;/div&gt;</summary>
		<author><name>Buckminst</name></author>
	</entry>
	<entry>
		<id>https://wiki.iac.isu.edu/index.php?title=Radiation_Monitor_Python_Script_Documentation&amp;diff=53649</id>
		<title>Radiation Monitor Python Script Documentation</title>
		<link rel="alternate" type="text/html" href="https://wiki.iac.isu.edu/index.php?title=Radiation_Monitor_Python_Script_Documentation&amp;diff=53649"/>
		<updated>2010-09-14T22:58:29Z</updated>

		<summary type="html">&lt;p&gt;Buckminst: /* sendto */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The Radiation Monitor Python script is a DBus-enabled UDP forwarding and reporting script designed to interpret and rebroadcast the information provided by the Ludlum Measurement Inc. 375-9 series Radiation Monitors in use at the IAC and in the ISU Physics building. It utilizes the common ''iac.nagios.'' DBus service and ''/IAC/Nagios/'' service path for statistic reporting to the IAC [[Monitoring_Server|Nagios]] server.&lt;br /&gt;
=Configuration And Use=&lt;br /&gt;
Before first execution, the following directories will need to be created, with proper permissions for the ''nagios'' user to write to them:&lt;br /&gt;
* ''/var/log/iac''&lt;br /&gt;
* ''/etc/iac''&lt;br /&gt;
These directories will be common for the Radiation Monitoring script as well as the Cluster Room Temperature Monitor script.&lt;br /&gt;
&lt;br /&gt;
Once ''/etc/iac'' exists, you will need to create the ''rad_monitors.cfg'' configuration file within that directory. &lt;br /&gt;
The configuration file syntax is described below.&lt;br /&gt;
&lt;br /&gt;
The Radiation Monitor script, if called without a configuration file, uses the following defaults:&lt;br /&gt;
* '''Local Address:''' ''None''&lt;br /&gt;
* '''Listen Address:''' ''255.255.255.255''&lt;br /&gt;
* '''Listen Port:''' ''55555''&lt;br /&gt;
* '''Verbose Mode (Non-Daemon):''' ''False''&lt;br /&gt;
* '''Debug Mode:''' ''False''&lt;br /&gt;
* '''Daemon Mode:''' ''True''&lt;br /&gt;
* '''Log Mode:''' ''Append''&lt;br /&gt;
* '''Send Clients:''' ''None''&lt;br /&gt;
&lt;br /&gt;
The command to start the Radiation Monitoring script is simply ''rad_monitors.py''. This script will need to be ran by the ''nagios'' user.&lt;br /&gt;
==Configuration File==&lt;br /&gt;
'''Example Configuration File'''&lt;br /&gt;
 #local:134.50.87.179:55554&lt;br /&gt;
 listen:255.255.255.255:55555&lt;br /&gt;
 sendto:127.0.0.1:54321&lt;br /&gt;
 #sendto:134.50.87.179:54321&lt;br /&gt;
 #verbose&lt;br /&gt;
 #debug&lt;br /&gt;
 noforward&lt;br /&gt;
 #nodaemon&lt;br /&gt;
 #truncate&lt;br /&gt;
===Configuration Directives===&lt;br /&gt;
====local====&lt;br /&gt;
This directive will allow you to bind to a specific IP address/interface and port number for purposes of UDP packet source information. By default the program will choose whichever interface is needed to talk to the send clients, as well as a random high port. The proper syntax for this directive is as follows:&lt;br /&gt;
 '''local''':''local_ip'':''local_port''&lt;br /&gt;
This directive cannot be changed during run-time.&lt;br /&gt;
====listen====&lt;br /&gt;
This directive will allow you to specify what interface/IP address and port to listen for packets on. By default this is set for UDP broadcasts on ''255.255.255.255''. The proper syntax for this directive is as follows:&lt;br /&gt;
 '''listen''':''listen_ip'':''listen_port''&lt;br /&gt;
This directive cannot be changed during run-time.&lt;br /&gt;
&lt;br /&gt;
====sendto====&lt;br /&gt;
This directive will allow you to specify any number of clients to forward the UDP packets on to, one per directive line. The proper syntax for this directive is as follows:&lt;br /&gt;
 '''sendto''':''target_ip'':''target_port''&lt;br /&gt;
Additional send clients can be added while the script is running by sending SIGHUP or using the DBus ''reload_configuration'' method to reload the configuration file, or by using the DBus ''add_send_client'' method.&lt;br /&gt;
&lt;br /&gt;
====verbose====&lt;br /&gt;
This directive sets the Radiation Monitor script into verbose interactive mode (non-daemonized), for the purposes of examining packet flow and diagnostics. This directive needs no arguments and can simply be specified in the configuration file.&lt;br /&gt;
&lt;br /&gt;
This directive cannot be changed during run-time.&lt;br /&gt;
====debug====&lt;br /&gt;
This directive sets the Radiation Monitor script into a further debugging mode, for program flow and diagnostic purposes.&lt;br /&gt;
&lt;br /&gt;
This directive can be changed during run-time by sending SIGHUP or using the DBus ''reload_configuration'' method to reload the configuration file.&lt;br /&gt;
====noforward====&lt;br /&gt;
This directive disables packet forwarding for the Radiation Monitor. This can be useful if you wish to run the script just for listening purposes, or for troubleshooting.&lt;br /&gt;
&lt;br /&gt;
This directive can be changed during run-time by sending SIGHUP or using the DBus ''reload_configuration'' method to reload the configuration file.&lt;br /&gt;
====nodaemon====&lt;br /&gt;
This directive sets the Radiation Monitor script to run in interactive (non-daemonized) mode, but without verbose output. This can be useful for troubleshooting purposes or if you wish to run the process in a&lt;br /&gt;
screen session.&lt;br /&gt;
&lt;br /&gt;
This directive cannot be changed during run-time.&lt;br /&gt;
====truncate====&lt;br /&gt;
This directive requires the Radiation Monitor script to clear its log file at each session start, rather than appending (the default log method).&lt;br /&gt;
&lt;br /&gt;
This directive cannot be changed during run-time.&lt;br /&gt;
&lt;br /&gt;
=API=&lt;br /&gt;
==DBus Quick Reference==&lt;br /&gt;
'''Service Bus''': ''SessionBus()''&lt;br /&gt;
&lt;br /&gt;
'''Service Name''': ''iac.nagios.radmonitors''&lt;br /&gt;
&lt;br /&gt;
'''Service Path''': ''/IAC/Nagios/RadMonitors''&lt;br /&gt;
&lt;br /&gt;
'''Exposed Methods'''&lt;br /&gt;
 '''get_active_channels()'''&lt;br /&gt;
 '''get_active_monitors()'''&lt;br /&gt;
 '''get_active_monitor_count()'''&lt;br /&gt;
 '''get_radiation_levels()'''&lt;br /&gt;
 '''add_send_client('''''string''''')'''&lt;br /&gt;
 '''reload_configuration()'''&lt;br /&gt;
==DBus Interaction==&lt;br /&gt;
Before you can interact with the Radiation Monitor's DBus service, you will need to load some prerequisite Python libraries:&lt;br /&gt;
 import dbus&lt;br /&gt;
This is the minimum to connect to DBus. If you wish to do more than connect as a client, you will need to load the following libraries:&lt;br /&gt;
 import dbus.service, gobject&lt;br /&gt;
 from dbus import glib&lt;br /&gt;
It is also recommend that you initialize threading now if you are planning on performing threaded tasks:&lt;br /&gt;
 gobject.threads_init()&lt;br /&gt;
 glib.init_threads()&lt;br /&gt;
===Connecting to the Radiation Monitor DBus service===&lt;br /&gt;
To interact with the Radiation Monitor DBus service in Python, you will first need to connect to the DBus Session bus:&lt;br /&gt;
 ''dbus_bus'' = '''dbus.SessionBus()'''&lt;br /&gt;
Once you have successfully connected to the session bus, you will then want to get the DBus service object for the Radiation Monitor. This is done via the '''get_object''' bus method:&lt;br /&gt;
 ''dbus_object'' = ''dbus_bus''.'''get_object('''''service_name'', ''service_path''''')'''&lt;br /&gt;
For our Radiation Monitor interface, the proper invocation is as follows:&lt;br /&gt;
 ''dbus_object'' = ''dbus_bus''.'''get_object('''''&amp;quot;iac.nagios.radmonitors&amp;quot;'', ''&amp;quot;/IAC/Nagios/RadMonitors&amp;quot;''''')'''&lt;br /&gt;
After this is done, you may choose to call the Radiation Monitor's DBus methods either through the service object itself, or you may create references to specific methods for use:&lt;br /&gt;
 ''dbus_method_ref'' = ''dbus_object''.'''get_dbus_method('''''method'', ''service_name''''')'''&lt;br /&gt;
Example:&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; remote_method = remote_object.get_dbus_method('get_active_monitor_count', 'iac.nagios.radmonitors')&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; remote_method()&lt;br /&gt;
 dbus.Int32(7)&lt;br /&gt;
===Introspection Schema===&lt;br /&gt;
The Radiation Monitor DBus service returns the following schema upon being called with its inherited Introspect() method:&lt;br /&gt;
 &amp;lt;!DOCTYPE node PUBLIC &amp;quot;-//freedesktop//DTD D-BUS Object Introspection 1.0//EN&amp;quot;&lt;br /&gt;
 &amp;quot;http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;node name=&amp;quot;/IAC/Nagios/RadMonitors&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;interface name=&amp;quot;iac.nagios.radmonitors&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;method name=&amp;quot;reload_configuration&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;/method&amp;gt;&lt;br /&gt;
     &amp;lt;method name=&amp;quot;get_active_monitors&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;/method&amp;gt;&lt;br /&gt;
     &amp;lt;method name=&amp;quot;get_active_monitor_count&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;/method&amp;gt;&lt;br /&gt;
     &amp;lt;method name=&amp;quot;add_send_client&amp;quot;&amp;gt;&lt;br /&gt;
       &amp;lt;arg direction=&amp;quot;in&amp;quot;  type=&amp;quot;v&amp;quot; name=&amp;quot;new_client&amp;quot; /&amp;gt;&lt;br /&gt;
     &amp;lt;/method&amp;gt;&lt;br /&gt;
     &amp;lt;method name=&amp;quot;get_radiation_levels&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;/method&amp;gt;&lt;br /&gt;
     &amp;lt;method name=&amp;quot;get_active_channels&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;/method&amp;gt;&lt;br /&gt;
   &amp;lt;/interface&amp;gt;&lt;br /&gt;
   &amp;lt;interface name=&amp;quot;org.freedesktop.DBus.Introspectable&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;method name=&amp;quot;Introspect&amp;quot;&amp;gt;&lt;br /&gt;
       &amp;lt;arg direction=&amp;quot;out&amp;quot; type=&amp;quot;s&amp;quot; /&amp;gt;&lt;br /&gt;
     &amp;lt;/method&amp;gt;&lt;br /&gt;
   &amp;lt;/interface&amp;gt;&lt;br /&gt;
 &amp;lt;/node&amp;gt;&lt;br /&gt;
===Methods===&lt;br /&gt;
====get_active_channels====&lt;br /&gt;
This exposed DBus method will return a dbus.Array value representing the active channels the script sees. It is invoked in the following manner:&lt;br /&gt;
 ''dbus_object''.'''get_active_channels()'''&lt;br /&gt;
Example output:&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; remote_object.get_active_channels()&lt;br /&gt;
 dbus.Array([dbus.Int32(1), dbus.Int32(2), dbus.Int32(3), dbus.Int32(4), dbus.Int32(5), dbus.Int32(6), dbus.Int32(7)], signature=dbus.Signature('i'))&lt;br /&gt;
====get_active_monitors====&lt;br /&gt;
This exposed DBus method will return a dbus.Array value representing the IP address of all radiation monitors the script sees. It is invoked in the following manner:&lt;br /&gt;
 ''dbus_object''.'''get_active_monitors()'''&lt;br /&gt;
Example output:&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; remote_object.get_active_monitors()&lt;br /&gt;
 dbus.Array([dbus.String(u'192.168.40.155'), dbus.String(u'192.168.40.154'), dbus.String(u'192.168.40.121'), dbus.String(u'192.168.40.172'),&lt;br /&gt;
 dbus.String(u'192.168.40.137'), dbus.String(u'192.168.40.159'), dbus.String(u'192.168.40.120')], signature=dbus.Signature('s'))&lt;br /&gt;
====get_active_monitor_count====&lt;br /&gt;
This exposed DBus method will return a dbus.Int32 value representing the total number of active monitors the script sees. It is invoked in the following manner:&lt;br /&gt;
 ''dbus_object''.'''get_active_monitor_count()'''&lt;br /&gt;
Example output:&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; remote_object.get_active_monitor_count()&lt;br /&gt;
 dbus.Int32(7)&lt;br /&gt;
====get_radiation_levels====&lt;br /&gt;
This exposed DBus method will return a dbus.Array value representing the current radiation level of all monitors the script sees. It is invoked in the following manner:&lt;br /&gt;
 ''dbus_object''.'''get_radiation_levels()'''&lt;br /&gt;
Example output:&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; remote_object.get_radiation_levels()&lt;br /&gt;
 dbus.Array([dbus.String(u'0.0'), dbus.String(u'0.0'), dbus.String(u'0.0'), dbus.String(u'0.0'), dbus.String(u'0.1'), dbus.String(u'0.1'),&lt;br /&gt;
 dbus.String(u'0.1')], signature=dbus.Signature('s'))&lt;br /&gt;
====add_send_client====&lt;br /&gt;
This exposed DBus method will add a new send target client to a running instance of the script, allowing for on-the-fly addition of targets without restarting. It is invoked in the following manner:&lt;br /&gt;
 ''dbus_object''.'''add_send_client(''string'')'''&lt;br /&gt;
Where ''string'' is a string containing the IP address and destination port number of the send target, formatted as &amp;quot;''ip'':''port''&amp;quot;.&lt;br /&gt;
The function returns a dbus.Boolean value; ''True'' if the add is successful, ''False'' if not.&lt;br /&gt;
&lt;br /&gt;
'''Note:''' This only adds the new send client to the in-memory send list. If you wish to retain this send client for future use, you will need to edit the configuration file and add&lt;br /&gt;
the appropriate ''sendto'' directive for that client.&lt;br /&gt;
&lt;br /&gt;
Example output:&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; remote_object.add_send_client(&amp;quot;134.50.87.179:55555&amp;quot;)&lt;br /&gt;
 dbus.Boolean(True)&lt;br /&gt;
&lt;br /&gt;
====reload_configuration====&lt;br /&gt;
This exposed DBus method will cause a running instance of the script to reload its configuration file, as if having been sent signal SIGHUP. It is invoked in the following manner:&lt;br /&gt;
 ''dbus_object''.'''reload_configuration()'''&lt;br /&gt;
Then function always returns dbus.Boolean ''True'' at this time.&lt;br /&gt;
&lt;br /&gt;
Example output:&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; remote_object.reload_configuration()&lt;br /&gt;
 dbus.Boolean(True)&lt;/div&gt;</summary>
		<author><name>Buckminst</name></author>
	</entry>
	<entry>
		<id>https://wiki.iac.isu.edu/index.php?title=Radiation_Monitor_Python_Script_Documentation&amp;diff=53648</id>
		<title>Radiation Monitor Python Script Documentation</title>
		<link rel="alternate" type="text/html" href="https://wiki.iac.isu.edu/index.php?title=Radiation_Monitor_Python_Script_Documentation&amp;diff=53648"/>
		<updated>2010-09-14T22:58:17Z</updated>

		<summary type="html">&lt;p&gt;Buckminst: /* listen */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The Radiation Monitor Python script is a DBus-enabled UDP forwarding and reporting script designed to interpret and rebroadcast the information provided by the Ludlum Measurement Inc. 375-9 series Radiation Monitors in use at the IAC and in the ISU Physics building. It utilizes the common ''iac.nagios.'' DBus service and ''/IAC/Nagios/'' service path for statistic reporting to the IAC [[Monitoring_Server|Nagios]] server.&lt;br /&gt;
=Configuration And Use=&lt;br /&gt;
Before first execution, the following directories will need to be created, with proper permissions for the ''nagios'' user to write to them:&lt;br /&gt;
* ''/var/log/iac''&lt;br /&gt;
* ''/etc/iac''&lt;br /&gt;
These directories will be common for the Radiation Monitoring script as well as the Cluster Room Temperature Monitor script.&lt;br /&gt;
&lt;br /&gt;
Once ''/etc/iac'' exists, you will need to create the ''rad_monitors.cfg'' configuration file within that directory. &lt;br /&gt;
The configuration file syntax is described below.&lt;br /&gt;
&lt;br /&gt;
The Radiation Monitor script, if called without a configuration file, uses the following defaults:&lt;br /&gt;
* '''Local Address:''' ''None''&lt;br /&gt;
* '''Listen Address:''' ''255.255.255.255''&lt;br /&gt;
* '''Listen Port:''' ''55555''&lt;br /&gt;
* '''Verbose Mode (Non-Daemon):''' ''False''&lt;br /&gt;
* '''Debug Mode:''' ''False''&lt;br /&gt;
* '''Daemon Mode:''' ''True''&lt;br /&gt;
* '''Log Mode:''' ''Append''&lt;br /&gt;
* '''Send Clients:''' ''None''&lt;br /&gt;
&lt;br /&gt;
The command to start the Radiation Monitoring script is simply ''rad_monitors.py''. This script will need to be ran by the ''nagios'' user.&lt;br /&gt;
==Configuration File==&lt;br /&gt;
'''Example Configuration File'''&lt;br /&gt;
 #local:134.50.87.179:55554&lt;br /&gt;
 listen:255.255.255.255:55555&lt;br /&gt;
 sendto:127.0.0.1:54321&lt;br /&gt;
 #sendto:134.50.87.179:54321&lt;br /&gt;
 #verbose&lt;br /&gt;
 #debug&lt;br /&gt;
 noforward&lt;br /&gt;
 #nodaemon&lt;br /&gt;
 #truncate&lt;br /&gt;
===Configuration Directives===&lt;br /&gt;
====local====&lt;br /&gt;
This directive will allow you to bind to a specific IP address/interface and port number for purposes of UDP packet source information. By default the program will choose whichever interface is needed to talk to the send clients, as well as a random high port. The proper syntax for this directive is as follows:&lt;br /&gt;
 '''local''':''local_ip'':''local_port''&lt;br /&gt;
This directive cannot be changed during run-time.&lt;br /&gt;
====listen====&lt;br /&gt;
This directive will allow you to specify what interface/IP address and port to listen for packets on. By default this is set for UDP broadcasts on ''255.255.255.255''. The proper syntax for this directive is as follows:&lt;br /&gt;
 '''listen''':''listen_ip'':''listen_port''&lt;br /&gt;
This directive cannot be changed during run-time.&lt;br /&gt;
&lt;br /&gt;
====sendto====&lt;br /&gt;
This directive will allow you to specify any number of clients to forward the UDP packets on to, one per directive line. The proper syntax for this directive is as follows:&lt;br /&gt;
 ''sendto'':''target_ip'':''target_port''&lt;br /&gt;
Additional send clients can be added while the script is running by sending SIGHUP or using the DBus ''reload_configuration'' method to reload the configuration file, or by using the DBus ''add_send_client'' method.&lt;br /&gt;
====verbose====&lt;br /&gt;
This directive sets the Radiation Monitor script into verbose interactive mode (non-daemonized), for the purposes of examining packet flow and diagnostics. This directive needs no arguments and can simply be specified in the configuration file.&lt;br /&gt;
&lt;br /&gt;
This directive cannot be changed during run-time.&lt;br /&gt;
====debug====&lt;br /&gt;
This directive sets the Radiation Monitor script into a further debugging mode, for program flow and diagnostic purposes.&lt;br /&gt;
&lt;br /&gt;
This directive can be changed during run-time by sending SIGHUP or using the DBus ''reload_configuration'' method to reload the configuration file.&lt;br /&gt;
====noforward====&lt;br /&gt;
This directive disables packet forwarding for the Radiation Monitor. This can be useful if you wish to run the script just for listening purposes, or for troubleshooting.&lt;br /&gt;
&lt;br /&gt;
This directive can be changed during run-time by sending SIGHUP or using the DBus ''reload_configuration'' method to reload the configuration file.&lt;br /&gt;
====nodaemon====&lt;br /&gt;
This directive sets the Radiation Monitor script to run in interactive (non-daemonized) mode, but without verbose output. This can be useful for troubleshooting purposes or if you wish to run the process in a&lt;br /&gt;
screen session.&lt;br /&gt;
&lt;br /&gt;
This directive cannot be changed during run-time.&lt;br /&gt;
====truncate====&lt;br /&gt;
This directive requires the Radiation Monitor script to clear its log file at each session start, rather than appending (the default log method).&lt;br /&gt;
&lt;br /&gt;
This directive cannot be changed during run-time.&lt;br /&gt;
&lt;br /&gt;
=API=&lt;br /&gt;
==DBus Quick Reference==&lt;br /&gt;
'''Service Bus''': ''SessionBus()''&lt;br /&gt;
&lt;br /&gt;
'''Service Name''': ''iac.nagios.radmonitors''&lt;br /&gt;
&lt;br /&gt;
'''Service Path''': ''/IAC/Nagios/RadMonitors''&lt;br /&gt;
&lt;br /&gt;
'''Exposed Methods'''&lt;br /&gt;
 '''get_active_channels()'''&lt;br /&gt;
 '''get_active_monitors()'''&lt;br /&gt;
 '''get_active_monitor_count()'''&lt;br /&gt;
 '''get_radiation_levels()'''&lt;br /&gt;
 '''add_send_client('''''string''''')'''&lt;br /&gt;
 '''reload_configuration()'''&lt;br /&gt;
==DBus Interaction==&lt;br /&gt;
Before you can interact with the Radiation Monitor's DBus service, you will need to load some prerequisite Python libraries:&lt;br /&gt;
 import dbus&lt;br /&gt;
This is the minimum to connect to DBus. If you wish to do more than connect as a client, you will need to load the following libraries:&lt;br /&gt;
 import dbus.service, gobject&lt;br /&gt;
 from dbus import glib&lt;br /&gt;
It is also recommend that you initialize threading now if you are planning on performing threaded tasks:&lt;br /&gt;
 gobject.threads_init()&lt;br /&gt;
 glib.init_threads()&lt;br /&gt;
===Connecting to the Radiation Monitor DBus service===&lt;br /&gt;
To interact with the Radiation Monitor DBus service in Python, you will first need to connect to the DBus Session bus:&lt;br /&gt;
 ''dbus_bus'' = '''dbus.SessionBus()'''&lt;br /&gt;
Once you have successfully connected to the session bus, you will then want to get the DBus service object for the Radiation Monitor. This is done via the '''get_object''' bus method:&lt;br /&gt;
 ''dbus_object'' = ''dbus_bus''.'''get_object('''''service_name'', ''service_path''''')'''&lt;br /&gt;
For our Radiation Monitor interface, the proper invocation is as follows:&lt;br /&gt;
 ''dbus_object'' = ''dbus_bus''.'''get_object('''''&amp;quot;iac.nagios.radmonitors&amp;quot;'', ''&amp;quot;/IAC/Nagios/RadMonitors&amp;quot;''''')'''&lt;br /&gt;
After this is done, you may choose to call the Radiation Monitor's DBus methods either through the service object itself, or you may create references to specific methods for use:&lt;br /&gt;
 ''dbus_method_ref'' = ''dbus_object''.'''get_dbus_method('''''method'', ''service_name''''')'''&lt;br /&gt;
Example:&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; remote_method = remote_object.get_dbus_method('get_active_monitor_count', 'iac.nagios.radmonitors')&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; remote_method()&lt;br /&gt;
 dbus.Int32(7)&lt;br /&gt;
===Introspection Schema===&lt;br /&gt;
The Radiation Monitor DBus service returns the following schema upon being called with its inherited Introspect() method:&lt;br /&gt;
 &amp;lt;!DOCTYPE node PUBLIC &amp;quot;-//freedesktop//DTD D-BUS Object Introspection 1.0//EN&amp;quot;&lt;br /&gt;
 &amp;quot;http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;node name=&amp;quot;/IAC/Nagios/RadMonitors&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;interface name=&amp;quot;iac.nagios.radmonitors&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;method name=&amp;quot;reload_configuration&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;/method&amp;gt;&lt;br /&gt;
     &amp;lt;method name=&amp;quot;get_active_monitors&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;/method&amp;gt;&lt;br /&gt;
     &amp;lt;method name=&amp;quot;get_active_monitor_count&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;/method&amp;gt;&lt;br /&gt;
     &amp;lt;method name=&amp;quot;add_send_client&amp;quot;&amp;gt;&lt;br /&gt;
       &amp;lt;arg direction=&amp;quot;in&amp;quot;  type=&amp;quot;v&amp;quot; name=&amp;quot;new_client&amp;quot; /&amp;gt;&lt;br /&gt;
     &amp;lt;/method&amp;gt;&lt;br /&gt;
     &amp;lt;method name=&amp;quot;get_radiation_levels&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;/method&amp;gt;&lt;br /&gt;
     &amp;lt;method name=&amp;quot;get_active_channels&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;/method&amp;gt;&lt;br /&gt;
   &amp;lt;/interface&amp;gt;&lt;br /&gt;
   &amp;lt;interface name=&amp;quot;org.freedesktop.DBus.Introspectable&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;method name=&amp;quot;Introspect&amp;quot;&amp;gt;&lt;br /&gt;
       &amp;lt;arg direction=&amp;quot;out&amp;quot; type=&amp;quot;s&amp;quot; /&amp;gt;&lt;br /&gt;
     &amp;lt;/method&amp;gt;&lt;br /&gt;
   &amp;lt;/interface&amp;gt;&lt;br /&gt;
 &amp;lt;/node&amp;gt;&lt;br /&gt;
===Methods===&lt;br /&gt;
====get_active_channels====&lt;br /&gt;
This exposed DBus method will return a dbus.Array value representing the active channels the script sees. It is invoked in the following manner:&lt;br /&gt;
 ''dbus_object''.'''get_active_channels()'''&lt;br /&gt;
Example output:&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; remote_object.get_active_channels()&lt;br /&gt;
 dbus.Array([dbus.Int32(1), dbus.Int32(2), dbus.Int32(3), dbus.Int32(4), dbus.Int32(5), dbus.Int32(6), dbus.Int32(7)], signature=dbus.Signature('i'))&lt;br /&gt;
====get_active_monitors====&lt;br /&gt;
This exposed DBus method will return a dbus.Array value representing the IP address of all radiation monitors the script sees. It is invoked in the following manner:&lt;br /&gt;
 ''dbus_object''.'''get_active_monitors()'''&lt;br /&gt;
Example output:&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; remote_object.get_active_monitors()&lt;br /&gt;
 dbus.Array([dbus.String(u'192.168.40.155'), dbus.String(u'192.168.40.154'), dbus.String(u'192.168.40.121'), dbus.String(u'192.168.40.172'),&lt;br /&gt;
 dbus.String(u'192.168.40.137'), dbus.String(u'192.168.40.159'), dbus.String(u'192.168.40.120')], signature=dbus.Signature('s'))&lt;br /&gt;
====get_active_monitor_count====&lt;br /&gt;
This exposed DBus method will return a dbus.Int32 value representing the total number of active monitors the script sees. It is invoked in the following manner:&lt;br /&gt;
 ''dbus_object''.'''get_active_monitor_count()'''&lt;br /&gt;
Example output:&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; remote_object.get_active_monitor_count()&lt;br /&gt;
 dbus.Int32(7)&lt;br /&gt;
====get_radiation_levels====&lt;br /&gt;
This exposed DBus method will return a dbus.Array value representing the current radiation level of all monitors the script sees. It is invoked in the following manner:&lt;br /&gt;
 ''dbus_object''.'''get_radiation_levels()'''&lt;br /&gt;
Example output:&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; remote_object.get_radiation_levels()&lt;br /&gt;
 dbus.Array([dbus.String(u'0.0'), dbus.String(u'0.0'), dbus.String(u'0.0'), dbus.String(u'0.0'), dbus.String(u'0.1'), dbus.String(u'0.1'),&lt;br /&gt;
 dbus.String(u'0.1')], signature=dbus.Signature('s'))&lt;br /&gt;
====add_send_client====&lt;br /&gt;
This exposed DBus method will add a new send target client to a running instance of the script, allowing for on-the-fly addition of targets without restarting. It is invoked in the following manner:&lt;br /&gt;
 ''dbus_object''.'''add_send_client(''string'')'''&lt;br /&gt;
Where ''string'' is a string containing the IP address and destination port number of the send target, formatted as &amp;quot;''ip'':''port''&amp;quot;.&lt;br /&gt;
The function returns a dbus.Boolean value; ''True'' if the add is successful, ''False'' if not.&lt;br /&gt;
&lt;br /&gt;
'''Note:''' This only adds the new send client to the in-memory send list. If you wish to retain this send client for future use, you will need to edit the configuration file and add&lt;br /&gt;
the appropriate ''sendto'' directive for that client.&lt;br /&gt;
&lt;br /&gt;
Example output:&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; remote_object.add_send_client(&amp;quot;134.50.87.179:55555&amp;quot;)&lt;br /&gt;
 dbus.Boolean(True)&lt;br /&gt;
&lt;br /&gt;
====reload_configuration====&lt;br /&gt;
This exposed DBus method will cause a running instance of the script to reload its configuration file, as if having been sent signal SIGHUP. It is invoked in the following manner:&lt;br /&gt;
 ''dbus_object''.'''reload_configuration()'''&lt;br /&gt;
Then function always returns dbus.Boolean ''True'' at this time.&lt;br /&gt;
&lt;br /&gt;
Example output:&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; remote_object.reload_configuration()&lt;br /&gt;
 dbus.Boolean(True)&lt;/div&gt;</summary>
		<author><name>Buckminst</name></author>
	</entry>
	<entry>
		<id>https://wiki.iac.isu.edu/index.php?title=Radiation_Monitor_Python_Script_Documentation&amp;diff=53647</id>
		<title>Radiation Monitor Python Script Documentation</title>
		<link rel="alternate" type="text/html" href="https://wiki.iac.isu.edu/index.php?title=Radiation_Monitor_Python_Script_Documentation&amp;diff=53647"/>
		<updated>2010-09-14T22:57:00Z</updated>

		<summary type="html">&lt;p&gt;Buckminst: /* Configuration And Use */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The Radiation Monitor Python script is a DBus-enabled UDP forwarding and reporting script designed to interpret and rebroadcast the information provided by the Ludlum Measurement Inc. 375-9 series Radiation Monitors in use at the IAC and in the ISU Physics building. It utilizes the common ''iac.nagios.'' DBus service and ''/IAC/Nagios/'' service path for statistic reporting to the IAC [[Monitoring_Server|Nagios]] server.&lt;br /&gt;
=Configuration And Use=&lt;br /&gt;
Before first execution, the following directories will need to be created, with proper permissions for the ''nagios'' user to write to them:&lt;br /&gt;
* ''/var/log/iac''&lt;br /&gt;
* ''/etc/iac''&lt;br /&gt;
These directories will be common for the Radiation Monitoring script as well as the Cluster Room Temperature Monitor script.&lt;br /&gt;
&lt;br /&gt;
Once ''/etc/iac'' exists, you will need to create the ''rad_monitors.cfg'' configuration file within that directory. &lt;br /&gt;
The configuration file syntax is described below.&lt;br /&gt;
&lt;br /&gt;
The Radiation Monitor script, if called without a configuration file, uses the following defaults:&lt;br /&gt;
* '''Local Address:''' ''None''&lt;br /&gt;
* '''Listen Address:''' ''255.255.255.255''&lt;br /&gt;
* '''Listen Port:''' ''55555''&lt;br /&gt;
* '''Verbose Mode (Non-Daemon):''' ''False''&lt;br /&gt;
* '''Debug Mode:''' ''False''&lt;br /&gt;
* '''Daemon Mode:''' ''True''&lt;br /&gt;
* '''Log Mode:''' ''Append''&lt;br /&gt;
* '''Send Clients:''' ''None''&lt;br /&gt;
&lt;br /&gt;
The command to start the Radiation Monitoring script is simply ''rad_monitors.py''. This script will need to be ran by the ''nagios'' user.&lt;br /&gt;
==Configuration File==&lt;br /&gt;
'''Example Configuration File'''&lt;br /&gt;
 #local:134.50.87.179:55554&lt;br /&gt;
 listen:255.255.255.255:55555&lt;br /&gt;
 sendto:127.0.0.1:54321&lt;br /&gt;
 #sendto:134.50.87.179:54321&lt;br /&gt;
 #verbose&lt;br /&gt;
 #debug&lt;br /&gt;
 noforward&lt;br /&gt;
 #nodaemon&lt;br /&gt;
 #truncate&lt;br /&gt;
===Configuration Directives===&lt;br /&gt;
====local====&lt;br /&gt;
This directive will allow you to bind to a specific IP address/interface and port number for purposes of UDP packet source information. By default the program will choose whichever interface is needed to talk to the send clients, as well as a random high port. The proper syntax for this directive is as follows:&lt;br /&gt;
 '''local''':''local_ip'':''local_port''&lt;br /&gt;
This directive cannot be changed during run-time.&lt;br /&gt;
====listen====&lt;br /&gt;
This directive will allow you to specify what interface/IP address and port to listen for packets on. By default this is set for UDP broadcasts on ''255.255.255.255''. The proper syntax for this directive is as follows:&lt;br /&gt;
 '''listen'':''listen_ip'':''listen_port''&lt;br /&gt;
This directive cannot be changed during run-time.&lt;br /&gt;
====sendto====&lt;br /&gt;
This directive will allow you to specify any number of clients to forward the UDP packets on to, one per directive line. The proper syntax for this directive is as follows:&lt;br /&gt;
 ''sendto'':''target_ip'':''target_port''&lt;br /&gt;
Additional send clients can be added while the script is running by sending SIGHUP or using the DBus ''reload_configuration'' method to reload the configuration file, or by using the DBus ''add_send_client'' method.&lt;br /&gt;
====verbose====&lt;br /&gt;
This directive sets the Radiation Monitor script into verbose interactive mode (non-daemonized), for the purposes of examining packet flow and diagnostics. This directive needs no arguments and can simply be specified in the configuration file.&lt;br /&gt;
&lt;br /&gt;
This directive cannot be changed during run-time.&lt;br /&gt;
====debug====&lt;br /&gt;
This directive sets the Radiation Monitor script into a further debugging mode, for program flow and diagnostic purposes.&lt;br /&gt;
&lt;br /&gt;
This directive can be changed during run-time by sending SIGHUP or using the DBus ''reload_configuration'' method to reload the configuration file.&lt;br /&gt;
====noforward====&lt;br /&gt;
This directive disables packet forwarding for the Radiation Monitor. This can be useful if you wish to run the script just for listening purposes, or for troubleshooting.&lt;br /&gt;
&lt;br /&gt;
This directive can be changed during run-time by sending SIGHUP or using the DBus ''reload_configuration'' method to reload the configuration file.&lt;br /&gt;
====nodaemon====&lt;br /&gt;
This directive sets the Radiation Monitor script to run in interactive (non-daemonized) mode, but without verbose output. This can be useful for troubleshooting purposes or if you wish to run the process in a&lt;br /&gt;
screen session.&lt;br /&gt;
&lt;br /&gt;
This directive cannot be changed during run-time.&lt;br /&gt;
====truncate====&lt;br /&gt;
This directive requires the Radiation Monitor script to clear its log file at each session start, rather than appending (the default log method).&lt;br /&gt;
&lt;br /&gt;
This directive cannot be changed during run-time.&lt;br /&gt;
&lt;br /&gt;
=API=&lt;br /&gt;
==DBus Quick Reference==&lt;br /&gt;
'''Service Bus''': ''SessionBus()''&lt;br /&gt;
&lt;br /&gt;
'''Service Name''': ''iac.nagios.radmonitors''&lt;br /&gt;
&lt;br /&gt;
'''Service Path''': ''/IAC/Nagios/RadMonitors''&lt;br /&gt;
&lt;br /&gt;
'''Exposed Methods'''&lt;br /&gt;
 '''get_active_channels()'''&lt;br /&gt;
 '''get_active_monitors()'''&lt;br /&gt;
 '''get_active_monitor_count()'''&lt;br /&gt;
 '''get_radiation_levels()'''&lt;br /&gt;
 '''add_send_client('''''string''''')'''&lt;br /&gt;
 '''reload_configuration()'''&lt;br /&gt;
==DBus Interaction==&lt;br /&gt;
Before you can interact with the Radiation Monitor's DBus service, you will need to load some prerequisite Python libraries:&lt;br /&gt;
 import dbus&lt;br /&gt;
This is the minimum to connect to DBus. If you wish to do more than connect as a client, you will need to load the following libraries:&lt;br /&gt;
 import dbus.service, gobject&lt;br /&gt;
 from dbus import glib&lt;br /&gt;
It is also recommend that you initialize threading now if you are planning on performing threaded tasks:&lt;br /&gt;
 gobject.threads_init()&lt;br /&gt;
 glib.init_threads()&lt;br /&gt;
===Connecting to the Radiation Monitor DBus service===&lt;br /&gt;
To interact with the Radiation Monitor DBus service in Python, you will first need to connect to the DBus Session bus:&lt;br /&gt;
 ''dbus_bus'' = '''dbus.SessionBus()'''&lt;br /&gt;
Once you have successfully connected to the session bus, you will then want to get the DBus service object for the Radiation Monitor. This is done via the '''get_object''' bus method:&lt;br /&gt;
 ''dbus_object'' = ''dbus_bus''.'''get_object('''''service_name'', ''service_path''''')'''&lt;br /&gt;
For our Radiation Monitor interface, the proper invocation is as follows:&lt;br /&gt;
 ''dbus_object'' = ''dbus_bus''.'''get_object('''''&amp;quot;iac.nagios.radmonitors&amp;quot;'', ''&amp;quot;/IAC/Nagios/RadMonitors&amp;quot;''''')'''&lt;br /&gt;
After this is done, you may choose to call the Radiation Monitor's DBus methods either through the service object itself, or you may create references to specific methods for use:&lt;br /&gt;
 ''dbus_method_ref'' = ''dbus_object''.'''get_dbus_method('''''method'', ''service_name''''')'''&lt;br /&gt;
Example:&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; remote_method = remote_object.get_dbus_method('get_active_monitor_count', 'iac.nagios.radmonitors')&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; remote_method()&lt;br /&gt;
 dbus.Int32(7)&lt;br /&gt;
===Introspection Schema===&lt;br /&gt;
The Radiation Monitor DBus service returns the following schema upon being called with its inherited Introspect() method:&lt;br /&gt;
 &amp;lt;!DOCTYPE node PUBLIC &amp;quot;-//freedesktop//DTD D-BUS Object Introspection 1.0//EN&amp;quot;&lt;br /&gt;
 &amp;quot;http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;node name=&amp;quot;/IAC/Nagios/RadMonitors&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;interface name=&amp;quot;iac.nagios.radmonitors&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;method name=&amp;quot;reload_configuration&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;/method&amp;gt;&lt;br /&gt;
     &amp;lt;method name=&amp;quot;get_active_monitors&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;/method&amp;gt;&lt;br /&gt;
     &amp;lt;method name=&amp;quot;get_active_monitor_count&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;/method&amp;gt;&lt;br /&gt;
     &amp;lt;method name=&amp;quot;add_send_client&amp;quot;&amp;gt;&lt;br /&gt;
       &amp;lt;arg direction=&amp;quot;in&amp;quot;  type=&amp;quot;v&amp;quot; name=&amp;quot;new_client&amp;quot; /&amp;gt;&lt;br /&gt;
     &amp;lt;/method&amp;gt;&lt;br /&gt;
     &amp;lt;method name=&amp;quot;get_radiation_levels&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;/method&amp;gt;&lt;br /&gt;
     &amp;lt;method name=&amp;quot;get_active_channels&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;/method&amp;gt;&lt;br /&gt;
   &amp;lt;/interface&amp;gt;&lt;br /&gt;
   &amp;lt;interface name=&amp;quot;org.freedesktop.DBus.Introspectable&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;method name=&amp;quot;Introspect&amp;quot;&amp;gt;&lt;br /&gt;
       &amp;lt;arg direction=&amp;quot;out&amp;quot; type=&amp;quot;s&amp;quot; /&amp;gt;&lt;br /&gt;
     &amp;lt;/method&amp;gt;&lt;br /&gt;
   &amp;lt;/interface&amp;gt;&lt;br /&gt;
 &amp;lt;/node&amp;gt;&lt;br /&gt;
===Methods===&lt;br /&gt;
====get_active_channels====&lt;br /&gt;
This exposed DBus method will return a dbus.Array value representing the active channels the script sees. It is invoked in the following manner:&lt;br /&gt;
 ''dbus_object''.'''get_active_channels()'''&lt;br /&gt;
Example output:&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; remote_object.get_active_channels()&lt;br /&gt;
 dbus.Array([dbus.Int32(1), dbus.Int32(2), dbus.Int32(3), dbus.Int32(4), dbus.Int32(5), dbus.Int32(6), dbus.Int32(7)], signature=dbus.Signature('i'))&lt;br /&gt;
====get_active_monitors====&lt;br /&gt;
This exposed DBus method will return a dbus.Array value representing the IP address of all radiation monitors the script sees. It is invoked in the following manner:&lt;br /&gt;
 ''dbus_object''.'''get_active_monitors()'''&lt;br /&gt;
Example output:&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; remote_object.get_active_monitors()&lt;br /&gt;
 dbus.Array([dbus.String(u'192.168.40.155'), dbus.String(u'192.168.40.154'), dbus.String(u'192.168.40.121'), dbus.String(u'192.168.40.172'),&lt;br /&gt;
 dbus.String(u'192.168.40.137'), dbus.String(u'192.168.40.159'), dbus.String(u'192.168.40.120')], signature=dbus.Signature('s'))&lt;br /&gt;
====get_active_monitor_count====&lt;br /&gt;
This exposed DBus method will return a dbus.Int32 value representing the total number of active monitors the script sees. It is invoked in the following manner:&lt;br /&gt;
 ''dbus_object''.'''get_active_monitor_count()'''&lt;br /&gt;
Example output:&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; remote_object.get_active_monitor_count()&lt;br /&gt;
 dbus.Int32(7)&lt;br /&gt;
====get_radiation_levels====&lt;br /&gt;
This exposed DBus method will return a dbus.Array value representing the current radiation level of all monitors the script sees. It is invoked in the following manner:&lt;br /&gt;
 ''dbus_object''.'''get_radiation_levels()'''&lt;br /&gt;
Example output:&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; remote_object.get_radiation_levels()&lt;br /&gt;
 dbus.Array([dbus.String(u'0.0'), dbus.String(u'0.0'), dbus.String(u'0.0'), dbus.String(u'0.0'), dbus.String(u'0.1'), dbus.String(u'0.1'),&lt;br /&gt;
 dbus.String(u'0.1')], signature=dbus.Signature('s'))&lt;br /&gt;
====add_send_client====&lt;br /&gt;
This exposed DBus method will add a new send target client to a running instance of the script, allowing for on-the-fly addition of targets without restarting. It is invoked in the following manner:&lt;br /&gt;
 ''dbus_object''.'''add_send_client(''string'')'''&lt;br /&gt;
Where ''string'' is a string containing the IP address and destination port number of the send target, formatted as &amp;quot;''ip'':''port''&amp;quot;.&lt;br /&gt;
The function returns a dbus.Boolean value; ''True'' if the add is successful, ''False'' if not.&lt;br /&gt;
&lt;br /&gt;
'''Note:''' This only adds the new send client to the in-memory send list. If you wish to retain this send client for future use, you will need to edit the configuration file and add&lt;br /&gt;
the appropriate ''sendto'' directive for that client.&lt;br /&gt;
&lt;br /&gt;
Example output:&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; remote_object.add_send_client(&amp;quot;134.50.87.179:55555&amp;quot;)&lt;br /&gt;
 dbus.Boolean(True)&lt;br /&gt;
&lt;br /&gt;
====reload_configuration====&lt;br /&gt;
This exposed DBus method will cause a running instance of the script to reload its configuration file, as if having been sent signal SIGHUP. It is invoked in the following manner:&lt;br /&gt;
 ''dbus_object''.'''reload_configuration()'''&lt;br /&gt;
Then function always returns dbus.Boolean ''True'' at this time.&lt;br /&gt;
&lt;br /&gt;
Example output:&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; remote_object.reload_configuration()&lt;br /&gt;
 dbus.Boolean(True)&lt;/div&gt;</summary>
		<author><name>Buckminst</name></author>
	</entry>
	<entry>
		<id>https://wiki.iac.isu.edu/index.php?title=Radiation_Monitor_Python_Script_Documentation&amp;diff=53646</id>
		<title>Radiation Monitor Python Script Documentation</title>
		<link rel="alternate" type="text/html" href="https://wiki.iac.isu.edu/index.php?title=Radiation_Monitor_Python_Script_Documentation&amp;diff=53646"/>
		<updated>2010-09-14T22:56:05Z</updated>

		<summary type="html">&lt;p&gt;Buckminst: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The Radiation Monitor Python script is a DBus-enabled UDP forwarding and reporting script designed to interpret and rebroadcast the information provided by the Ludlum Measurement Inc. 375-9 series Radiation Monitors in use at the IAC and in the ISU Physics building. It utilizes the common ''iac.nagios.'' DBus service and ''/IAC/Nagios/'' service path for statistic reporting to the IAC [[Monitoring_Server|Nagios]] server.&lt;br /&gt;
=Configuration And Use=&lt;br /&gt;
Before first execution, the following directories will need to be created, with proper permissions for the ''nagios'' user to write to them:&lt;br /&gt;
* ''/var/log/iac''&lt;br /&gt;
* ''/etc/iac''&lt;br /&gt;
These directories will be common for the Radiation Monitoring script as well as the Cluster Room Temperature Monitor script.&lt;br /&gt;
&lt;br /&gt;
Once ''/etc/iac'' exists, you will need to create the ''rad_monitors.cfg'' configuration file within that directory. &lt;br /&gt;
The configuration file syntax is described below.&lt;br /&gt;
&lt;br /&gt;
The Radiation Monitor script, if called without a configuration file, uses the following defaults:&lt;br /&gt;
* '''Local Address:''' ''None''&lt;br /&gt;
* '''Listen Address:''' ''255.255.255.255''&lt;br /&gt;
* '''Listen Port:''' ''55555''&lt;br /&gt;
* '''Verbose Mode (Non-Daemon):''' ''False''&lt;br /&gt;
* '''Debug Mode:''' ''False''&lt;br /&gt;
* '''Daemon Mode:''' ''True''&lt;br /&gt;
* '''Log Mode:''' ''Append''&lt;br /&gt;
* '''Send Clients:''' ''None''&lt;br /&gt;
&lt;br /&gt;
The command to start the Radiation Monitoring script is simply ''rad_monitors.py''&lt;br /&gt;
==Configuration File==&lt;br /&gt;
'''Example Configuration File'''&lt;br /&gt;
 #local:134.50.87.179:55554&lt;br /&gt;
 listen:255.255.255.255:55555&lt;br /&gt;
 sendto:127.0.0.1:54321&lt;br /&gt;
 #sendto:134.50.87.179:54321&lt;br /&gt;
 #verbose&lt;br /&gt;
 #debug&lt;br /&gt;
 noforward&lt;br /&gt;
 #nodaemon&lt;br /&gt;
 #truncate&lt;br /&gt;
===Configuration Directives===&lt;br /&gt;
====local====&lt;br /&gt;
This directive will allow you to bind to a specific IP address/interface and port number for purposes of UDP packet source information. By default the program will choose whichever interface is needed to talk to the send clients, as well as a random high port. The proper syntax for this directive is as follows:&lt;br /&gt;
 '''local''':''local_ip'':''local_port''&lt;br /&gt;
This directive cannot be changed during run-time.&lt;br /&gt;
====listen====&lt;br /&gt;
This directive will allow you to specify what interface/IP address and port to listen for packets on. By default this is set for UDP broadcasts on ''255.255.255.255''. The proper syntax for this directive is as follows:&lt;br /&gt;
 '''listen'':''listen_ip'':''listen_port''&lt;br /&gt;
This directive cannot be changed during run-time.&lt;br /&gt;
====sendto====&lt;br /&gt;
This directive will allow you to specify any number of clients to forward the UDP packets on to, one per directive line. The proper syntax for this directive is as follows:&lt;br /&gt;
 ''sendto'':''target_ip'':''target_port''&lt;br /&gt;
Additional send clients can be added while the script is running by sending SIGHUP or using the DBus ''reload_configuration'' method to reload the configuration file, or by using the DBus ''add_send_client'' method.&lt;br /&gt;
====verbose====&lt;br /&gt;
This directive sets the Radiation Monitor script into verbose interactive mode (non-daemonized), for the purposes of examining packet flow and diagnostics. This directive needs no arguments and can simply be specified in the configuration file.&lt;br /&gt;
&lt;br /&gt;
This directive cannot be changed during run-time.&lt;br /&gt;
====debug====&lt;br /&gt;
This directive sets the Radiation Monitor script into a further debugging mode, for program flow and diagnostic purposes.&lt;br /&gt;
&lt;br /&gt;
This directive can be changed during run-time by sending SIGHUP or using the DBus ''reload_configuration'' method to reload the configuration file.&lt;br /&gt;
====noforward====&lt;br /&gt;
This directive disables packet forwarding for the Radiation Monitor. This can be useful if you wish to run the script just for listening purposes, or for troubleshooting.&lt;br /&gt;
&lt;br /&gt;
This directive can be changed during run-time by sending SIGHUP or using the DBus ''reload_configuration'' method to reload the configuration file.&lt;br /&gt;
====nodaemon====&lt;br /&gt;
This directive sets the Radiation Monitor script to run in interactive (non-daemonized) mode, but without verbose output. This can be useful for troubleshooting purposes or if you wish to run the process in a&lt;br /&gt;
screen session.&lt;br /&gt;
&lt;br /&gt;
This directive cannot be changed during run-time.&lt;br /&gt;
====truncate====&lt;br /&gt;
This directive requires the Radiation Monitor script to clear its log file at each session start, rather than appending (the default log method).&lt;br /&gt;
&lt;br /&gt;
This directive cannot be changed during run-time.&lt;br /&gt;
&lt;br /&gt;
=API=&lt;br /&gt;
==DBus Quick Reference==&lt;br /&gt;
'''Service Bus''': ''SessionBus()''&lt;br /&gt;
&lt;br /&gt;
'''Service Name''': ''iac.nagios.radmonitors''&lt;br /&gt;
&lt;br /&gt;
'''Service Path''': ''/IAC/Nagios/RadMonitors''&lt;br /&gt;
&lt;br /&gt;
'''Exposed Methods'''&lt;br /&gt;
 '''get_active_channels()'''&lt;br /&gt;
 '''get_active_monitors()'''&lt;br /&gt;
 '''get_active_monitor_count()'''&lt;br /&gt;
 '''get_radiation_levels()'''&lt;br /&gt;
 '''add_send_client('''''string''''')'''&lt;br /&gt;
 '''reload_configuration()'''&lt;br /&gt;
==DBus Interaction==&lt;br /&gt;
Before you can interact with the Radiation Monitor's DBus service, you will need to load some prerequisite Python libraries:&lt;br /&gt;
 import dbus&lt;br /&gt;
This is the minimum to connect to DBus. If you wish to do more than connect as a client, you will need to load the following libraries:&lt;br /&gt;
 import dbus.service, gobject&lt;br /&gt;
 from dbus import glib&lt;br /&gt;
It is also recommend that you initialize threading now if you are planning on performing threaded tasks:&lt;br /&gt;
 gobject.threads_init()&lt;br /&gt;
 glib.init_threads()&lt;br /&gt;
===Connecting to the Radiation Monitor DBus service===&lt;br /&gt;
To interact with the Radiation Monitor DBus service in Python, you will first need to connect to the DBus Session bus:&lt;br /&gt;
 ''dbus_bus'' = '''dbus.SessionBus()'''&lt;br /&gt;
Once you have successfully connected to the session bus, you will then want to get the DBus service object for the Radiation Monitor. This is done via the '''get_object''' bus method:&lt;br /&gt;
 ''dbus_object'' = ''dbus_bus''.'''get_object('''''service_name'', ''service_path''''')'''&lt;br /&gt;
For our Radiation Monitor interface, the proper invocation is as follows:&lt;br /&gt;
 ''dbus_object'' = ''dbus_bus''.'''get_object('''''&amp;quot;iac.nagios.radmonitors&amp;quot;'', ''&amp;quot;/IAC/Nagios/RadMonitors&amp;quot;''''')'''&lt;br /&gt;
After this is done, you may choose to call the Radiation Monitor's DBus methods either through the service object itself, or you may create references to specific methods for use:&lt;br /&gt;
 ''dbus_method_ref'' = ''dbus_object''.'''get_dbus_method('''''method'', ''service_name''''')'''&lt;br /&gt;
Example:&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; remote_method = remote_object.get_dbus_method('get_active_monitor_count', 'iac.nagios.radmonitors')&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; remote_method()&lt;br /&gt;
 dbus.Int32(7)&lt;br /&gt;
===Introspection Schema===&lt;br /&gt;
The Radiation Monitor DBus service returns the following schema upon being called with its inherited Introspect() method:&lt;br /&gt;
 &amp;lt;!DOCTYPE node PUBLIC &amp;quot;-//freedesktop//DTD D-BUS Object Introspection 1.0//EN&amp;quot;&lt;br /&gt;
 &amp;quot;http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;node name=&amp;quot;/IAC/Nagios/RadMonitors&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;interface name=&amp;quot;iac.nagios.radmonitors&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;method name=&amp;quot;reload_configuration&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;/method&amp;gt;&lt;br /&gt;
     &amp;lt;method name=&amp;quot;get_active_monitors&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;/method&amp;gt;&lt;br /&gt;
     &amp;lt;method name=&amp;quot;get_active_monitor_count&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;/method&amp;gt;&lt;br /&gt;
     &amp;lt;method name=&amp;quot;add_send_client&amp;quot;&amp;gt;&lt;br /&gt;
       &amp;lt;arg direction=&amp;quot;in&amp;quot;  type=&amp;quot;v&amp;quot; name=&amp;quot;new_client&amp;quot; /&amp;gt;&lt;br /&gt;
     &amp;lt;/method&amp;gt;&lt;br /&gt;
     &amp;lt;method name=&amp;quot;get_radiation_levels&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;/method&amp;gt;&lt;br /&gt;
     &amp;lt;method name=&amp;quot;get_active_channels&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;/method&amp;gt;&lt;br /&gt;
   &amp;lt;/interface&amp;gt;&lt;br /&gt;
   &amp;lt;interface name=&amp;quot;org.freedesktop.DBus.Introspectable&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;method name=&amp;quot;Introspect&amp;quot;&amp;gt;&lt;br /&gt;
       &amp;lt;arg direction=&amp;quot;out&amp;quot; type=&amp;quot;s&amp;quot; /&amp;gt;&lt;br /&gt;
     &amp;lt;/method&amp;gt;&lt;br /&gt;
   &amp;lt;/interface&amp;gt;&lt;br /&gt;
 &amp;lt;/node&amp;gt;&lt;br /&gt;
===Methods===&lt;br /&gt;
====get_active_channels====&lt;br /&gt;
This exposed DBus method will return a dbus.Array value representing the active channels the script sees. It is invoked in the following manner:&lt;br /&gt;
 ''dbus_object''.'''get_active_channels()'''&lt;br /&gt;
Example output:&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; remote_object.get_active_channels()&lt;br /&gt;
 dbus.Array([dbus.Int32(1), dbus.Int32(2), dbus.Int32(3), dbus.Int32(4), dbus.Int32(5), dbus.Int32(6), dbus.Int32(7)], signature=dbus.Signature('i'))&lt;br /&gt;
====get_active_monitors====&lt;br /&gt;
This exposed DBus method will return a dbus.Array value representing the IP address of all radiation monitors the script sees. It is invoked in the following manner:&lt;br /&gt;
 ''dbus_object''.'''get_active_monitors()'''&lt;br /&gt;
Example output:&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; remote_object.get_active_monitors()&lt;br /&gt;
 dbus.Array([dbus.String(u'192.168.40.155'), dbus.String(u'192.168.40.154'), dbus.String(u'192.168.40.121'), dbus.String(u'192.168.40.172'),&lt;br /&gt;
 dbus.String(u'192.168.40.137'), dbus.String(u'192.168.40.159'), dbus.String(u'192.168.40.120')], signature=dbus.Signature('s'))&lt;br /&gt;
====get_active_monitor_count====&lt;br /&gt;
This exposed DBus method will return a dbus.Int32 value representing the total number of active monitors the script sees. It is invoked in the following manner:&lt;br /&gt;
 ''dbus_object''.'''get_active_monitor_count()'''&lt;br /&gt;
Example output:&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; remote_object.get_active_monitor_count()&lt;br /&gt;
 dbus.Int32(7)&lt;br /&gt;
====get_radiation_levels====&lt;br /&gt;
This exposed DBus method will return a dbus.Array value representing the current radiation level of all monitors the script sees. It is invoked in the following manner:&lt;br /&gt;
 ''dbus_object''.'''get_radiation_levels()'''&lt;br /&gt;
Example output:&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; remote_object.get_radiation_levels()&lt;br /&gt;
 dbus.Array([dbus.String(u'0.0'), dbus.String(u'0.0'), dbus.String(u'0.0'), dbus.String(u'0.0'), dbus.String(u'0.1'), dbus.String(u'0.1'),&lt;br /&gt;
 dbus.String(u'0.1')], signature=dbus.Signature('s'))&lt;br /&gt;
====add_send_client====&lt;br /&gt;
This exposed DBus method will add a new send target client to a running instance of the script, allowing for on-the-fly addition of targets without restarting. It is invoked in the following manner:&lt;br /&gt;
 ''dbus_object''.'''add_send_client(''string'')'''&lt;br /&gt;
Where ''string'' is a string containing the IP address and destination port number of the send target, formatted as &amp;quot;''ip'':''port''&amp;quot;.&lt;br /&gt;
The function returns a dbus.Boolean value; ''True'' if the add is successful, ''False'' if not.&lt;br /&gt;
&lt;br /&gt;
'''Note:''' This only adds the new send client to the in-memory send list. If you wish to retain this send client for future use, you will need to edit the configuration file and add&lt;br /&gt;
the appropriate ''sendto'' directive for that client.&lt;br /&gt;
&lt;br /&gt;
Example output:&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; remote_object.add_send_client(&amp;quot;134.50.87.179:55555&amp;quot;)&lt;br /&gt;
 dbus.Boolean(True)&lt;br /&gt;
&lt;br /&gt;
====reload_configuration====&lt;br /&gt;
This exposed DBus method will cause a running instance of the script to reload its configuration file, as if having been sent signal SIGHUP. It is invoked in the following manner:&lt;br /&gt;
 ''dbus_object''.'''reload_configuration()'''&lt;br /&gt;
Then function always returns dbus.Boolean ''True'' at this time.&lt;br /&gt;
&lt;br /&gt;
Example output:&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; remote_object.reload_configuration()&lt;br /&gt;
 dbus.Boolean(True)&lt;/div&gt;</summary>
		<author><name>Buckminst</name></author>
	</entry>
	<entry>
		<id>https://wiki.iac.isu.edu/index.php?title=Radiation_Monitor_Python_Script_Documentation&amp;diff=53645</id>
		<title>Radiation Monitor Python Script Documentation</title>
		<link rel="alternate" type="text/html" href="https://wiki.iac.isu.edu/index.php?title=Radiation_Monitor_Python_Script_Documentation&amp;diff=53645"/>
		<updated>2010-09-14T22:51:41Z</updated>

		<summary type="html">&lt;p&gt;Buckminst: /* Configuration And Use */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Configuration And Use=&lt;br /&gt;
Before first execution, the following directories will need to be created, with proper permissions for the ''nagios'' user to write to them:&lt;br /&gt;
* ''/var/log/iac''&lt;br /&gt;
* ''/etc/iac''&lt;br /&gt;
These directories will be common for the Radiation Monitoring script as well as the Cluster Room Temperature Monitor script.&lt;br /&gt;
&lt;br /&gt;
Once ''/etc/iac'' exists, you will need to create the ''rad_monitors.cfg'' configuration file within that directory. &lt;br /&gt;
The configuration file syntax is described below.&lt;br /&gt;
&lt;br /&gt;
The Radiation Monitor script, if called without a configuration file, uses the following defaults:&lt;br /&gt;
* '''Local Address:''' ''None''&lt;br /&gt;
* '''Listen Address:''' ''255.255.255.255''&lt;br /&gt;
* '''Listen Port:''' ''55555''&lt;br /&gt;
* '''Verbose Mode (Non-Daemon):''' ''False''&lt;br /&gt;
* '''Debug Mode:''' ''False''&lt;br /&gt;
* '''Daemon Mode:''' ''True''&lt;br /&gt;
* '''Log Mode:''' ''Append''&lt;br /&gt;
* '''Send Clients:''' ''None''&lt;br /&gt;
&lt;br /&gt;
The command to start the Radiation Monitoring script is simply ''rad_monitors.py''&lt;br /&gt;
==Configuration File==&lt;br /&gt;
'''Example Configuration File'''&lt;br /&gt;
 #local:134.50.87.179:55554&lt;br /&gt;
 listen:255.255.255.255:55555&lt;br /&gt;
 sendto:127.0.0.1:54321&lt;br /&gt;
 #sendto:134.50.87.179:54321&lt;br /&gt;
 #verbose&lt;br /&gt;
 #debug&lt;br /&gt;
 noforward&lt;br /&gt;
 #nodaemon&lt;br /&gt;
 #truncate&lt;br /&gt;
===Configuration Directives===&lt;br /&gt;
====local====&lt;br /&gt;
This directive will allow you to bind to a specific IP address/interface and port number for purposes of UDP packet source information. By default the program will choose whichever interface is needed to talk to the send clients, as well as a random high port. The proper syntax for this directive is as follows:&lt;br /&gt;
 '''local''':''local_ip'':''local_port''&lt;br /&gt;
This directive cannot be changed during run-time.&lt;br /&gt;
====listen====&lt;br /&gt;
This directive will allow you to specify what interface/IP address and port to listen for packets on. By default this is set for UDP broadcasts on ''255.255.255.255''. The proper syntax for this directive is as follows:&lt;br /&gt;
 '''listen'':''listen_ip'':''listen_port''&lt;br /&gt;
This directive cannot be changed during run-time.&lt;br /&gt;
====sendto====&lt;br /&gt;
This directive will allow you to specify any number of clients to forward the UDP packets on to, one per directive line. The proper syntax for this directive is as follows:&lt;br /&gt;
 ''sendto'':''target_ip'':''target_port''&lt;br /&gt;
Additional send clients can be added while the script is running by sending SIGHUP or using the DBus ''reload_configuration'' method to reload the configuration file, or by using the DBus ''add_send_client'' method.&lt;br /&gt;
====verbose====&lt;br /&gt;
This directive sets the Radiation Monitor script into verbose interactive mode (non-daemonized), for the purposes of examining packet flow and diagnostics. This directive needs no arguments and can simply be specified in the configuration file.&lt;br /&gt;
&lt;br /&gt;
This directive cannot be changed during run-time.&lt;br /&gt;
====debug====&lt;br /&gt;
This directive sets the Radiation Monitor script into a further debugging mode, for program flow and diagnostic purposes.&lt;br /&gt;
&lt;br /&gt;
This directive can be changed during run-time by sending SIGHUP or using the DBus ''reload_configuration'' method to reload the configuration file.&lt;br /&gt;
====noforward====&lt;br /&gt;
This directive disables packet forwarding for the Radiation Monitor. This can be useful if you wish to run the script just for listening purposes, or for troubleshooting.&lt;br /&gt;
&lt;br /&gt;
This directive can be changed during run-time by sending SIGHUP or using the DBus ''reload_configuration'' method to reload the configuration file.&lt;br /&gt;
====nodaemon====&lt;br /&gt;
This directive sets the Radiation Monitor script to run in interactive (non-daemonized) mode, but without verbose output. This can be useful for troubleshooting purposes or if you wish to run the process in a&lt;br /&gt;
screen session.&lt;br /&gt;
&lt;br /&gt;
This directive cannot be changed during run-time.&lt;br /&gt;
====truncate====&lt;br /&gt;
This directive requires the Radiation Monitor script to clear its log file at each session start, rather than appending (the default log method).&lt;br /&gt;
&lt;br /&gt;
This directive cannot be changed during run-time.&lt;br /&gt;
&lt;br /&gt;
=API=&lt;br /&gt;
==DBus Quick Reference==&lt;br /&gt;
'''Service Bus''': ''SessionBus()''&lt;br /&gt;
&lt;br /&gt;
'''Service Name''': ''iac.nagios.radmonitors''&lt;br /&gt;
&lt;br /&gt;
'''Service Path''': ''/IAC/Nagios/RadMonitors''&lt;br /&gt;
&lt;br /&gt;
'''Exposed Methods'''&lt;br /&gt;
 '''get_active_channels()'''&lt;br /&gt;
 '''get_active_monitors()'''&lt;br /&gt;
 '''get_active_monitor_count()'''&lt;br /&gt;
 '''get_radiation_levels()'''&lt;br /&gt;
 '''add_send_client('''''string''''')'''&lt;br /&gt;
 '''reload_configuration()'''&lt;br /&gt;
==DBus Interaction==&lt;br /&gt;
Before you can interact with the Radiation Monitor's DBus service, you will need to load some prerequisite Python libraries:&lt;br /&gt;
 import dbus&lt;br /&gt;
This is the minimum to connect to DBus. If you wish to do more than connect as a client, you will need to load the following libraries:&lt;br /&gt;
 import dbus.service, gobject&lt;br /&gt;
 from dbus import glib&lt;br /&gt;
It is also recommend that you initialize threading now if you are planning on performing threaded tasks:&lt;br /&gt;
 gobject.threads_init()&lt;br /&gt;
 glib.init_threads()&lt;br /&gt;
===Connecting to the Radiation Monitor DBus service===&lt;br /&gt;
To interact with the Radiation Monitor DBus service in Python, you will first need to connect to the DBus Session bus:&lt;br /&gt;
 ''dbus_bus'' = '''dbus.SessionBus()'''&lt;br /&gt;
Once you have successfully connected to the session bus, you will then want to get the DBus service object for the Radiation Monitor. This is done via the '''get_object''' bus method:&lt;br /&gt;
 ''dbus_object'' = ''dbus_bus''.'''get_object('''''service_name'', ''service_path''''')'''&lt;br /&gt;
For our Radiation Monitor interface, the proper invocation is as follows:&lt;br /&gt;
 ''dbus_object'' = ''dbus_bus''.'''get_object('''''&amp;quot;iac.nagios.radmonitors&amp;quot;'', ''&amp;quot;/IAC/Nagios/RadMonitors&amp;quot;''''')'''&lt;br /&gt;
After this is done, you may choose to call the Radiation Monitor's DBus methods either through the service object itself, or you may create references to specific methods for use:&lt;br /&gt;
 ''dbus_method_ref'' = ''dbus_object''.'''get_dbus_method('''''method'', ''service_name''''')'''&lt;br /&gt;
Example:&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; remote_method = remote_object.get_dbus_method('get_active_monitor_count', 'iac.nagios.radmonitors')&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; remote_method()&lt;br /&gt;
 dbus.Int32(7)&lt;br /&gt;
===Introspection Schema===&lt;br /&gt;
The Radiation Monitor DBus service returns the following schema upon being called with its inherited Introspect() method:&lt;br /&gt;
 &amp;lt;!DOCTYPE node PUBLIC &amp;quot;-//freedesktop//DTD D-BUS Object Introspection 1.0//EN&amp;quot;&lt;br /&gt;
 &amp;quot;http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;node name=&amp;quot;/IAC/Nagios/RadMonitors&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;interface name=&amp;quot;iac.nagios.radmonitors&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;method name=&amp;quot;reload_configuration&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;/method&amp;gt;&lt;br /&gt;
     &amp;lt;method name=&amp;quot;get_active_monitors&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;/method&amp;gt;&lt;br /&gt;
     &amp;lt;method name=&amp;quot;get_active_monitor_count&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;/method&amp;gt;&lt;br /&gt;
     &amp;lt;method name=&amp;quot;add_send_client&amp;quot;&amp;gt;&lt;br /&gt;
       &amp;lt;arg direction=&amp;quot;in&amp;quot;  type=&amp;quot;v&amp;quot; name=&amp;quot;new_client&amp;quot; /&amp;gt;&lt;br /&gt;
     &amp;lt;/method&amp;gt;&lt;br /&gt;
     &amp;lt;method name=&amp;quot;get_radiation_levels&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;/method&amp;gt;&lt;br /&gt;
     &amp;lt;method name=&amp;quot;get_active_channels&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;/method&amp;gt;&lt;br /&gt;
   &amp;lt;/interface&amp;gt;&lt;br /&gt;
   &amp;lt;interface name=&amp;quot;org.freedesktop.DBus.Introspectable&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;method name=&amp;quot;Introspect&amp;quot;&amp;gt;&lt;br /&gt;
       &amp;lt;arg direction=&amp;quot;out&amp;quot; type=&amp;quot;s&amp;quot; /&amp;gt;&lt;br /&gt;
     &amp;lt;/method&amp;gt;&lt;br /&gt;
   &amp;lt;/interface&amp;gt;&lt;br /&gt;
 &amp;lt;/node&amp;gt;&lt;br /&gt;
===Methods===&lt;br /&gt;
====get_active_channels====&lt;br /&gt;
This exposed DBus method will return a dbus.Array value representing the active channels the script sees. It is invoked in the following manner:&lt;br /&gt;
 ''dbus_object''.'''get_active_channels()'''&lt;br /&gt;
Example output:&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; remote_object.get_active_channels()&lt;br /&gt;
 dbus.Array([dbus.Int32(1), dbus.Int32(2), dbus.Int32(3), dbus.Int32(4), dbus.Int32(5), dbus.Int32(6), dbus.Int32(7)], signature=dbus.Signature('i'))&lt;br /&gt;
====get_active_monitors====&lt;br /&gt;
This exposed DBus method will return a dbus.Array value representing the IP address of all radiation monitors the script sees. It is invoked in the following manner:&lt;br /&gt;
 ''dbus_object''.'''get_active_monitors()'''&lt;br /&gt;
Example output:&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; remote_object.get_active_monitors()&lt;br /&gt;
 dbus.Array([dbus.String(u'192.168.40.155'), dbus.String(u'192.168.40.154'), dbus.String(u'192.168.40.121'), dbus.String(u'192.168.40.172'),&lt;br /&gt;
 dbus.String(u'192.168.40.137'), dbus.String(u'192.168.40.159'), dbus.String(u'192.168.40.120')], signature=dbus.Signature('s'))&lt;br /&gt;
====get_active_monitor_count====&lt;br /&gt;
This exposed DBus method will return a dbus.Int32 value representing the total number of active monitors the script sees. It is invoked in the following manner:&lt;br /&gt;
 ''dbus_object''.'''get_active_monitor_count()'''&lt;br /&gt;
Example output:&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; remote_object.get_active_monitor_count()&lt;br /&gt;
 dbus.Int32(7)&lt;br /&gt;
====get_radiation_levels====&lt;br /&gt;
This exposed DBus method will return a dbus.Array value representing the current radiation level of all monitors the script sees. It is invoked in the following manner:&lt;br /&gt;
 ''dbus_object''.'''get_radiation_levels()'''&lt;br /&gt;
Example output:&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; remote_object.get_radiation_levels()&lt;br /&gt;
 dbus.Array([dbus.String(u'0.0'), dbus.String(u'0.0'), dbus.String(u'0.0'), dbus.String(u'0.0'), dbus.String(u'0.1'), dbus.String(u'0.1'),&lt;br /&gt;
 dbus.String(u'0.1')], signature=dbus.Signature('s'))&lt;br /&gt;
====add_send_client====&lt;br /&gt;
This exposed DBus method will add a new send target client to a running instance of the script, allowing for on-the-fly addition of targets without restarting. It is invoked in the following manner:&lt;br /&gt;
 ''dbus_object''.'''add_send_client(''string'')'''&lt;br /&gt;
Where ''string'' is a string containing the IP address and destination port number of the send target, formatted as &amp;quot;''ip'':''port''&amp;quot;.&lt;br /&gt;
The function returns a dbus.Boolean value; ''True'' if the add is successful, ''False'' if not.&lt;br /&gt;
&lt;br /&gt;
'''Note:''' This only adds the new send client to the in-memory send list. If you wish to retain this send client for future use, you will need to edit the configuration file and add&lt;br /&gt;
the appropriate ''sendto'' directive for that client.&lt;br /&gt;
&lt;br /&gt;
Example output:&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; remote_object.add_send_client(&amp;quot;134.50.87.179:55555&amp;quot;)&lt;br /&gt;
 dbus.Boolean(True)&lt;br /&gt;
&lt;br /&gt;
====reload_configuration====&lt;br /&gt;
This exposed DBus method will cause a running instance of the script to reload its configuration file, as if having been sent signal SIGHUP. It is invoked in the following manner:&lt;br /&gt;
 ''dbus_object''.'''reload_configuration()'''&lt;br /&gt;
Then function always returns dbus.Boolean ''True'' at this time.&lt;br /&gt;
&lt;br /&gt;
Example output:&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; remote_object.reload_configuration()&lt;br /&gt;
 dbus.Boolean(True)&lt;/div&gt;</summary>
		<author><name>Buckminst</name></author>
	</entry>
	<entry>
		<id>https://wiki.iac.isu.edu/index.php?title=Radiation_Monitor_Python_Script_Documentation&amp;diff=53644</id>
		<title>Radiation Monitor Python Script Documentation</title>
		<link rel="alternate" type="text/html" href="https://wiki.iac.isu.edu/index.php?title=Radiation_Monitor_Python_Script_Documentation&amp;diff=53644"/>
		<updated>2010-09-14T07:46:48Z</updated>

		<summary type="html">&lt;p&gt;Buckminst: Protected &amp;quot;Radiation Monitor Python Script Documentation&amp;quot; ([edit=comp] (indefinite) [move=comp] (indefinite) [read=comp] (indefinite))&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Configuration And Use=&lt;br /&gt;
==Configuration File==&lt;br /&gt;
'''Example Configuration File'''&lt;br /&gt;
 #local:134.50.87.179:55554&lt;br /&gt;
 listen:255.255.255.255:55555&lt;br /&gt;
 sendto:127.0.0.1:54321&lt;br /&gt;
 #sendto:134.50.87.179:54321&lt;br /&gt;
 #verbose&lt;br /&gt;
 #debug&lt;br /&gt;
 noforward&lt;br /&gt;
 #nodaemon&lt;br /&gt;
 #truncate&lt;br /&gt;
===Configuration Directives===&lt;br /&gt;
====local====&lt;br /&gt;
====listen====&lt;br /&gt;
====sendto====&lt;br /&gt;
====verbose====&lt;br /&gt;
====debug====&lt;br /&gt;
====noforward====&lt;br /&gt;
====nodaemon====&lt;br /&gt;
====truncate====&lt;br /&gt;
=API=&lt;br /&gt;
==DBus Quick Reference==&lt;br /&gt;
'''Service Bus''': ''SessionBus()''&lt;br /&gt;
&lt;br /&gt;
'''Service Name''': ''iac.nagios.radmonitors''&lt;br /&gt;
&lt;br /&gt;
'''Service Path''': ''/IAC/Nagios/RadMonitors''&lt;br /&gt;
&lt;br /&gt;
'''Exposed Methods'''&lt;br /&gt;
 '''get_active_channels()'''&lt;br /&gt;
 '''get_active_monitors()'''&lt;br /&gt;
 '''get_active_monitor_count()'''&lt;br /&gt;
 '''get_radiation_levels()'''&lt;br /&gt;
 '''add_send_client('''''string''''')'''&lt;br /&gt;
 '''reload_configuration()'''&lt;br /&gt;
==DBus Interaction==&lt;br /&gt;
Before you can interact with the Radiation Monitor's DBus service, you will need to load some prerequisite Python libraries:&lt;br /&gt;
 import dbus&lt;br /&gt;
This is the minimum to connect to DBus. If you wish to do more than connect as a client, you will need to load the following libraries:&lt;br /&gt;
 import dbus.service, gobject&lt;br /&gt;
 from dbus import glib&lt;br /&gt;
It is also recommend that you initialize threading now if you are planning on performing threaded tasks:&lt;br /&gt;
 gobject.threads_init()&lt;br /&gt;
 glib.init_threads()&lt;br /&gt;
===Connecting to the Radiation Monitor DBus service===&lt;br /&gt;
To interact with the Radiation Monitor DBus service in Python, you will first need to connect to the DBus Session bus:&lt;br /&gt;
 ''dbus_bus'' = '''dbus.SessionBus()'''&lt;br /&gt;
Once you have successfully connected to the session bus, you will then want to get the DBus service object for the Radiation Monitor. This is done via the '''get_object''' bus method:&lt;br /&gt;
 ''dbus_object'' = ''dbus_bus''.'''get_object('''''service_name'', ''service_path''''')'''&lt;br /&gt;
For our Radiation Monitor interface, the proper invocation is as follows:&lt;br /&gt;
 ''dbus_object'' = ''dbus_bus''.'''get_object('''''&amp;quot;iac.nagios.radmonitors&amp;quot;'', ''&amp;quot;/IAC/Nagios/RadMonitors&amp;quot;''''')'''&lt;br /&gt;
After this is done, you may choose to call the Radiation Monitor's DBus methods either through the service object itself, or you may create references to specific methods for use:&lt;br /&gt;
 ''dbus_method_ref'' = ''dbus_object''.'''get_dbus_method('''''method'', ''service_name''''')'''&lt;br /&gt;
Example:&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; remote_method = remote_object.get_dbus_method('get_active_monitor_count', 'iac.nagios.radmonitors')&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; remote_method()&lt;br /&gt;
 dbus.Int32(7)&lt;br /&gt;
===Introspection Schema===&lt;br /&gt;
The Radiation Monitor DBus service returns the following schema upon being called with its inherited Introspect() method:&lt;br /&gt;
 &amp;lt;!DOCTYPE node PUBLIC &amp;quot;-//freedesktop//DTD D-BUS Object Introspection 1.0//EN&amp;quot;&lt;br /&gt;
 &amp;quot;http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;node name=&amp;quot;/IAC/Nagios/RadMonitors&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;interface name=&amp;quot;iac.nagios.radmonitors&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;method name=&amp;quot;reload_configuration&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;/method&amp;gt;&lt;br /&gt;
     &amp;lt;method name=&amp;quot;get_active_monitors&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;/method&amp;gt;&lt;br /&gt;
     &amp;lt;method name=&amp;quot;get_active_monitor_count&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;/method&amp;gt;&lt;br /&gt;
     &amp;lt;method name=&amp;quot;add_send_client&amp;quot;&amp;gt;&lt;br /&gt;
       &amp;lt;arg direction=&amp;quot;in&amp;quot;  type=&amp;quot;v&amp;quot; name=&amp;quot;new_client&amp;quot; /&amp;gt;&lt;br /&gt;
     &amp;lt;/method&amp;gt;&lt;br /&gt;
     &amp;lt;method name=&amp;quot;get_radiation_levels&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;/method&amp;gt;&lt;br /&gt;
     &amp;lt;method name=&amp;quot;get_active_channels&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;/method&amp;gt;&lt;br /&gt;
   &amp;lt;/interface&amp;gt;&lt;br /&gt;
   &amp;lt;interface name=&amp;quot;org.freedesktop.DBus.Introspectable&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;method name=&amp;quot;Introspect&amp;quot;&amp;gt;&lt;br /&gt;
       &amp;lt;arg direction=&amp;quot;out&amp;quot; type=&amp;quot;s&amp;quot; /&amp;gt;&lt;br /&gt;
     &amp;lt;/method&amp;gt;&lt;br /&gt;
   &amp;lt;/interface&amp;gt;&lt;br /&gt;
 &amp;lt;/node&amp;gt;&lt;br /&gt;
===Methods===&lt;br /&gt;
====get_active_channels====&lt;br /&gt;
This exposed DBus method will return a dbus.Array value representing the active channels the script sees. It is invoked in the following manner:&lt;br /&gt;
 ''dbus_object''.'''get_active_channels()'''&lt;br /&gt;
Example output:&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; remote_object.get_active_channels()&lt;br /&gt;
 dbus.Array([dbus.Int32(1), dbus.Int32(2), dbus.Int32(3), dbus.Int32(4), dbus.Int32(5), dbus.Int32(6), dbus.Int32(7)], signature=dbus.Signature('i'))&lt;br /&gt;
====get_active_monitors====&lt;br /&gt;
This exposed DBus method will return a dbus.Array value representing the IP address of all radiation monitors the script sees. It is invoked in the following manner:&lt;br /&gt;
 ''dbus_object''.'''get_active_monitors()'''&lt;br /&gt;
Example output:&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; remote_object.get_active_monitors()&lt;br /&gt;
 dbus.Array([dbus.String(u'192.168.40.155'), dbus.String(u'192.168.40.154'), dbus.String(u'192.168.40.121'), dbus.String(u'192.168.40.172'),&lt;br /&gt;
 dbus.String(u'192.168.40.137'), dbus.String(u'192.168.40.159'), dbus.String(u'192.168.40.120')], signature=dbus.Signature('s'))&lt;br /&gt;
====get_active_monitor_count====&lt;br /&gt;
This exposed DBus method will return a dbus.Int32 value representing the total number of active monitors the script sees. It is invoked in the following manner:&lt;br /&gt;
 ''dbus_object''.'''get_active_monitor_count()'''&lt;br /&gt;
Example output:&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; remote_object.get_active_monitor_count()&lt;br /&gt;
 dbus.Int32(7)&lt;br /&gt;
====get_radiation_levels====&lt;br /&gt;
This exposed DBus method will return a dbus.Array value representing the current radiation level of all monitors the script sees. It is invoked in the following manner:&lt;br /&gt;
 ''dbus_object''.'''get_radiation_levels()'''&lt;br /&gt;
Example output:&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; remote_object.get_radiation_levels()&lt;br /&gt;
 dbus.Array([dbus.String(u'0.0'), dbus.String(u'0.0'), dbus.String(u'0.0'), dbus.String(u'0.0'), dbus.String(u'0.1'), dbus.String(u'0.1'),&lt;br /&gt;
 dbus.String(u'0.1')], signature=dbus.Signature('s'))&lt;br /&gt;
====add_send_client====&lt;br /&gt;
This exposed DBus method will add a new send target client to a running instance of the script, allowing for on-the-fly addition of targets without restarting. It is invoked in the following manner:&lt;br /&gt;
 ''dbus_object''.'''add_send_client(''string'')'''&lt;br /&gt;
Where ''string'' is a string containing the IP address and destination port number of the send target, formatted as &amp;quot;''ip'':''port''&amp;quot;.&lt;br /&gt;
The function returns a dbus.Boolean value; ''True'' if the add is successful, ''False'' if not.&lt;br /&gt;
&lt;br /&gt;
'''Note:''' This only adds the new send client to the in-memory send list. If you wish to retain this send client for future use, you will need to edit the configuration file and add&lt;br /&gt;
the appropriate ''sendto'' directive for that client.&lt;br /&gt;
&lt;br /&gt;
Example output:&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; remote_object.add_send_client(&amp;quot;134.50.87.179:55555&amp;quot;)&lt;br /&gt;
 dbus.Boolean(True)&lt;br /&gt;
&lt;br /&gt;
====reload_configuration====&lt;br /&gt;
This exposed DBus method will cause a running instance of the script to reload its configuration file, as if having been sent signal SIGHUP. It is invoked in the following manner:&lt;br /&gt;
 ''dbus_object''.'''reload_configuration()'''&lt;br /&gt;
Then function always returns dbus.Boolean ''True'' at this time.&lt;br /&gt;
&lt;br /&gt;
Example output:&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; remote_object.reload_configuration()&lt;br /&gt;
 dbus.Boolean(True)&lt;/div&gt;</summary>
		<author><name>Buckminst</name></author>
	</entry>
	<entry>
		<id>https://wiki.iac.isu.edu/index.php?title=Radiation_Monitor_Python_Script_Documentation&amp;diff=53643</id>
		<title>Radiation Monitor Python Script Documentation</title>
		<link rel="alternate" type="text/html" href="https://wiki.iac.isu.edu/index.php?title=Radiation_Monitor_Python_Script_Documentation&amp;diff=53643"/>
		<updated>2010-09-14T07:38:11Z</updated>

		<summary type="html">&lt;p&gt;Buckminst: /* add_send_client */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Configuration And Use=&lt;br /&gt;
==Configuration File==&lt;br /&gt;
'''Example Configuration File'''&lt;br /&gt;
 #local:134.50.87.179:55554&lt;br /&gt;
 listen:255.255.255.255:55555&lt;br /&gt;
 sendto:127.0.0.1:54321&lt;br /&gt;
 #sendto:134.50.87.179:54321&lt;br /&gt;
 #verbose&lt;br /&gt;
 #debug&lt;br /&gt;
 noforward&lt;br /&gt;
 #nodaemon&lt;br /&gt;
 #truncate&lt;br /&gt;
===Configuration Directives===&lt;br /&gt;
====local====&lt;br /&gt;
====listen====&lt;br /&gt;
====sendto====&lt;br /&gt;
====verbose====&lt;br /&gt;
====debug====&lt;br /&gt;
====noforward====&lt;br /&gt;
====nodaemon====&lt;br /&gt;
====truncate====&lt;br /&gt;
=API=&lt;br /&gt;
==DBus Quick Reference==&lt;br /&gt;
'''Service Bus''': ''SessionBus()''&lt;br /&gt;
&lt;br /&gt;
'''Service Name''': ''iac.nagios.radmonitors''&lt;br /&gt;
&lt;br /&gt;
'''Service Path''': ''/IAC/Nagios/RadMonitors''&lt;br /&gt;
&lt;br /&gt;
'''Exposed Methods'''&lt;br /&gt;
 '''get_active_channels()'''&lt;br /&gt;
 '''get_active_monitors()'''&lt;br /&gt;
 '''get_active_monitor_count()'''&lt;br /&gt;
 '''get_radiation_levels()'''&lt;br /&gt;
 '''add_send_client('''''string''''')'''&lt;br /&gt;
 '''reload_configuration()'''&lt;br /&gt;
==DBus Interaction==&lt;br /&gt;
Before you can interact with the Radiation Monitor's DBus service, you will need to load some prerequisite Python libraries:&lt;br /&gt;
 import dbus&lt;br /&gt;
This is the minimum to connect to DBus. If you wish to do more than connect as a client, you will need to load the following libraries:&lt;br /&gt;
 import dbus.service, gobject&lt;br /&gt;
 from dbus import glib&lt;br /&gt;
It is also recommend that you initialize threading now if you are planning on performing threaded tasks:&lt;br /&gt;
 gobject.threads_init()&lt;br /&gt;
 glib.init_threads()&lt;br /&gt;
===Connecting to the Radiation Monitor DBus service===&lt;br /&gt;
To interact with the Radiation Monitor DBus service in Python, you will first need to connect to the DBus Session bus:&lt;br /&gt;
 ''dbus_bus'' = '''dbus.SessionBus()'''&lt;br /&gt;
Once you have successfully connected to the session bus, you will then want to get the DBus service object for the Radiation Monitor. This is done via the '''get_object''' bus method:&lt;br /&gt;
 ''dbus_object'' = ''dbus_bus''.'''get_object('''''service_name'', ''service_path''''')'''&lt;br /&gt;
For our Radiation Monitor interface, the proper invocation is as follows:&lt;br /&gt;
 ''dbus_object'' = ''dbus_bus''.'''get_object('''''&amp;quot;iac.nagios.radmonitors&amp;quot;'', ''&amp;quot;/IAC/Nagios/RadMonitors&amp;quot;''''')'''&lt;br /&gt;
After this is done, you may choose to call the Radiation Monitor's DBus methods either through the service object itself, or you may create references to specific methods for use:&lt;br /&gt;
 ''dbus_method_ref'' = ''dbus_object''.'''get_dbus_method('''''method'', ''service_name''''')'''&lt;br /&gt;
Example:&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; remote_method = remote_object.get_dbus_method('get_active_monitor_count', 'iac.nagios.radmonitors')&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; remote_method()&lt;br /&gt;
 dbus.Int32(7)&lt;br /&gt;
===Introspection Schema===&lt;br /&gt;
The Radiation Monitor DBus service returns the following schema upon being called with its inherited Introspect() method:&lt;br /&gt;
 &amp;lt;!DOCTYPE node PUBLIC &amp;quot;-//freedesktop//DTD D-BUS Object Introspection 1.0//EN&amp;quot;&lt;br /&gt;
 &amp;quot;http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;node name=&amp;quot;/IAC/Nagios/RadMonitors&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;interface name=&amp;quot;iac.nagios.radmonitors&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;method name=&amp;quot;reload_configuration&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;/method&amp;gt;&lt;br /&gt;
     &amp;lt;method name=&amp;quot;get_active_monitors&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;/method&amp;gt;&lt;br /&gt;
     &amp;lt;method name=&amp;quot;get_active_monitor_count&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;/method&amp;gt;&lt;br /&gt;
     &amp;lt;method name=&amp;quot;add_send_client&amp;quot;&amp;gt;&lt;br /&gt;
       &amp;lt;arg direction=&amp;quot;in&amp;quot;  type=&amp;quot;v&amp;quot; name=&amp;quot;new_client&amp;quot; /&amp;gt;&lt;br /&gt;
     &amp;lt;/method&amp;gt;&lt;br /&gt;
     &amp;lt;method name=&amp;quot;get_radiation_levels&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;/method&amp;gt;&lt;br /&gt;
     &amp;lt;method name=&amp;quot;get_active_channels&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;/method&amp;gt;&lt;br /&gt;
   &amp;lt;/interface&amp;gt;&lt;br /&gt;
   &amp;lt;interface name=&amp;quot;org.freedesktop.DBus.Introspectable&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;method name=&amp;quot;Introspect&amp;quot;&amp;gt;&lt;br /&gt;
       &amp;lt;arg direction=&amp;quot;out&amp;quot; type=&amp;quot;s&amp;quot; /&amp;gt;&lt;br /&gt;
     &amp;lt;/method&amp;gt;&lt;br /&gt;
   &amp;lt;/interface&amp;gt;&lt;br /&gt;
 &amp;lt;/node&amp;gt;&lt;br /&gt;
===Methods===&lt;br /&gt;
====get_active_channels====&lt;br /&gt;
This exposed DBus method will return a dbus.Array value representing the active channels the script sees. It is invoked in the following manner:&lt;br /&gt;
 ''dbus_object''.'''get_active_channels()'''&lt;br /&gt;
Example output:&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; remote_object.get_active_channels()&lt;br /&gt;
 dbus.Array([dbus.Int32(1), dbus.Int32(2), dbus.Int32(3), dbus.Int32(4), dbus.Int32(5), dbus.Int32(6), dbus.Int32(7)], signature=dbus.Signature('i'))&lt;br /&gt;
====get_active_monitors====&lt;br /&gt;
This exposed DBus method will return a dbus.Array value representing the IP address of all radiation monitors the script sees. It is invoked in the following manner:&lt;br /&gt;
 ''dbus_object''.'''get_active_monitors()'''&lt;br /&gt;
Example output:&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; remote_object.get_active_monitors()&lt;br /&gt;
 dbus.Array([dbus.String(u'192.168.40.155'), dbus.String(u'192.168.40.154'), dbus.String(u'192.168.40.121'), dbus.String(u'192.168.40.172'),&lt;br /&gt;
 dbus.String(u'192.168.40.137'), dbus.String(u'192.168.40.159'), dbus.String(u'192.168.40.120')], signature=dbus.Signature('s'))&lt;br /&gt;
====get_active_monitor_count====&lt;br /&gt;
This exposed DBus method will return a dbus.Int32 value representing the total number of active monitors the script sees. It is invoked in the following manner:&lt;br /&gt;
 ''dbus_object''.'''get_active_monitor_count()'''&lt;br /&gt;
Example output:&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; remote_object.get_active_monitor_count()&lt;br /&gt;
 dbus.Int32(7)&lt;br /&gt;
====get_radiation_levels====&lt;br /&gt;
This exposed DBus method will return a dbus.Array value representing the current radiation level of all monitors the script sees. It is invoked in the following manner:&lt;br /&gt;
 ''dbus_object''.'''get_radiation_levels()'''&lt;br /&gt;
Example output:&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; remote_object.get_radiation_levels()&lt;br /&gt;
 dbus.Array([dbus.String(u'0.0'), dbus.String(u'0.0'), dbus.String(u'0.0'), dbus.String(u'0.0'), dbus.String(u'0.1'), dbus.String(u'0.1'),&lt;br /&gt;
 dbus.String(u'0.1')], signature=dbus.Signature('s'))&lt;br /&gt;
====add_send_client====&lt;br /&gt;
This exposed DBus method will add a new send target client to a running instance of the script, allowing for on-the-fly addition of targets without restarting. It is invoked in the following manner:&lt;br /&gt;
 ''dbus_object''.'''add_send_client(''string'')'''&lt;br /&gt;
Where ''string'' is a string containing the IP address and destination port number of the send target, formatted as &amp;quot;''ip'':''port''&amp;quot;.&lt;br /&gt;
The function returns a dbus.Boolean value; ''True'' if the add is successful, ''False'' if not.&lt;br /&gt;
&lt;br /&gt;
'''Note:''' This only adds the new send client to the in-memory send list. If you wish to retain this send client for future use, you will need to edit the configuration file and add&lt;br /&gt;
the appropriate ''sendto'' directive for that client.&lt;br /&gt;
&lt;br /&gt;
Example output:&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; remote_object.add_send_client(&amp;quot;134.50.87.179:55555&amp;quot;)&lt;br /&gt;
 dbus.Boolean(True)&lt;br /&gt;
&lt;br /&gt;
====reload_configuration====&lt;br /&gt;
This exposed DBus method will cause a running instance of the script to reload its configuration file, as if having been sent signal SIGHUP. It is invoked in the following manner:&lt;br /&gt;
 ''dbus_object''.'''reload_configuration()'''&lt;br /&gt;
Then function always returns dbus.Boolean ''True'' at this time.&lt;br /&gt;
&lt;br /&gt;
Example output:&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; remote_object.reload_configuration()&lt;br /&gt;
 dbus.Boolean(True)&lt;/div&gt;</summary>
		<author><name>Buckminst</name></author>
	</entry>
	<entry>
		<id>https://wiki.iac.isu.edu/index.php?title=Ludlum_Rad_Monitor_Tunneling&amp;diff=35006</id>
		<title>Ludlum Rad Monitor Tunneling</title>
		<link rel="alternate" type="text/html" href="https://wiki.iac.isu.edu/index.php?title=Ludlum_Rad_Monitor_Tunneling&amp;diff=35006"/>
		<updated>2010-09-14T07:32:55Z</updated>

		<summary type="html">&lt;p&gt;Buckminst: /* UDP Packet Breakdown */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Overview===&lt;br /&gt;
The Ludlum Model 375 radiation monitors send out a small broadcast pact to a configurable port (55555 in our config) once a second with their current reading. This is an iptables log of that packet:&lt;br /&gt;
 IN=eth0 OUT= MAC=ff:ff:ff:ff:ff:ff:00:90:c2:d5:81:9c:08:00 SRC=10.0.115.200 DST=255.255.255.255 LEN=68 TOS=0x0E PREC=0xC0 TTL=207 ID=41175 PROTO=UDP SPT=55554 DPT=55555 LEN=48&lt;br /&gt;
[http://www.winton.org.uk/zebedee/ zebedee website]&lt;br /&gt;
===Server set up===&lt;br /&gt;
The server is the (Linux) machine that it physically on the same subnet as the monitors.&lt;br /&gt;
 zebedee 55555:192.168.87.71:55555  -u -d&lt;br /&gt;
'''-u''' is for UDP traffic. '''-d''' is don't disconnect (for debugging). The first '''55555''' is the incoming udp port. '''192.168.87.71''' is the client to connect to. The second '''55555''' is the destination port on the client. ''134.50.87.30 is Balzer's computer.''&lt;br /&gt;
&lt;br /&gt;
===Client set up===&lt;br /&gt;
The client is the (Windows) machine that has the viewer on it.&lt;br /&gt;
 zebedee -s -u -d&lt;br /&gt;
'''-d''' is don't disconnect (for debugging). We also want some sort of security or IP restriction.&lt;br /&gt;
&lt;br /&gt;
===Troubleshooting tips===&lt;br /&gt;
Install IPTABLES rule to catch packets:&lt;br /&gt;
 iptables -A INPUT -p udp --dport 55555 -j LOG&lt;br /&gt;
&lt;br /&gt;
Filter logs for traffic from above rule:&lt;br /&gt;
 cat /var/log/messages | grep &amp;quot;IN=eth0&amp;quot; | cut -d &amp;quot; &amp;quot; -f 10 | sort | uniq&lt;br /&gt;
&lt;br /&gt;
===UDP Packet Breakdown===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
0           1           2           3&lt;br /&gt;
012 345678 901234 567 8901 23456789 01234567&lt;br /&gt;
--- ------ ------ --- ---- -------- --------&lt;br /&gt;
LMI 0000.5 000010 001 5555 39620N01 39801n09 &lt;br /&gt;
LMI 000.00 000010 003 5555 39608N51 39801n09 &lt;br /&gt;
|_| |____| |____| |_| |__| |______| |______|&lt;br /&gt;
  |      |      |   |    |        |        \- Ethernet Firmware Version&lt;br /&gt;
  |      |      |   |    |        |  &lt;br /&gt;
  |      |      |   |    |        \- Detector Firmware Version&lt;br /&gt;
  |      |      |   |    |&lt;br /&gt;
  |      |      |   |    \- UDP Broadcast Port (5xxxx)&lt;br /&gt;
  |      |      |   |&lt;br /&gt;
  |      |      |   \- Detector ID (Channel)&lt;br /&gt;
  |      |      |&lt;br /&gt;
  |      |      \- Bitfield (see below)&lt;br /&gt;
  |      |&lt;br /&gt;
  |      \- Radiation level&lt;br /&gt;
  |&lt;br /&gt;
  \- Manufacturer ID&lt;br /&gt;
&lt;br /&gt;
Bitfield:&lt;br /&gt;
012345&lt;br /&gt;
------&lt;br /&gt;
011010&lt;br /&gt;
||||||&lt;br /&gt;
|||||\-Error Code&lt;br /&gt;
|||||&lt;br /&gt;
||||\-Monitor Status Bit&lt;br /&gt;
||||&lt;br /&gt;
|||\-Over Range Status Bit&lt;br /&gt;
|||&lt;br /&gt;
||\-Alert Status Bit&lt;br /&gt;
||&lt;br /&gt;
|\-Alarm Status Bit&lt;br /&gt;
|&lt;br /&gt;
\-Audio Status Bit&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Radiation Monitor Software Development===&lt;br /&gt;
[[Radiation Monitor Python Script Documentation]]&lt;/div&gt;</summary>
		<author><name>Buckminst</name></author>
	</entry>
	<entry>
		<id>https://wiki.iac.isu.edu/index.php?title=Radiation_Monitor_Python_Script_Documentation&amp;diff=53642</id>
		<title>Radiation Monitor Python Script Documentation</title>
		<link rel="alternate" type="text/html" href="https://wiki.iac.isu.edu/index.php?title=Radiation_Monitor_Python_Script_Documentation&amp;diff=53642"/>
		<updated>2010-09-14T01:30:33Z</updated>

		<summary type="html">&lt;p&gt;Buckminst: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Configuration And Use=&lt;br /&gt;
==Configuration File==&lt;br /&gt;
'''Example Configuration File'''&lt;br /&gt;
 #local:134.50.87.179:55554&lt;br /&gt;
 listen:255.255.255.255:55555&lt;br /&gt;
 sendto:127.0.0.1:54321&lt;br /&gt;
 #sendto:134.50.87.179:54321&lt;br /&gt;
 #verbose&lt;br /&gt;
 #debug&lt;br /&gt;
 noforward&lt;br /&gt;
 #nodaemon&lt;br /&gt;
 #truncate&lt;br /&gt;
===Configuration Directives===&lt;br /&gt;
====local====&lt;br /&gt;
====listen====&lt;br /&gt;
====sendto====&lt;br /&gt;
====verbose====&lt;br /&gt;
====debug====&lt;br /&gt;
====noforward====&lt;br /&gt;
====nodaemon====&lt;br /&gt;
====truncate====&lt;br /&gt;
=API=&lt;br /&gt;
==DBus Quick Reference==&lt;br /&gt;
'''Service Bus''': ''SessionBus()''&lt;br /&gt;
&lt;br /&gt;
'''Service Name''': ''iac.nagios.radmonitors''&lt;br /&gt;
&lt;br /&gt;
'''Service Path''': ''/IAC/Nagios/RadMonitors''&lt;br /&gt;
&lt;br /&gt;
'''Exposed Methods'''&lt;br /&gt;
 '''get_active_channels()'''&lt;br /&gt;
 '''get_active_monitors()'''&lt;br /&gt;
 '''get_active_monitor_count()'''&lt;br /&gt;
 '''get_radiation_levels()'''&lt;br /&gt;
 '''add_send_client('''''string''''')'''&lt;br /&gt;
 '''reload_configuration()'''&lt;br /&gt;
==DBus Interaction==&lt;br /&gt;
Before you can interact with the Radiation Monitor's DBus service, you will need to load some prerequisite Python libraries:&lt;br /&gt;
 import dbus&lt;br /&gt;
This is the minimum to connect to DBus. If you wish to do more than connect as a client, you will need to load the following libraries:&lt;br /&gt;
 import dbus.service, gobject&lt;br /&gt;
 from dbus import glib&lt;br /&gt;
It is also recommend that you initialize threading now if you are planning on performing threaded tasks:&lt;br /&gt;
 gobject.threads_init()&lt;br /&gt;
 glib.init_threads()&lt;br /&gt;
===Connecting to the Radiation Monitor DBus service===&lt;br /&gt;
To interact with the Radiation Monitor DBus service in Python, you will first need to connect to the DBus Session bus:&lt;br /&gt;
 ''dbus_bus'' = '''dbus.SessionBus()'''&lt;br /&gt;
Once you have successfully connected to the session bus, you will then want to get the DBus service object for the Radiation Monitor. This is done via the '''get_object''' bus method:&lt;br /&gt;
 ''dbus_object'' = ''dbus_bus''.'''get_object('''''service_name'', ''service_path''''')'''&lt;br /&gt;
For our Radiation Monitor interface, the proper invocation is as follows:&lt;br /&gt;
 ''dbus_object'' = ''dbus_bus''.'''get_object('''''&amp;quot;iac.nagios.radmonitors&amp;quot;'', ''&amp;quot;/IAC/Nagios/RadMonitors&amp;quot;''''')'''&lt;br /&gt;
After this is done, you may choose to call the Radiation Monitor's DBus methods either through the service object itself, or you may create references to specific methods for use:&lt;br /&gt;
 ''dbus_method_ref'' = ''dbus_object''.'''get_dbus_method('''''method'', ''service_name''''')'''&lt;br /&gt;
Example:&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; remote_method = remote_object.get_dbus_method('get_active_monitor_count', 'iac.nagios.radmonitors')&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; remote_method()&lt;br /&gt;
 dbus.Int32(7)&lt;br /&gt;
===Introspection Schema===&lt;br /&gt;
The Radiation Monitor DBus service returns the following schema upon being called with its inherited Introspect() method:&lt;br /&gt;
 &amp;lt;!DOCTYPE node PUBLIC &amp;quot;-//freedesktop//DTD D-BUS Object Introspection 1.0//EN&amp;quot;&lt;br /&gt;
 &amp;quot;http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;node name=&amp;quot;/IAC/Nagios/RadMonitors&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;interface name=&amp;quot;iac.nagios.radmonitors&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;method name=&amp;quot;reload_configuration&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;/method&amp;gt;&lt;br /&gt;
     &amp;lt;method name=&amp;quot;get_active_monitors&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;/method&amp;gt;&lt;br /&gt;
     &amp;lt;method name=&amp;quot;get_active_monitor_count&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;/method&amp;gt;&lt;br /&gt;
     &amp;lt;method name=&amp;quot;add_send_client&amp;quot;&amp;gt;&lt;br /&gt;
       &amp;lt;arg direction=&amp;quot;in&amp;quot;  type=&amp;quot;v&amp;quot; name=&amp;quot;new_client&amp;quot; /&amp;gt;&lt;br /&gt;
     &amp;lt;/method&amp;gt;&lt;br /&gt;
     &amp;lt;method name=&amp;quot;get_radiation_levels&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;/method&amp;gt;&lt;br /&gt;
     &amp;lt;method name=&amp;quot;get_active_channels&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;/method&amp;gt;&lt;br /&gt;
   &amp;lt;/interface&amp;gt;&lt;br /&gt;
   &amp;lt;interface name=&amp;quot;org.freedesktop.DBus.Introspectable&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;method name=&amp;quot;Introspect&amp;quot;&amp;gt;&lt;br /&gt;
       &amp;lt;arg direction=&amp;quot;out&amp;quot; type=&amp;quot;s&amp;quot; /&amp;gt;&lt;br /&gt;
     &amp;lt;/method&amp;gt;&lt;br /&gt;
   &amp;lt;/interface&amp;gt;&lt;br /&gt;
 &amp;lt;/node&amp;gt;&lt;br /&gt;
===Methods===&lt;br /&gt;
====get_active_channels====&lt;br /&gt;
This exposed DBus method will return a dbus.Array value representing the active channels the script sees. It is invoked in the following manner:&lt;br /&gt;
 ''dbus_object''.'''get_active_channels()'''&lt;br /&gt;
Example output:&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; remote_object.get_active_channels()&lt;br /&gt;
 dbus.Array([dbus.Int32(1), dbus.Int32(2), dbus.Int32(3), dbus.Int32(4), dbus.Int32(5), dbus.Int32(6), dbus.Int32(7)], signature=dbus.Signature('i'))&lt;br /&gt;
====get_active_monitors====&lt;br /&gt;
This exposed DBus method will return a dbus.Array value representing the IP address of all radiation monitors the script sees. It is invoked in the following manner:&lt;br /&gt;
 ''dbus_object''.'''get_active_monitors()'''&lt;br /&gt;
Example output:&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; remote_object.get_active_monitors()&lt;br /&gt;
 dbus.Array([dbus.String(u'192.168.40.155'), dbus.String(u'192.168.40.154'), dbus.String(u'192.168.40.121'), dbus.String(u'192.168.40.172'),&lt;br /&gt;
 dbus.String(u'192.168.40.137'), dbus.String(u'192.168.40.159'), dbus.String(u'192.168.40.120')], signature=dbus.Signature('s'))&lt;br /&gt;
====get_active_monitor_count====&lt;br /&gt;
This exposed DBus method will return a dbus.Int32 value representing the total number of active monitors the script sees. It is invoked in the following manner:&lt;br /&gt;
 ''dbus_object''.'''get_active_monitor_count()'''&lt;br /&gt;
Example output:&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; remote_object.get_active_monitor_count()&lt;br /&gt;
 dbus.Int32(7)&lt;br /&gt;
====get_radiation_levels====&lt;br /&gt;
This exposed DBus method will return a dbus.Array value representing the current radiation level of all monitors the script sees. It is invoked in the following manner:&lt;br /&gt;
 ''dbus_object''.'''get_radiation_levels()'''&lt;br /&gt;
Example output:&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; remote_object.get_radiation_levels()&lt;br /&gt;
 dbus.Array([dbus.String(u'0.0'), dbus.String(u'0.0'), dbus.String(u'0.0'), dbus.String(u'0.0'), dbus.String(u'0.1'), dbus.String(u'0.1'),&lt;br /&gt;
 dbus.String(u'0.1')], signature=dbus.Signature('s'))&lt;br /&gt;
====add_send_client====&lt;br /&gt;
This exposed DBus method will add a new send target client to a running instance of the script, allowing for on-the-fly addition of targets without restarting. It is invoked in the following manner:&lt;br /&gt;
 ''dbus_object''.'''add_send_client(''string'')'''&lt;br /&gt;
Where ''string'' is a string containing the IP address and destination port number of the send target, formatted as &amp;quot;''ip'':''port''&amp;quot;.&lt;br /&gt;
The function returns a dbus.Boolean value; ''True'' if the add is successful, ''False'' if not.&lt;br /&gt;
&lt;br /&gt;
Example output:&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; remote_object.add_send_client(&amp;quot;134.50.87.179:55555&amp;quot;)&lt;br /&gt;
 dbus.Boolean(True)&lt;br /&gt;
====reload_configuration====&lt;br /&gt;
This exposed DBus method will cause a running instance of the script to reload its configuration file, as if having been sent signal SIGHUP. It is invoked in the following manner:&lt;br /&gt;
 ''dbus_object''.'''reload_configuration()'''&lt;br /&gt;
Then function always returns dbus.Boolean ''True'' at this time.&lt;br /&gt;
&lt;br /&gt;
Example output:&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; remote_object.reload_configuration()&lt;br /&gt;
 dbus.Boolean(True)&lt;/div&gt;</summary>
		<author><name>Buckminst</name></author>
	</entry>
	<entry>
		<id>https://wiki.iac.isu.edu/index.php?title=Radiation_Monitor_Python_Script_Documentation&amp;diff=53641</id>
		<title>Radiation Monitor Python Script Documentation</title>
		<link rel="alternate" type="text/html" href="https://wiki.iac.isu.edu/index.php?title=Radiation_Monitor_Python_Script_Documentation&amp;diff=53641"/>
		<updated>2010-09-14T01:26:39Z</updated>

		<summary type="html">&lt;p&gt;Buckminst: Created page with '=API= ==DBus Quick Reference== '''Service Bus''': ''SessionBus()''  '''Service Name''': ''iac.nagios.radmonitors''  '''Service Path''': ''/IAC/Nagios/RadMonitors''  '''Exposed Me...'&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=API=&lt;br /&gt;
==DBus Quick Reference==&lt;br /&gt;
'''Service Bus''': ''SessionBus()''&lt;br /&gt;
&lt;br /&gt;
'''Service Name''': ''iac.nagios.radmonitors''&lt;br /&gt;
&lt;br /&gt;
'''Service Path''': ''/IAC/Nagios/RadMonitors''&lt;br /&gt;
&lt;br /&gt;
'''Exposed Methods'''&lt;br /&gt;
 '''get_active_channels()'''&lt;br /&gt;
 '''get_active_monitors()'''&lt;br /&gt;
 '''get_active_monitor_count()'''&lt;br /&gt;
 '''get_radiation_levels()'''&lt;br /&gt;
 '''add_send_client('''''string''''')'''&lt;br /&gt;
 '''reload_configuration()'''&lt;br /&gt;
==DBus Interaction==&lt;br /&gt;
Before you can interact with the Radiation Monitor's DBus service, you will need to load some prerequisite Python libraries:&lt;br /&gt;
 import dbus&lt;br /&gt;
This is the minimum to connect to DBus. If you wish to do more than connect as a client, you will need to load the following libraries:&lt;br /&gt;
 import dbus.service, gobject&lt;br /&gt;
 from dbus import glib&lt;br /&gt;
It is also recommend that you initialize threading now if you are planning on performing threaded tasks:&lt;br /&gt;
 gobject.threads_init()&lt;br /&gt;
 glib.init_threads()&lt;br /&gt;
===Connecting to the Radiation Monitor DBus service===&lt;br /&gt;
To interact with the Radiation Monitor DBus service in Python, you will first need to connect to the DBus Session bus:&lt;br /&gt;
 ''dbus_bus'' = '''dbus.SessionBus()'''&lt;br /&gt;
Once you have successfully connected to the session bus, you will then want to get the DBus service object for the Radiation Monitor. This is done via the '''get_object''' bus method:&lt;br /&gt;
 ''dbus_object'' = ''dbus_bus''.'''get_object('''''service_name'', ''service_path''''')'''&lt;br /&gt;
For our Radiation Monitor interface, the proper invocation is as follows:&lt;br /&gt;
 ''dbus_object'' = ''dbus_bus''.'''get_object('''''&amp;quot;iac.nagios.radmonitors&amp;quot;'', ''&amp;quot;/IAC/Nagios/RadMonitors&amp;quot;''''')'''&lt;br /&gt;
After this is done, you may choose to call the Radiation Monitor's DBus methods either through the service object itself, or you may create references to specific methods for use:&lt;br /&gt;
 ''dbus_method_ref'' = ''dbus_object''.'''get_dbus_method('''''method'', ''service_name''''')'''&lt;br /&gt;
Example:&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; remote_method = remote_object.get_dbus_method('get_active_monitor_count', 'iac.nagios.radmonitors')&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; remote_method()&lt;br /&gt;
 dbus.Int32(7)&lt;br /&gt;
===Introspection Schema===&lt;br /&gt;
The Radiation Monitor DBus service returns the following schema upon being called with its inherited Introspect() method:&lt;br /&gt;
 &amp;lt;!DOCTYPE node PUBLIC &amp;quot;-//freedesktop//DTD D-BUS Object Introspection 1.0//EN&amp;quot;&lt;br /&gt;
 &amp;quot;http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;node name=&amp;quot;/IAC/Nagios/RadMonitors&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;interface name=&amp;quot;iac.nagios.radmonitors&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;method name=&amp;quot;reload_configuration&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;/method&amp;gt;&lt;br /&gt;
     &amp;lt;method name=&amp;quot;get_active_monitors&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;/method&amp;gt;&lt;br /&gt;
     &amp;lt;method name=&amp;quot;get_active_monitor_count&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;/method&amp;gt;&lt;br /&gt;
     &amp;lt;method name=&amp;quot;add_send_client&amp;quot;&amp;gt;&lt;br /&gt;
       &amp;lt;arg direction=&amp;quot;in&amp;quot;  type=&amp;quot;v&amp;quot; name=&amp;quot;new_client&amp;quot; /&amp;gt;&lt;br /&gt;
     &amp;lt;/method&amp;gt;&lt;br /&gt;
     &amp;lt;method name=&amp;quot;get_radiation_levels&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;/method&amp;gt;&lt;br /&gt;
     &amp;lt;method name=&amp;quot;get_active_channels&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;/method&amp;gt;&lt;br /&gt;
   &amp;lt;/interface&amp;gt;&lt;br /&gt;
   &amp;lt;interface name=&amp;quot;org.freedesktop.DBus.Introspectable&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;method name=&amp;quot;Introspect&amp;quot;&amp;gt;&lt;br /&gt;
       &amp;lt;arg direction=&amp;quot;out&amp;quot; type=&amp;quot;s&amp;quot; /&amp;gt;&lt;br /&gt;
     &amp;lt;/method&amp;gt;&lt;br /&gt;
   &amp;lt;/interface&amp;gt;&lt;br /&gt;
 &amp;lt;/node&amp;gt;&lt;br /&gt;
===Methods===&lt;br /&gt;
====get_active_channels====&lt;br /&gt;
This exposed DBus method will return a dbus.Array value representing the active channels the script sees. It is invoked in the following manner:&lt;br /&gt;
 ''dbus_object''.'''get_active_channels()'''&lt;br /&gt;
Example output:&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; remote_object.get_active_channels()&lt;br /&gt;
 dbus.Array([dbus.Int32(1), dbus.Int32(2), dbus.Int32(3), dbus.Int32(4), dbus.Int32(5), dbus.Int32(6), dbus.Int32(7)], signature=dbus.Signature('i'))&lt;br /&gt;
====get_active_monitors====&lt;br /&gt;
This exposed DBus method will return a dbus.Array value representing the IP address of all radiation monitors the script sees. It is invoked in the following manner:&lt;br /&gt;
 ''dbus_object''.'''get_active_monitors()'''&lt;br /&gt;
Example output:&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; remote_object.get_active_monitors()&lt;br /&gt;
 dbus.Array([dbus.String(u'192.168.40.155'), dbus.String(u'192.168.40.154'), dbus.String(u'192.168.40.121'), dbus.String(u'192.168.40.172'),&lt;br /&gt;
 dbus.String(u'192.168.40.137'), dbus.String(u'192.168.40.159'), dbus.String(u'192.168.40.120')], signature=dbus.Signature('s'))&lt;br /&gt;
====get_active_monitor_count====&lt;br /&gt;
This exposed DBus method will return a dbus.Int32 value representing the total number of active monitors the script sees. It is invoked in the following manner:&lt;br /&gt;
 ''dbus_object''.'''get_active_monitor_count()'''&lt;br /&gt;
Example output:&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; remote_object.get_active_monitor_count()&lt;br /&gt;
 dbus.Int32(7)&lt;br /&gt;
====get_radiation_levels====&lt;br /&gt;
This exposed DBus method will return a dbus.Array value representing the current radiation level of all monitors the script sees. It is invoked in the following manner:&lt;br /&gt;
 ''dbus_object''.'''get_radiation_levels()'''&lt;br /&gt;
Example output:&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; remote_object.get_radiation_levels()&lt;br /&gt;
 dbus.Array([dbus.String(u'0.0'), dbus.String(u'0.0'), dbus.String(u'0.0'), dbus.String(u'0.0'), dbus.String(u'0.1'), dbus.String(u'0.1'),&lt;br /&gt;
 dbus.String(u'0.1')], signature=dbus.Signature('s'))&lt;br /&gt;
====add_send_client====&lt;br /&gt;
This exposed DBus method will add a new send target client to a running instance of the script, allowing for on-the-fly addition of targets without restarting. It is invoked in the following manner:&lt;br /&gt;
 ''dbus_object''.'''add_send_client(''string'')'''&lt;br /&gt;
Where ''string'' is a string containing the IP address and destination port number of the send target, formatted as &amp;quot;''ip'':''port''&amp;quot;.&lt;br /&gt;
The function returns a dbus.Boolean value; ''True'' if the add is successful, ''False'' if not.&lt;br /&gt;
&lt;br /&gt;
Example output:&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; remote_object.add_send_client(&amp;quot;134.50.87.179:55555&amp;quot;)&lt;br /&gt;
 dbus.Boolean(True)&lt;br /&gt;
====reload_configuration====&lt;br /&gt;
This exposed DBus method will cause a running instance of the script to reload its configuration file, as if having been sent signal SIGHUP. It is invoked in the following manner:&lt;br /&gt;
 ''dbus_object''.'''reload_configuration()'''&lt;br /&gt;
Then function always returns dbus.Boolean ''True'' at this time.&lt;br /&gt;
&lt;br /&gt;
Example output:&lt;br /&gt;
 &amp;gt;&amp;gt;&amp;gt; remote_object.reload_configuration()&lt;br /&gt;
 dbus.Boolean(True)&lt;/div&gt;</summary>
		<author><name>Buckminst</name></author>
	</entry>
	<entry>
		<id>https://wiki.iac.isu.edu/index.php?title=Ludlum_Rad_Monitor_Tunneling&amp;diff=35005</id>
		<title>Ludlum Rad Monitor Tunneling</title>
		<link rel="alternate" type="text/html" href="https://wiki.iac.isu.edu/index.php?title=Ludlum_Rad_Monitor_Tunneling&amp;diff=35005"/>
		<updated>2010-09-14T00:40:57Z</updated>

		<summary type="html">&lt;p&gt;Buckminst: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Overview===&lt;br /&gt;
The Ludlum Model 375 radiation monitors send out a small broadcast pact to a configurable port (55555 in our config) once a second with their current reading. This is an iptables log of that packet:&lt;br /&gt;
 IN=eth0 OUT= MAC=ff:ff:ff:ff:ff:ff:00:90:c2:d5:81:9c:08:00 SRC=10.0.115.200 DST=255.255.255.255 LEN=68 TOS=0x0E PREC=0xC0 TTL=207 ID=41175 PROTO=UDP SPT=55554 DPT=55555 LEN=48&lt;br /&gt;
[http://www.winton.org.uk/zebedee/ zebedee website]&lt;br /&gt;
===Server set up===&lt;br /&gt;
The server is the (Linux) machine that it physically on the same subnet as the monitors.&lt;br /&gt;
 zebedee 55555:192.168.87.71:55555  -u -d&lt;br /&gt;
'''-u''' is for UDP traffic. '''-d''' is don't disconnect (for debugging). The first '''55555''' is the incoming udp port. '''192.168.87.71''' is the client to connect to. The second '''55555''' is the destination port on the client. ''134.50.87.30 is Balzer's computer.''&lt;br /&gt;
&lt;br /&gt;
===Client set up===&lt;br /&gt;
The client is the (Windows) machine that has the viewer on it.&lt;br /&gt;
 zebedee -s -u -d&lt;br /&gt;
'''-d''' is don't disconnect (for debugging). We also want some sort of security or IP restriction.&lt;br /&gt;
&lt;br /&gt;
===Troubleshooting tips===&lt;br /&gt;
Install IPTABLES rule to catch packets:&lt;br /&gt;
 iptables -A INPUT -p udp --dport 55555 -j LOG&lt;br /&gt;
&lt;br /&gt;
Filter logs for traffic from above rule:&lt;br /&gt;
 cat /var/log/messages | grep &amp;quot;IN=eth0&amp;quot; | cut -d &amp;quot; &amp;quot; -f 10 | sort | uniq&lt;br /&gt;
&lt;br /&gt;
===UDP Packet Breakdown===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
0           1           2           3&lt;br /&gt;
012 345678 901234 567 8901 23456789 01234567&lt;br /&gt;
--- ------ ------ --- ---- -------- --------&lt;br /&gt;
LMI 0000.5 000010 001 5555 39620N01 39801n09 &lt;br /&gt;
LMI 000.00 000010 003 5555 39608N51 39801n09 &lt;br /&gt;
|_| |____| |____| |_| |__| |______| |______|&lt;br /&gt;
  |      |      |   |    |        |        \- Ethernet Firmware Version&lt;br /&gt;
  |      |      |   |    |        |  &lt;br /&gt;
  |      |      |   |    |        \- Detector Firmware Version&lt;br /&gt;
  |      |      |   |    |&lt;br /&gt;
  |      |      |   |    \- UDP Broadcast Port&lt;br /&gt;
  |      |      |   |&lt;br /&gt;
  |      |      |   \- Detector ID (Channel)&lt;br /&gt;
  |      |      |&lt;br /&gt;
  |      |      \- Bitfield (see below)&lt;br /&gt;
  |      |&lt;br /&gt;
  |      \- Radiation level&lt;br /&gt;
  |&lt;br /&gt;
  \- Manufacturer ID&lt;br /&gt;
&lt;br /&gt;
Bitfield:&lt;br /&gt;
012345&lt;br /&gt;
------&lt;br /&gt;
011010&lt;br /&gt;
||||||&lt;br /&gt;
|||||\-Error Code&lt;br /&gt;
|||||&lt;br /&gt;
||||\-Monitor Status Bit&lt;br /&gt;
||||&lt;br /&gt;
|||\-Over Range Status Bit&lt;br /&gt;
|||&lt;br /&gt;
||\-Alert Status Bit&lt;br /&gt;
||&lt;br /&gt;
|\-Alarm Status Bit&lt;br /&gt;
|&lt;br /&gt;
\-Audio Status Bit&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Radiation Monitor Software Development===&lt;br /&gt;
[[Radiation Monitor Python Script Documentation]]&lt;/div&gt;</summary>
		<author><name>Buckminst</name></author>
	</entry>
	<entry>
		<id>https://wiki.iac.isu.edu/index.php?title=Monitoring_Server&amp;diff=29554</id>
		<title>Monitoring Server</title>
		<link rel="alternate" type="text/html" href="https://wiki.iac.isu.edu/index.php?title=Monitoring_Server&amp;diff=29554"/>
		<updated>2010-09-11T01:31:03Z</updated>

		<summary type="html">&lt;p&gt;Buckminst: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The '''IAC monitoring server''' can be found at http://hal.iac.isu.edu/nagios3/&lt;br /&gt;
&lt;br /&gt;
=Monitored Systems and Services=&lt;br /&gt;
&lt;br /&gt;
==Systems &amp;amp; Services Chart==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;font-size: x-small;&amp;quot;&lt;br /&gt;
|+ Systems and Services Currently Monitored&lt;br /&gt;
! System Name !! CPU Usage !! Current Load !! # Users !! DRBD !! Disk Space !! HDD Temp !! Heartbeat !! LDAP !! Memory !! # Network Connections !! Network I/O !! RAID !! SMART !! SSH !! # Processes !! HTTP !! MySQL !! Samba !! System Temperature !! PSU !! PING !! Other&lt;br /&gt;
|-&lt;br /&gt;
! Alan's Desktop&lt;br /&gt;
| {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! brems.iac.isu.edu&lt;br /&gt;
| {{yes}} || {{yes}} || {{yes}} || {{no}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || Averaging Test, Cluster Room Temperatures, Slurm Queue, Slave Nodes&lt;br /&gt;
|-&lt;br /&gt;
! cleanroom.temperatures&lt;br /&gt;
| {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || Clean Room Temperatures&lt;br /&gt;
|-&lt;br /&gt;
! codex.iac.isu.edu&lt;br /&gt;
| {{yes}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! cornwall.iac.isu.edu&lt;br /&gt;
| {{yes}} || {{yes}} || {{yes}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! crick.iac.isu.edu&lt;br /&gt;
| {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{no}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! darwin.iac.isu.edu&lt;br /&gt;
| {{yes}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! devsource.iac.isu.edu&lt;br /&gt;
| {{yes}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! iac-gateway&lt;br /&gt;
| {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! inca.iac.isu.edu&lt;br /&gt;
| {{yes}} || {{yes}} || {{yes}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! license.iac.isu.edu&lt;br /&gt;
| {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! hal.iac.isu.edu&lt;br /&gt;
| {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || Radiation Monitors&lt;br /&gt;
|-&lt;br /&gt;
! physics-gateway&lt;br /&gt;
| {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! seattle.iac.isu.edu&lt;br /&gt;
| {{yes}} || {{yes}} || {{yes}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! watson.iac.isu.edu&lt;br /&gt;
| {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{no}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! wiki.iac.isu.edu&lt;br /&gt;
| {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{no}}ne&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Systems Monitored (By Building)==&lt;br /&gt;
&lt;br /&gt;
===Physical Science===&lt;br /&gt;
* physics-gateway&lt;br /&gt;
* brems.iac.isu.edu&lt;br /&gt;
* cleanroom.temperatures&lt;br /&gt;
* codex.iac.isu.edu&lt;br /&gt;
* crick.iac.isu.edu&lt;br /&gt;
* darwin.iac.isu.edu&lt;br /&gt;
* devsource.iac.isu.edu&lt;br /&gt;
* inca.iac.isu.edu&lt;br /&gt;
* hal.iac.isu.edu&lt;br /&gt;
* watson.iac.isu.edu&lt;br /&gt;
* wiki.iac.isu.edu&lt;br /&gt;
&lt;br /&gt;
===Idaho Accelerator Center===&lt;br /&gt;
* iac-gateway&lt;br /&gt;
* alans-desktop&lt;br /&gt;
* license.iac.isu.edu&lt;br /&gt;
* cornwall.iac.isu.edu&lt;br /&gt;
* seattle.iac.isu.edu&lt;br /&gt;
&lt;br /&gt;
==Systems to Monitor==&lt;br /&gt;
*Brems (Monitored)&lt;br /&gt;
**Slave nodes&lt;br /&gt;
**Slurm queue&lt;br /&gt;
*Webserver&lt;br /&gt;
*Backup server&lt;/div&gt;</summary>
		<author><name>Buckminst</name></author>
	</entry>
	<entry>
		<id>https://wiki.iac.isu.edu/index.php?title=Ludlum_Rad_Monitor_Tunneling&amp;diff=35004</id>
		<title>Ludlum Rad Monitor Tunneling</title>
		<link rel="alternate" type="text/html" href="https://wiki.iac.isu.edu/index.php?title=Ludlum_Rad_Monitor_Tunneling&amp;diff=35004"/>
		<updated>2010-09-11T01:28:14Z</updated>

		<summary type="html">&lt;p&gt;Buckminst: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Overview===&lt;br /&gt;
The Ludlum Model 375 radiation monitors send out a small broadcast pact to a configurable port (55555 in our config) once a second with their current reading. This is an iptables log of that packet:&lt;br /&gt;
 IN=eth0 OUT= MAC=ff:ff:ff:ff:ff:ff:00:90:c2:d5:81:9c:08:00 SRC=10.0.115.200 DST=255.255.255.255 LEN=68 TOS=0x0E PREC=0xC0 TTL=207 ID=41175 PROTO=UDP SPT=55554 DPT=55555 LEN=48&lt;br /&gt;
[http://www.winton.org.uk/zebedee/ zebedee website]&lt;br /&gt;
===Server set up===&lt;br /&gt;
The server is the (Linux) machine that it physically on the same subnet as the monitors.&lt;br /&gt;
 zebedee 55555:192.168.87.71:55555  -u -d&lt;br /&gt;
'''-u''' is for UDP traffic. '''-d''' is don't disconnect (for debugging). The first '''55555''' is the incoming udp port. '''192.168.87.71''' is the client to connect to. The second '''55555''' is the destination port on the client. ''134.50.87.30 is Balzer's computer.''&lt;br /&gt;
&lt;br /&gt;
===Client set up===&lt;br /&gt;
The client is the (Windows) machine that has the viewer on it.&lt;br /&gt;
 zebedee -s -u -d&lt;br /&gt;
'''-d''' is don't disconnect (for debugging). We also want some sort of security or IP restriction.&lt;br /&gt;
&lt;br /&gt;
===Troubleshooting tips===&lt;br /&gt;
Install IPTABLES rule to catch packets:&lt;br /&gt;
 iptables -A INPUT -p udp --dport 55555 -j LOG&lt;br /&gt;
&lt;br /&gt;
Filter logs for traffic from above rule:&lt;br /&gt;
 cat /var/log/messages | grep &amp;quot;IN=eth0&amp;quot; | cut -d &amp;quot; &amp;quot; -f 10 | sort | uniq&lt;br /&gt;
&lt;br /&gt;
===UDP Packet Breakdown===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
0           1           2           3&lt;br /&gt;
012 345678 901234 567 8901 23456789 01234567&lt;br /&gt;
--- ------ ------ --- ---- -------- --------&lt;br /&gt;
LMI 0000.5 000010 001 5555 39620N01 39801n09 &lt;br /&gt;
LMI 000.00 000010 003 5555 39608N51 39801n09 &lt;br /&gt;
|_| |____| |____| |_| |__| |______| |______|&lt;br /&gt;
  |      |      |   |    |        |        \- Ethernet Firmware Version&lt;br /&gt;
  |      |      |   |    |        |  &lt;br /&gt;
  |      |      |   |    |        \- Detector Firmware Version&lt;br /&gt;
  |      |      |   |    |&lt;br /&gt;
  |      |      |   |    \- UDP Broadcast Port&lt;br /&gt;
  |      |      |   |&lt;br /&gt;
  |      |      |   \- Detector ID (Channel)&lt;br /&gt;
  |      |      |&lt;br /&gt;
  |      |      \- Bitfield (see below)&lt;br /&gt;
  |      |&lt;br /&gt;
  |      \- Radiation level&lt;br /&gt;
  |&lt;br /&gt;
  \- Manufacturer ID&lt;br /&gt;
&lt;br /&gt;
Bitfield:&lt;br /&gt;
012345&lt;br /&gt;
------&lt;br /&gt;
011010&lt;br /&gt;
||||||&lt;br /&gt;
|||||\-Error Code&lt;br /&gt;
|||||&lt;br /&gt;
||||\-Monitor Status Bit&lt;br /&gt;
||||&lt;br /&gt;
|||\-Over Range Status Bit&lt;br /&gt;
|||&lt;br /&gt;
||\-Alert Status Bit&lt;br /&gt;
||&lt;br /&gt;
|\-Alarm Status Bit&lt;br /&gt;
|&lt;br /&gt;
\-Audio Status Bit&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Buckminst</name></author>
	</entry>
	<entry>
		<id>https://wiki.iac.isu.edu/index.php?title=Monitoring_Server&amp;diff=29553</id>
		<title>Monitoring Server</title>
		<link rel="alternate" type="text/html" href="https://wiki.iac.isu.edu/index.php?title=Monitoring_Server&amp;diff=29553"/>
		<updated>2010-08-18T21:39:01Z</updated>

		<summary type="html">&lt;p&gt;Buckminst: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The '''IAC monitoring server''' can be found at http://hal.iac.isu.edu/nagios3/&lt;br /&gt;
&lt;br /&gt;
=Monitored Systems and Services=&lt;br /&gt;
&lt;br /&gt;
==Systems &amp;amp; Services Chart==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;font-size: x-small;&amp;quot;&lt;br /&gt;
|+ Systems and Services Currently Monitored&lt;br /&gt;
! System Name !! CPU Usage !! Current Load !! # Users !! DRBD !! Disk Space !! HDD Temp !! Heartbeat !! LDAP !! Memory !! # Network Connections !! Network I/O !! RAID !! SMART !! SSH !! # Processes !! HTTP !! MySQL !! Samba !! System Temperature !! PSU !! PING !! Other&lt;br /&gt;
|-&lt;br /&gt;
! Alan's Desktop&lt;br /&gt;
| {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! brems.iac.isu.edu&lt;br /&gt;
| {{yes}} || {{yes}} || {{yes}} || {{no}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || Averaging Test, Cluster Room Temperatures, Slurm Queue, Slave Nodes&lt;br /&gt;
|-&lt;br /&gt;
! cleanroom.temperatures&lt;br /&gt;
| {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || Clean Room Temperatures&lt;br /&gt;
|-&lt;br /&gt;
! codex.iac.isu.edu&lt;br /&gt;
| {{yes}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! cornwall.iac.isu.edu&lt;br /&gt;
| {{yes}} || {{yes}} || {{yes}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! crick.iac.isu.edu&lt;br /&gt;
| {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{no}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! darwin.iac.isu.edu&lt;br /&gt;
| {{yes}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! devsource.iac.isu.edu&lt;br /&gt;
| {{yes}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! iac-gateway&lt;br /&gt;
| {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! inca.iac.isu.edu&lt;br /&gt;
| {{yes}} || {{yes}} || {{yes}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! license.iac.isu.edu&lt;br /&gt;
| {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! hal.iac.isu.edu&lt;br /&gt;
| {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! physics-gateway&lt;br /&gt;
| {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! seattle.iac.isu.edu&lt;br /&gt;
| {{yes}} || {{yes}} || {{yes}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! watson.iac.isu.edu&lt;br /&gt;
| {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{no}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! wiki.iac.isu.edu&lt;br /&gt;
| {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{no}}ne&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Systems Monitored (By Building)==&lt;br /&gt;
&lt;br /&gt;
===Physical Science===&lt;br /&gt;
* physics-gateway&lt;br /&gt;
* brems.iac.isu.edu&lt;br /&gt;
* cleanroom.temperatures&lt;br /&gt;
* codex.iac.isu.edu&lt;br /&gt;
* crick.iac.isu.edu&lt;br /&gt;
* darwin.iac.isu.edu&lt;br /&gt;
* devsource.iac.isu.edu&lt;br /&gt;
* inca.iac.isu.edu&lt;br /&gt;
* hal.iac.isu.edu&lt;br /&gt;
* watson.iac.isu.edu&lt;br /&gt;
* wiki.iac.isu.edu&lt;br /&gt;
&lt;br /&gt;
===Idaho Accelerator Center===&lt;br /&gt;
* iac-gateway&lt;br /&gt;
* alans-desktop&lt;br /&gt;
* license.iac.isu.edu&lt;br /&gt;
* cornwall.iac.isu.edu&lt;br /&gt;
* seattle.iac.isu.edu&lt;br /&gt;
&lt;br /&gt;
==Systems to Monitor==&lt;br /&gt;
*Brems (Monitored)&lt;br /&gt;
**Slave nodes&lt;br /&gt;
**Slurm queue&lt;br /&gt;
*Webserver&lt;br /&gt;
*Backup server&lt;/div&gt;</summary>
		<author><name>Buckminst</name></author>
	</entry>
	<entry>
		<id>https://wiki.iac.isu.edu/index.php?title=Monitoring_Server&amp;diff=29552</id>
		<title>Monitoring Server</title>
		<link rel="alternate" type="text/html" href="https://wiki.iac.isu.edu/index.php?title=Monitoring_Server&amp;diff=29552"/>
		<updated>2010-07-21T19:16:15Z</updated>

		<summary type="html">&lt;p&gt;Buckminst: /* Systems &amp;amp; Services Chart */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The '''IAC monitoring server''' can be found at http://hal.iac.isu.edu/nagios3/&lt;br /&gt;
&lt;br /&gt;
=Monitored Systems and Services=&lt;br /&gt;
&lt;br /&gt;
==Systems &amp;amp; Services Chart==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;font-size: x-small;&amp;quot;&lt;br /&gt;
|+ Systems and Services Currently Monitored&lt;br /&gt;
! System Name !! CPU Usage !! Current Load !! # Users !! DRBD !! Disk Space !! Heartbeat !! LDAP !! Memory !! # Network Connections !! Network I/O !! RAID !! SMART !! SSH !! # Processes !! HTTP !! MySQL !! Samba !! System Temperature !! PSU !! PING !! Other&lt;br /&gt;
|-&lt;br /&gt;
! Alan's Desktop&lt;br /&gt;
| {{no}} || {{no}} || {{no}} || {{no}} || {{no}}|| {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! brems.iac.isu.edu&lt;br /&gt;
| {{yes}} || {{yes}} || {{yes}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || Averaging Test, Cluster Room Temperatures, Slurm Queue, Slave Nodes&lt;br /&gt;
|-&lt;br /&gt;
! cleanroom.temperatures&lt;br /&gt;
| {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || Clean Room Temperatures&lt;br /&gt;
|-&lt;br /&gt;
! codex.iac.isu.edu&lt;br /&gt;
| {{yes}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! cornwall.iac.isu.edu&lt;br /&gt;
| {{yes}} || {{yes}} || {{yes}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! crick.iac.isu.edu&lt;br /&gt;
| {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{no}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! darwin.iac.isu.edu&lt;br /&gt;
| {{yes}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! devsource.iac.isu.edu&lt;br /&gt;
| {{yes}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! iac-gateway&lt;br /&gt;
| {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! inca.iac.isu.edu&lt;br /&gt;
| {{yes}} || {{yes}} || {{yes}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! license.iac.isu.edu&lt;br /&gt;
| {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! hal.iac.isu.edu&lt;br /&gt;
| {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! physics-gateway&lt;br /&gt;
| {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! seattle.iac.isu.edu&lt;br /&gt;
| {{yes}} || {{yes}} || {{yes}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! watson.iac.isu.edu&lt;br /&gt;
| {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{no}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! wiki.iac.isu.edu&lt;br /&gt;
| {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{no}}ne&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Systems Monitored (By Building)==&lt;br /&gt;
&lt;br /&gt;
===Physical Science===&lt;br /&gt;
* physics-gateway&lt;br /&gt;
* brems.iac.isu.edu&lt;br /&gt;
* cleanroom.temperatures&lt;br /&gt;
* codex.iac.isu.edu&lt;br /&gt;
* crick.iac.isu.edu&lt;br /&gt;
* darwin.iac.isu.edu&lt;br /&gt;
* devsource.iac.isu.edu&lt;br /&gt;
* inca.iac.isu.edu&lt;br /&gt;
* hal.iac.isu.edu&lt;br /&gt;
* watson.iac.isu.edu&lt;br /&gt;
* wiki.iac.isu.edu&lt;br /&gt;
&lt;br /&gt;
===Idaho Accelerator Center===&lt;br /&gt;
* iac-gateway&lt;br /&gt;
* alans-desktop&lt;br /&gt;
* license.iac.isu.edu&lt;br /&gt;
* cornwall.iac.isu.edu&lt;br /&gt;
* seattle.iac.isu.edu&lt;br /&gt;
&lt;br /&gt;
==Systems to Monitor==&lt;br /&gt;
*Brems (Monitored)&lt;br /&gt;
**Slave nodes&lt;br /&gt;
**Slurm queue&lt;br /&gt;
*Webserver&lt;br /&gt;
*Backup server&lt;/div&gt;</summary>
		<author><name>Buckminst</name></author>
	</entry>
	<entry>
		<id>https://wiki.iac.isu.edu/index.php?title=Monitoring_Server&amp;diff=29551</id>
		<title>Monitoring Server</title>
		<link rel="alternate" type="text/html" href="https://wiki.iac.isu.edu/index.php?title=Monitoring_Server&amp;diff=29551"/>
		<updated>2010-06-18T21:11:31Z</updated>

		<summary type="html">&lt;p&gt;Buckminst: /* Systems &amp;amp; Services Chart */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The '''IAC monitoring server''' can be found at http://hal.iac.isu.edu/nagios3/&lt;br /&gt;
&lt;br /&gt;
=Monitored Systems and Services=&lt;br /&gt;
&lt;br /&gt;
==Systems &amp;amp; Services Chart==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;font-size: x-small;&amp;quot;&lt;br /&gt;
|+ Systems and Services Currently Monitored&lt;br /&gt;
! System Name !! CPU Usage !! Current Load !! # Users !! DRBD !! Disk Space !! Heartbeat !! LDAP !! Memory !! # Network Connections !! Network I/O !! RAID !! SMART !! SSH !! # Processes !! HTTP !! MySQL !! Samba !! System Temperature !! PSU !! PING !! Other&lt;br /&gt;
|-&lt;br /&gt;
! Alan's Desktop&lt;br /&gt;
| {{no}} || {{no}} || {{no}} || {{no}} || {{no}}|| {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! brems.iac.isu.edu&lt;br /&gt;
| {{yes}} || {{yes}} || {{yes}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || Averaging Test, Cluster Room Temperatures, Slurm Queue&lt;br /&gt;
|-&lt;br /&gt;
! cleanroom.temperatures&lt;br /&gt;
| {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || Clean Room Temperatures&lt;br /&gt;
|-&lt;br /&gt;
! codex.iac.isu.edu&lt;br /&gt;
| {{yes}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! cornwall.iac.isu.edu&lt;br /&gt;
| {{yes}} || {{yes}} || {{yes}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! crick.iac.isu.edu&lt;br /&gt;
| {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{no}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! darwin.iac.isu.edu&lt;br /&gt;
| {{yes}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! devsource.iac.isu.edu&lt;br /&gt;
| {{yes}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! iac-gateway&lt;br /&gt;
| {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! inca.iac.isu.edu&lt;br /&gt;
| {{yes}} || {{yes}} || {{yes}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! license.iac.isu.edu&lt;br /&gt;
| {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! hal.iac.isu.edu&lt;br /&gt;
| {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! physics-gateway&lt;br /&gt;
| {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! seattle.iac.isu.edu&lt;br /&gt;
| {{yes}} || {{yes}} || {{yes}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! watson.iac.isu.edu&lt;br /&gt;
| {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{no}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! wiki.iac.isu.edu&lt;br /&gt;
| {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{no}}ne&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Systems Monitored (By Building)==&lt;br /&gt;
&lt;br /&gt;
===Physical Science===&lt;br /&gt;
* physics-gateway&lt;br /&gt;
* brems.iac.isu.edu&lt;br /&gt;
* cleanroom.temperatures&lt;br /&gt;
* codex.iac.isu.edu&lt;br /&gt;
* crick.iac.isu.edu&lt;br /&gt;
* darwin.iac.isu.edu&lt;br /&gt;
* devsource.iac.isu.edu&lt;br /&gt;
* inca.iac.isu.edu&lt;br /&gt;
* hal.iac.isu.edu&lt;br /&gt;
* watson.iac.isu.edu&lt;br /&gt;
* wiki.iac.isu.edu&lt;br /&gt;
&lt;br /&gt;
===Idaho Accelerator Center===&lt;br /&gt;
* iac-gateway&lt;br /&gt;
* alans-desktop&lt;br /&gt;
* license.iac.isu.edu&lt;br /&gt;
* cornwall.iac.isu.edu&lt;br /&gt;
* seattle.iac.isu.edu&lt;br /&gt;
&lt;br /&gt;
==Systems to Monitor==&lt;br /&gt;
*Brems (Monitored)&lt;br /&gt;
**Slave nodes&lt;br /&gt;
**Slurm queue&lt;br /&gt;
*Webserver&lt;br /&gt;
*Backup server&lt;/div&gt;</summary>
		<author><name>Buckminst</name></author>
	</entry>
	<entry>
		<id>https://wiki.iac.isu.edu/index.php?title=Monitoring_Server&amp;diff=29550</id>
		<title>Monitoring Server</title>
		<link rel="alternate" type="text/html" href="https://wiki.iac.isu.edu/index.php?title=Monitoring_Server&amp;diff=29550"/>
		<updated>2010-06-09T22:39:55Z</updated>

		<summary type="html">&lt;p&gt;Buckminst: /* Monitored Systems and Services */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The '''IAC monitoring server''' can be found at http://hal.iac.isu.edu/nagios3/&lt;br /&gt;
&lt;br /&gt;
=Monitored Systems and Services=&lt;br /&gt;
&lt;br /&gt;
==Systems &amp;amp; Services Chart==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;font-size: x-small;&amp;quot;&lt;br /&gt;
|+ Systems and Services Currently Monitored&lt;br /&gt;
! System Name !! CPU Usage !! Current Load !! # Users !! DRBD !! Disk Space !! Heartbeat !! LDAP !! Memory !! # Network Connections !! Network I/O !! RAID !! SMART !! SSH !! # Processes !! HTTP !! MySQL !! Samba !! System Temperature !! PSU !! PING !! Other&lt;br /&gt;
|-&lt;br /&gt;
! Alan's Desktop&lt;br /&gt;
| {{no}} || {{no}} || {{no}} || {{no}} || {{no}}|| {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! brems.iac.isu.edu&lt;br /&gt;
| {{yes}} || {{yes}} || {{yes}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || Averaging Test, Cluster Room Temperatures&lt;br /&gt;
|-&lt;br /&gt;
! cleanroom.temperatures&lt;br /&gt;
| {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || Clean Room Temperatures&lt;br /&gt;
|-&lt;br /&gt;
! codex.iac.isu.edu&lt;br /&gt;
| {{yes}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! cornwall.iac.isu.edu&lt;br /&gt;
| {{yes}} || {{yes}} || {{yes}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! crick.iac.isu.edu&lt;br /&gt;
| {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{no}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! darwin.iac.isu.edu&lt;br /&gt;
| {{yes}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! devsource.iac.isu.edu&lt;br /&gt;
| {{yes}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! iac-gateway&lt;br /&gt;
| {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! inca.iac.isu.edu&lt;br /&gt;
| {{yes}} || {{yes}} || {{yes}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! license.iac.isu.edu&lt;br /&gt;
| {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! hal.iac.isu.edu&lt;br /&gt;
| {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! physics-gateway&lt;br /&gt;
| {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! seattle.iac.isu.edu&lt;br /&gt;
| {{yes}} || {{yes}} || {{yes}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! watson.iac.isu.edu&lt;br /&gt;
| {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{no}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! wiki.iac.isu.edu&lt;br /&gt;
| {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{no}}ne&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Systems Monitored (By Building)==&lt;br /&gt;
&lt;br /&gt;
===Physical Science===&lt;br /&gt;
* physics-gateway&lt;br /&gt;
* brems.iac.isu.edu&lt;br /&gt;
* cleanroom.temperatures&lt;br /&gt;
* codex.iac.isu.edu&lt;br /&gt;
* crick.iac.isu.edu&lt;br /&gt;
* darwin.iac.isu.edu&lt;br /&gt;
* devsource.iac.isu.edu&lt;br /&gt;
* inca.iac.isu.edu&lt;br /&gt;
* hal.iac.isu.edu&lt;br /&gt;
* watson.iac.isu.edu&lt;br /&gt;
* wiki.iac.isu.edu&lt;br /&gt;
&lt;br /&gt;
===Idaho Accelerator Center===&lt;br /&gt;
* iac-gateway&lt;br /&gt;
* alans-desktop&lt;br /&gt;
* license.iac.isu.edu&lt;br /&gt;
* cornwall.iac.isu.edu&lt;br /&gt;
* seattle.iac.isu.edu&lt;br /&gt;
&lt;br /&gt;
==Systems to Monitor==&lt;br /&gt;
*Brems (Monitored)&lt;br /&gt;
**Slave nodes&lt;br /&gt;
**Slurm queue&lt;br /&gt;
*Webserver&lt;br /&gt;
*Backup server&lt;/div&gt;</summary>
		<author><name>Buckminst</name></author>
	</entry>
	<entry>
		<id>https://wiki.iac.isu.edu/index.php?title=Monitoring_Server&amp;diff=29549</id>
		<title>Monitoring Server</title>
		<link rel="alternate" type="text/html" href="https://wiki.iac.isu.edu/index.php?title=Monitoring_Server&amp;diff=29549"/>
		<updated>2010-05-25T21:38:13Z</updated>

		<summary type="html">&lt;p&gt;Buckminst: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The '''IAC monitoring server''' can be found at http://hal.iac.isu.edu/nagios3/&lt;br /&gt;
&lt;br /&gt;
=Monitored Systems and Services=&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;font-size: x-small;&amp;quot;&lt;br /&gt;
|+ Systems and Services Currently Monitored&lt;br /&gt;
! System Name !! CPU Usage !! Current Load !! # Users !! DRBD !! Disk Space !! Heartbeat !! LDAP !! Memory !! # Network Connections !! Network I/O !! RAID !! SMART !! SSH !! # Processes !! HTTP !! MySQL !! Samba !! System Temperature !! PSU !! PING !! Other&lt;br /&gt;
|-&lt;br /&gt;
! Alan's Desktop&lt;br /&gt;
| {{no}} || {{no}} || {{no}} || {{no}} || {{no}}|| {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! brems.iac.isu.edu&lt;br /&gt;
| {{yes}} || {{yes}} || {{yes}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || Averaging Test, Cluster Room Temperatures&lt;br /&gt;
|-&lt;br /&gt;
! cleanroom.temperatures&lt;br /&gt;
| {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || Clean Room Temperatures&lt;br /&gt;
|-&lt;br /&gt;
! codex.iac.isu.edu&lt;br /&gt;
| {{yes}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! cornwall.iac.isu.edu&lt;br /&gt;
| {{yes}} || {{yes}} || {{yes}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! crick.iac.isu.edu&lt;br /&gt;
| {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{no}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! darwin.iac.isu.edu&lt;br /&gt;
| {{yes}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! devsource.iac.isu.edu&lt;br /&gt;
| {{yes}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! iac-gateway&lt;br /&gt;
| {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! inca.iac.isu.edu&lt;br /&gt;
| {{yes}} || {{yes}} || {{yes}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! license.iac.isu.edu&lt;br /&gt;
| {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! hal.iac.isu.edu&lt;br /&gt;
| {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! physics-gateway&lt;br /&gt;
| {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! seattle.iac.isu.edu&lt;br /&gt;
| {{yes}} || {{yes}} || {{yes}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! watson.iac.isu.edu&lt;br /&gt;
| {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{no}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! wiki.iac.isu.edu&lt;br /&gt;
| {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{no}}ne&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Computers to Monitor==&lt;br /&gt;
*Brems (Monitored)&lt;br /&gt;
**Slave nodes&lt;br /&gt;
**Slurm queue&lt;br /&gt;
*Webserver&lt;br /&gt;
*Backup server&lt;/div&gt;</summary>
		<author><name>Buckminst</name></author>
	</entry>
	<entry>
		<id>https://wiki.iac.isu.edu/index.php?title=Monitoring_Server&amp;diff=29548</id>
		<title>Monitoring Server</title>
		<link rel="alternate" type="text/html" href="https://wiki.iac.isu.edu/index.php?title=Monitoring_Server&amp;diff=29548"/>
		<updated>2010-05-25T21:37:16Z</updated>

		<summary type="html">&lt;p&gt;Buckminst: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The '''IAC monitoring server''' can be found at http://hal.iac.isu.edu/nagios3/&lt;br /&gt;
&lt;br /&gt;
=Monitored Systems and Services=&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ Systems and Services Currently Monitored&lt;br /&gt;
! System Name !! CPU Usage !! Current Load !! # Users !! DRBD !! Disk Space !! Heartbeat !! LDAP !! Memory !! # Network Connections !! Network I/O !! RAID !! SMART !! SSH !! # Processes !! HTTP !! MySQL !! Samba !! System Temperature !! PSU !! PING !! Other&lt;br /&gt;
|-&lt;br /&gt;
! Alan's Desktop&lt;br /&gt;
| {{no}} || {{no}} || {{no}} || {{no}} || {{no}}|| {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! brems.iac.isu.edu&lt;br /&gt;
| {{yes}} || {{yes}} || {{yes}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || Averaging Test, Cluster Room Temperatures&lt;br /&gt;
|-&lt;br /&gt;
! cleanroom.temperatures&lt;br /&gt;
| {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || Clean Room Temperatures&lt;br /&gt;
|-&lt;br /&gt;
! codex.iac.isu.edu&lt;br /&gt;
| {{yes}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! cornwall.iac.isu.edu&lt;br /&gt;
| {{yes}} || {{yes}} || {{yes}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! crick.iac.isu.edu&lt;br /&gt;
| {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{no}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! darwin.iac.isu.edu&lt;br /&gt;
| {{yes}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! devsource.iac.isu.edu&lt;br /&gt;
| {{yes}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! iac-gateway&lt;br /&gt;
| {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! inca.iac.isu.edu&lt;br /&gt;
| {{yes}} || {{yes}} || {{yes}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! license.iac.isu.edu&lt;br /&gt;
| {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! hal.iac.isu.edu&lt;br /&gt;
| {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! physics-gateway&lt;br /&gt;
| {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! seattle.iac.isu.edu&lt;br /&gt;
| {{yes}} || {{yes}} || {{yes}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! watson.iac.isu.edu&lt;br /&gt;
| {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{no}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! wiki.iac.isu.edu&lt;br /&gt;
| {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{no}}ne&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Computers to Monitor==&lt;br /&gt;
*Brems (Monitored)&lt;br /&gt;
**Slave nodes&lt;br /&gt;
**Slurm queue&lt;br /&gt;
*Webserver&lt;br /&gt;
*Backup server&lt;/div&gt;</summary>
		<author><name>Buckminst</name></author>
	</entry>
	<entry>
		<id>https://wiki.iac.isu.edu/index.php?title=Monitoring_Server&amp;diff=29547</id>
		<title>Monitoring Server</title>
		<link rel="alternate" type="text/html" href="https://wiki.iac.isu.edu/index.php?title=Monitoring_Server&amp;diff=29547"/>
		<updated>2010-05-25T21:35:54Z</updated>

		<summary type="html">&lt;p&gt;Buckminst: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The '''IAC monitoring server''' can be found at http://hal.iac.isu.edu/nagios3/&lt;br /&gt;
&lt;br /&gt;
=Monitored Systems and Services=&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ Systems and Services Currently Monitored&lt;br /&gt;
! System Name !! CPU Usage !! Current Load !! # Users !! DRBD !! Disk Space !! Heartbeat !! LDAP !! Memory !! # Network Connections !! Network I/O !! RAID !! SMART !! SSH !! # Processes !! HTTP !! MySQL !! Samba !! System Temperature !! PSU !! PING !! Other&lt;br /&gt;
|-&lt;br /&gt;
! Alan's Desktop&lt;br /&gt;
| {{no}} || {{no}} || {{no}} || {{no}} || {{no}}|| {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! brems.iac.isu.edu&lt;br /&gt;
| {{yes}} || {{yes}} || {{yes}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || Averaging Test, Cluster Room Temperatures&lt;br /&gt;
|-&lt;br /&gt;
! cleanroom.temperatures&lt;br /&gt;
| {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || Clean Room Temperatures&lt;br /&gt;
|-&lt;br /&gt;
! codex.iac.isu.edu&lt;br /&gt;
| {{yes}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! cornwall.iac.isu.edu&lt;br /&gt;
| {{yes}} || {{yes}} || {{yes}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! crick.iac.isu.edu&lt;br /&gt;
| {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{no}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! darwin.iac.isu.edu&lt;br /&gt;
| {{yes}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! devsource.iac.isu.edu&lt;br /&gt;
| {{yes}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! iac-gateway&lt;br /&gt;
| {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! inca.iac.isu.edu&lt;br /&gt;
| {{yes}} || {{yes}} || {{yes}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! license.iac.isu.edu&lt;br /&gt;
| {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! hal.iac.isu.edu&lt;br /&gt;
| {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! physics-gateway&lt;br /&gt;
| {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! seattle.iac.isu.edu&lt;br /&gt;
| {{yes}} || {{yes}} || {{yes}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! watson.iac.isu.edu&lt;br /&gt;
| {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{no}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! wiki.iac.isu.edu&lt;br /&gt;
| {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{no}}ne&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Computers to Monitor==&lt;br /&gt;
*Brems&lt;br /&gt;
**Slave nodes&lt;br /&gt;
**Slurm queue&lt;br /&gt;
*Inca&lt;br /&gt;
*Webserver&lt;br /&gt;
*Wiki&lt;br /&gt;
*Seattle&lt;br /&gt;
*Backup server&lt;br /&gt;
*File server&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Non-computer things to monitor==&lt;br /&gt;
*Cluster Room Temp&lt;br /&gt;
*CleanRoom temp probes&lt;br /&gt;
&lt;br /&gt;
==Things to Monitor==&lt;br /&gt;
*raid status (number of up drives)&lt;br /&gt;
*Hard drive space '''df'''&lt;br /&gt;
*memory usage&lt;br /&gt;
*load average&lt;br /&gt;
*temp (CPU, case, etc) '''lmsensors'''1&lt;br /&gt;
*CPU utilization&lt;br /&gt;
*fan speed/failure&lt;br /&gt;
&lt;br /&gt;
*ITRC&lt;br /&gt;
**number of connections (netstat?)&lt;br /&gt;
**Network I/O&lt;br /&gt;
**Individual process times&lt;/div&gt;</summary>
		<author><name>Buckminst</name></author>
	</entry>
	<entry>
		<id>https://wiki.iac.isu.edu/index.php?title=Monitoring_Server&amp;diff=29546</id>
		<title>Monitoring Server</title>
		<link rel="alternate" type="text/html" href="https://wiki.iac.isu.edu/index.php?title=Monitoring_Server&amp;diff=29546"/>
		<updated>2010-05-25T21:34:11Z</updated>

		<summary type="html">&lt;p&gt;Buckminst: /* Monitored Systems and Services */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The '''IAC monitoring server''' can be found at http://hal.iac.isu.edu/nagios3/&lt;br /&gt;
&lt;br /&gt;
=Monitored Systems and Services=&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ Systems and Services Currently Monitored&lt;br /&gt;
! System Name !! CPU Usage !! Current Load !! # Users !! DRBD !! Disk Space !! Heartbeat !! LDAP !! Memory !! # Network Connections !! Network I/O !! RAID !! SMART !! SSH !! # Processes !! HTTP !! MySQL !! Samba !! System Temperature !! PSU !! PING !! Other&lt;br /&gt;
|-&lt;br /&gt;
! Alan's Desktop&lt;br /&gt;
| {{no}} || {{no}} || {{no}} || {{no}} || {{no}}|| {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! brems.iac.isu.edu&lt;br /&gt;
| {{yes}} || {{yes}} || {{yes}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || Averaging Test, Cluster Room Temperatures&lt;br /&gt;
|-&lt;br /&gt;
! cleanroom.temperatures&lt;br /&gt;
| {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || Clean Room Temperatures&lt;br /&gt;
|-&lt;br /&gt;
! codex.iac.isu.edu&lt;br /&gt;
| {{yes}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! cornwall.iac.isu.edu&lt;br /&gt;
| {{yes}} || {{yes}} || {{yes}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! crick.iac.isu.edu&lt;br /&gt;
| {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{no}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! darwin.iac.isu.edu&lt;br /&gt;
| {{yes}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! devsource.iac.isu.edu&lt;br /&gt;
| {{yes}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! iac-gateway&lt;br /&gt;
| {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! inca.iac.isu.edu&lt;br /&gt;
| {{yes}} || {{yes}} || {{yes}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! license.iac.isu.edu&lt;br /&gt;
| {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! hal.iac.isu.edu&lt;br /&gt;
| {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! physics-gateway&lt;br /&gt;
| {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! seattle.iac.isu.edu&lt;br /&gt;
| {{yes}} || {{yes}} || {{yes}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! watson.iac.isu.edu&lt;br /&gt;
| {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{yes}} || {{no}} || {{no}}ne&lt;br /&gt;
|-&lt;br /&gt;
! wiki.iac.isu.edu&lt;br /&gt;
| {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{no}}ne&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Computers to Monitor==&lt;br /&gt;
*Brems&lt;br /&gt;
**Slave nodes&lt;br /&gt;
**Slurm queue&lt;br /&gt;
*Inca&lt;br /&gt;
*Webserver&lt;br /&gt;
*Wiki&lt;br /&gt;
*Seattle&lt;br /&gt;
*Backup server&lt;br /&gt;
*File server&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=={{no}}n-computer things to monitor==&lt;br /&gt;
*Cluster Room Temp&lt;br /&gt;
*CleanRoom temp probes&lt;br /&gt;
&lt;br /&gt;
==Things to Monitor==&lt;br /&gt;
*raid status (number of up drives)&lt;br /&gt;
*Hard drive space '''df'''&lt;br /&gt;
*memory usage&lt;br /&gt;
*load average&lt;br /&gt;
*temp (CPU, case, etc) '''lmsensors'''1&lt;br /&gt;
*CPU utilization&lt;br /&gt;
*fan speed/failure&lt;br /&gt;
&lt;br /&gt;
*ITRC&lt;br /&gt;
**number of connections (netstat?)&lt;br /&gt;
**Network I/O&lt;br /&gt;
**Individual process times&lt;/div&gt;</summary>
		<author><name>Buckminst</name></author>
	</entry>
	<entry>
		<id>https://wiki.iac.isu.edu/index.php?title=Template:No&amp;diff=51230</id>
		<title>Template:No</title>
		<link rel="alternate" type="text/html" href="https://wiki.iac.isu.edu/index.php?title=Template:No&amp;diff=51230"/>
		<updated>2010-05-25T21:31:09Z</updated>

		<summary type="html">&lt;p&gt;Buckminst: Created page with '&amp;lt;noinclude&amp;gt;{| class=&amp;quot;wikitable&amp;quot; |- |&amp;lt;/noinclude&amp;gt;style=&amp;quot;background:#ff9090; color:black; vertical-align: middle; text-align: {{{align|center}}}; {{{style|}}}&amp;quot; class=&amp;quot;table-no&amp;quot; | {...'&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;/noinclude&amp;gt;style=&amp;quot;background:#ff9090; color:black; vertical-align: middle; text-align: {{{align|center}}}; {{{style|}}}&amp;quot; class=&amp;quot;table-no&amp;quot; | {{{1|No}}}&amp;lt;noinclude&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
{{documentation}}&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Buckminst</name></author>
	</entry>
	<entry>
		<id>https://wiki.iac.isu.edu/index.php?title=Template:Yes&amp;diff=51229</id>
		<title>Template:Yes</title>
		<link rel="alternate" type="text/html" href="https://wiki.iac.isu.edu/index.php?title=Template:Yes&amp;diff=51229"/>
		<updated>2010-05-25T21:30:42Z</updated>

		<summary type="html">&lt;p&gt;Buckminst: Created page with '&amp;lt;noinclude&amp;gt;{| class=&amp;quot;wikitable&amp;quot; |- |&amp;lt;/noinclude&amp;gt;style=&amp;quot;background: #90ff90; color: black; vertical-align: middle; text-align: {{{align|center}}}; {{{style|}}}&amp;quot; class=&amp;quot;table-yes&amp;quot;|...'&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;/noinclude&amp;gt;style=&amp;quot;background: #90ff90; color: black; vertical-align: middle; text-align: {{{align|center}}}; {{{style|}}}&amp;quot; class=&amp;quot;table-yes&amp;quot;|{{{1|Yes}}}&amp;lt;noinclude&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
{{documentation}}&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Buckminst</name></author>
	</entry>
</feed>