<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>TomsBlog</title>
    <link>http://www.toms-blog.com/tags/f5/index.xml</link>
    <description>Recent content on TomsBlog</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en-uk</language>
    <atom:link href="http://www.toms-blog.com/tags/f5/index.xml" rel="self" type="application/rss+xml" />
    
    <item>
      <title>F5 LTM virtual server Nagios health performance check</title>
      <link>http://www.toms-blog.com/post/f5-ltm-virtual-server-health-performance-check/</link>
      <pubDate>Tue, 11 Dec 2012 18:42:01 +0000</pubDate>
      
      <guid>http://www.toms-blog.com/post/f5-ltm-virtual-server-health-performance-check/</guid>
      <description>

&lt;p&gt;A plugin for nagios to check the state of virtual servers on an LTM as well as creating Performance Data output on the amount of connections to each Virtual Server.  The plugin is written in PHP and uses SNMP to gather the statuses of each Virtual Server. The plugin currently only supports SNMPv2 and has been tested on Big-IP 10.2 only but should work with other version of Big-IP.&lt;/p&gt;

&lt;p&gt;You can get the plugin from here:&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://github.com/thomasweaver/check_ltm_vs&#34;&gt;https://github.com/thomasweaver/check_ltm_vs&lt;/a&gt;&lt;/p&gt;

&lt;h2 id=&#34;help&#34;&gt;Help&lt;/h2&gt;

&lt;div class=&#34;highlight&#34; style=&#34;background: #f0f3f3&#34;&gt;&lt;pre style=&#34;line-height: 125%&#34;&gt;&lt;span&gt;&lt;/span&gt;This performs an SNMP lookup against an LTM and &lt;span style=&#34;color: #006699; font-weight: bold&#34;&gt;then&lt;/span&gt; check all Virtual Servers are OK and outputs current client connections as nagios PerfData

Required Values:

	-H Host address

	-C SNMP Community string
 
Optional Values:

	-t Timeout. Number of microseconds &lt;span style=&#34;color: #006699; font-weight: bold&#34;&gt;until&lt;/span&gt; first timeout

	-r Number of retries

	-e Exceptions. Value is a comma sperated string of exceptions not to check.

	-d Disabled Exceptions. Don&lt;span style=&#34;color: #AA0000; background-color: #FFAAAA&#34;&gt;&amp;#39;&lt;/span&gt;t check whether the provided virtual servers are disabled. Comma Seperated
 
./check_ltm_vs.php -H IPADDRESS -c COMMUNITYSTRING -e vs_virtualserver1,vs_virtualserver2 -d vs_virtualserver1,vs_virtualserver2
&lt;/pre&gt;&lt;/div&gt;


&lt;h2 id=&#34;example&#34;&gt;Example&lt;/h2&gt;

&lt;div class=&#34;highlight&#34; style=&#34;background: #f0f3f3&#34;&gt;&lt;pre style=&#34;line-height: 125%&#34;&gt;&lt;span&gt;&lt;/span&gt;./check_ltm_vs.php -H 192.168.0.1 -C public -d virtualserver1,virtualserver2 -e virtualserver3,virtualserver4 -r 2
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;The example above will check virtual servers on 192.168.0.1 using Community String public. But will exclude virtualserver3 and virtualserver4 from any checks. It will not check whether virtual servers virtualserver1 and virtualserver2 are enabled but will check that there health state is ok. It will also only try and contact the LTM twice.&lt;/p&gt;

&lt;p&gt;The plugin outputs performance data of the virtual servers it checks example out is below:&lt;/p&gt;

&lt;div class=&#34;highlight&#34; style=&#34;background: #f0f3f3&#34;&gt;&lt;pre style=&#34;line-height: 125%&#34;&gt;&lt;span&gt;&lt;/span&gt;OK : &lt;span style=&#34;color: #FF6600&#34;&gt;4&lt;/span&gt; Virtual Servers OK | &lt;span style=&#34;color: #003333&#34;&gt;virtualserver1&lt;/span&gt;&lt;span style=&#34;color: #555555&#34;&gt;=&lt;/span&gt;98;;; &lt;span style=&#34;color: #003333&#34;&gt;virtualserver2&lt;/span&gt;&lt;span style=&#34;color: #555555&#34;&gt;=&lt;/span&gt;23;;; &lt;span style=&#34;color: #003333&#34;&gt;virtualserver3&lt;/span&gt;&lt;span style=&#34;color: #555555&#34;&gt;=&lt;/span&gt;10;;; virtualserver4;;;
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;Example of a check where the health state of a virtual server is unknown:&lt;/p&gt;

&lt;div class=&#34;highlight&#34; style=&#34;background: #f0f3f3&#34;&gt;&lt;pre style=&#34;line-height: 125%&#34;&gt;&lt;span&gt;&lt;/span&gt;WARNING : virtualserver1, &lt;span style=&#34;color: #FF6600&#34;&gt;90&lt;/span&gt; Virtual Servers OK
&lt;/pre&gt;&lt;/div&gt;

</description>
    </item>
    
    <item>
      <title>F5 iControl script for GTM</title>
      <link>http://www.toms-blog.com/post/f5-icontrol-script-for-gtm/</link>
      <pubDate>Tue, 20 Mar 2012 20:23:58 +0000</pubDate>
      
      <guid>http://www.toms-blog.com/post/f5-icontrol-script-for-gtm/</guid>
      <description>&lt;p&gt;iControl is an inbuilt API to F5 devices which can be used to view and make configuration changes.
Most of the documentation is for LTMs (Local Traffic Manager) but the PowerShell script below will use iControl on a GTM (Gloabl Traffic Manager) to loop through all pool members and see if any are disabled, if any are disabled it will send an email stating which members are disabled.&lt;/p&gt;

&lt;p&gt;To run this script you must first have the iControl PowerShell Script Snapin installed.&lt;/p&gt;

&lt;p&gt;It can be installed from this link below:&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://devcentral.f5.com/Community/GroupDetails/tabid/1082223/asg/3/aff/2107/showtab/groupforums/Default.aspx&#34;&gt;https://devcentral.f5.com/Community/GroupDetails/tabid/1082223/asg/3/aff/2107/showtab/groupforums/Default.aspx&lt;/a&gt;&lt;/p&gt;

&lt;div class=&#34;highlight&#34; style=&#34;background: #f0f3f3&#34;&gt;&lt;pre style=&#34;line-height: 125%&#34;&gt;&lt;span&gt;&lt;/span&gt;&lt;span style=&#34;color: #0099FF; font-style: italic&#34;&gt;#---------define Functions----------&lt;/span&gt;

&lt;span style=&#34;color: #0099FF; font-style: italic&#34;&gt;###############################################################&lt;/span&gt;
&lt;span style=&#34;color: #0099FF; font-style: italic&#34;&gt;# GetPools() #&lt;/span&gt;
&lt;span style=&#34;color: #0099FF; font-style: italic&#34;&gt;# Gets an array of pools from the GTM.&lt;/span&gt;
&lt;span style=&#34;color: #0099FF; font-style: italic&#34;&gt;# The F5 must be initialized before calling this script. #&lt;/span&gt;
&lt;span style=&#34;color: #0099FF; font-style: italic&#34;&gt;# $return string[]&lt;/span&gt;
&lt;span style=&#34;color: #0099FF; font-style: italic&#34;&gt;###############################################################&lt;/span&gt;

&lt;span style=&#34;color: #006699; font-weight: bold&#34;&gt;function&lt;/span&gt; GetPools() {
	&lt;span style=&#34;color: #003333&#34;&gt;$list&lt;/span&gt; = (&lt;span style=&#34;color: #336666&#34;&gt;Get-F5&lt;/span&gt;.iControl).GlobalLBPool.get_list();
	&lt;span style=&#34;color: #006699; font-weight: bold&#34;&gt;return&lt;/span&gt; &lt;span style=&#34;color: #003333&#34;&gt;$list&lt;/span&gt;;
}

&lt;span style=&#34;color: #0099FF; font-style: italic&#34;&gt;###############################################################&lt;/span&gt;
&lt;span style=&#34;color: #0099FF; font-style: italic&#34;&gt;# GetMembers() #&lt;/span&gt;
&lt;span style=&#34;color: #0099FF; font-style: italic&#34;&gt;# Gets the Members in the Pool provided and returns an Array of Members #&lt;/span&gt;
&lt;span style=&#34;color: #0099FF; font-style: italic&#34;&gt;# @param string $Pool Name of the Pool to get Members&lt;/span&gt;
&lt;span style=&#34;color: #0099FF; font-style: italic&#34;&gt;# @return iControl.CommonIPPortDefinition[] #&lt;/span&gt;
&lt;span style=&#34;color: #0099FF; font-style: italic&#34;&gt;###############################################################&lt;/span&gt;

&lt;span style=&#34;color: #006699; font-weight: bold&#34;&gt;function&lt;/span&gt; GetMembers() {
	&lt;span style=&#34;color: #006699; font-weight: bold&#34;&gt;param&lt;/span&gt;(&lt;span style=&#34;color: #336600&#34;&gt;[string]&lt;/span&gt;&lt;span style=&#34;color: #003333&#34;&gt;$Pool&lt;/span&gt;);
	&lt;span style=&#34;color: #003333&#34;&gt;$Members&lt;/span&gt; = (&lt;span style=&#34;color: #336666&#34;&gt;get-f5&lt;/span&gt;.icontrol).GlobalLBPool.get_member((,&lt;span style=&#34;color: #003333&#34;&gt;$Pool&lt;/span&gt;));

	&lt;span style=&#34;color: #003333&#34;&gt;$MemberA&lt;/span&gt; = &lt;span style=&#34;color: #003333&#34;&gt;$Members&lt;/span&gt;[0]; &lt;span style=&#34;color: #006699; font-weight: bold&#34;&gt;return&lt;/span&gt; &lt;span style=&#34;color: #003333&#34;&gt;$MemberA&lt;/span&gt;;
}

&lt;span style=&#34;color: #0099FF; font-style: italic&#34;&gt;###############################################################&lt;/span&gt;
&lt;span style=&#34;color: #0099FF; font-style: italic&#34;&gt;# GetMemberState() #&lt;/span&gt;
&lt;span style=&#34;color: #0099FF; font-style: italic&#34;&gt;# Pass in a member. Then it receives the state of that member. #&lt;/span&gt;
&lt;span style=&#34;color: #0099FF; font-style: italic&#34;&gt;# @param iControl.CommonIPPortDefinition[] Member, string Pool&lt;/span&gt;
&lt;span style=&#34;color: #0099FF; font-style: italic&#34;&gt;# @return string #&lt;/span&gt;
&lt;span style=&#34;color: #0099FF; font-style: italic&#34;&gt;###############################################################&lt;/span&gt;

&lt;span style=&#34;color: #006699; font-weight: bold&#34;&gt;function&lt;/span&gt; GetMemberState() {
&lt;span style=&#34;color: #006699; font-weight: bold&#34;&gt;param&lt;/span&gt;(&lt;span style=&#34;color: #336600&#34;&gt;[iControl.CommonIPPortDefinition[]]&lt;/span&gt;&lt;span style=&#34;color: #003333&#34;&gt;$Member&lt;/span&gt;, &lt;span style=&#34;color: #336600&#34;&gt;[string]&lt;/span&gt;&lt;span style=&#34;color: #003333&#34;&gt;$Pool&lt;/span&gt;);

	&lt;span style=&#34;color: #003333&#34;&gt;$PoolA&lt;/span&gt; = (, &lt;span style=&#34;color: #003333&#34;&gt;$Pool&lt;/span&gt;); &lt;span style=&#34;color: #0099FF; font-style: italic&#34;&gt;#Set Pool [iControl.CommonIPPortDefinition[][]]&lt;/span&gt;
	&lt;span style=&#34;color: #003333&#34;&gt;$MemberAofA&lt;/span&gt; = &lt;span style=&#34;color: #336600&#34;&gt;[iControl.CommonIPPortDefinition[][]]&lt;/span&gt;(, &lt;span style=&#34;color: #003333&#34;&gt;$Member&lt;/span&gt;); &lt;span style=&#34;color: #0099FF; font-style: italic&#34;&gt;#Set Object F5 is expecting&lt;/span&gt;
	&lt;span style=&#34;color: #003333&#34;&gt;$EnabledStateAofA&lt;/span&gt; = (&lt;span style=&#34;color: #336666&#34;&gt;Get-F5&lt;/span&gt;.iControl).GlobalLBPoolMember.get_enabled_state(&lt;span style=&#34;color: #003333&#34;&gt;$PoolA&lt;/span&gt;, &lt;span style=&#34;color: #003333&#34;&gt;$MemberAofA&lt;/span&gt;)
	&lt;span style=&#34;color: #003333&#34;&gt;$EnabledStateA&lt;/span&gt; = &lt;span style=&#34;color: #003333&#34;&gt;$EnabledStateAofA&lt;/span&gt;[0]; &lt;span style=&#34;color: #0099FF; font-style: italic&#34;&gt;#Get first object value&lt;/span&gt;

	&lt;span style=&#34;color: #006699; font-weight: bold&#34;&gt;foreach&lt;/span&gt;(&lt;span style=&#34;color: #003333&#34;&gt;$EnabledState&lt;/span&gt; &lt;span style=&#34;color: #006699; font-weight: bold&#34;&gt;in&lt;/span&gt; &lt;span style=&#34;color: #003333&#34;&gt;$EnabledStateA&lt;/span&gt;) {
		&lt;span style=&#34;color: #003333&#34;&gt;$state&lt;/span&gt; = &lt;span style=&#34;color: #003333&#34;&gt;$EnabledState&lt;/span&gt;.state; &lt;span style=&#34;color: #0099FF; font-style: italic&#34;&gt;#loop through Memers and get State&lt;/span&gt;
	}
	&lt;span style=&#34;color: #006699; font-weight: bold&#34;&gt;return&lt;/span&gt; &lt;span style=&#34;color: #336600&#34;&gt;[string]&lt;/span&gt;&lt;span style=&#34;color: #003333&#34;&gt;$state&lt;/span&gt; &lt;span style=&#34;color: #0099FF; font-style: italic&#34;&gt;#return the state of the member passed in&lt;/span&gt;
}

&lt;span style=&#34;color: #0099FF; font-style: italic&#34;&gt;#-----------Main Application-------------&lt;/span&gt;

&lt;span style=&#34;color: #003333&#34;&gt;$SnapinSet&lt;/span&gt; = &lt;span style=&#34;color: #336666&#34;&gt;Get-PSSnapin&lt;/span&gt; | &lt;span style=&#34;color: #336666&#34;&gt;select-string&lt;/span&gt; -Quiet -Pattern &lt;span style=&#34;color: #CC3300&#34;&gt;&amp;quot;iControlSnapin&amp;quot;&lt;/span&gt;

&lt;span style=&#34;color: #006699; font-weight: bold&#34;&gt;if&lt;/span&gt;(!&lt;span style=&#34;color: #003333&#34;&gt;$SnapinSet&lt;/span&gt;) { &lt;span style=&#34;color: #0099FF; font-style: italic&#34;&gt;#check to see iControlSnapin has been added&lt;/span&gt;
	&lt;span style=&#34;color: #0099FF; font-style: italic&#34;&gt;#if it hasn&amp;#39;t been added then add it&lt;/span&gt;
	&lt;span style=&#34;color: #336666&#34;&gt;Add-PSSnapin&lt;/span&gt; iControlSnapin
}

&lt;span style=&#34;color: #0099FF; font-style: italic&#34;&gt;#attempt to initilize connection to the correct IP&lt;/span&gt;
&lt;span style=&#34;color: #006699; font-weight: bold&#34;&gt;if&lt;/span&gt;(Initialize-f5.icontrol -hostname 1.1.1.1 -Username username -password password) {
	&lt;span style=&#34;color: #336666&#34;&gt;start-transcript&lt;/span&gt; -Path &lt;span style=&#34;color: #CC3300&#34;&gt;&amp;quot;Log.txt&amp;quot;&lt;/span&gt; -Append -Force &lt;span style=&#34;color: #0099FF; font-style: italic&#34;&gt;#log output&lt;/span&gt;

	&lt;span style=&#34;color: #003333&#34;&gt;$Pools&lt;/span&gt; = GetPools

	&lt;span style=&#34;color: #003333&#34;&gt;$DisabledState&lt;/span&gt; = &lt;span style=&#34;color: #003333&#34;&gt;$FALSE&lt;/span&gt;
          &lt;span style=&#34;color: #003333&#34;&gt;$DisabledNodes&lt;/span&gt; = @()

	&lt;span style=&#34;color: #006699; font-weight: bold&#34;&gt;foreach&lt;/span&gt;(&lt;span style=&#34;color: #003333&#34;&gt;$Pool&lt;/span&gt; &lt;span style=&#34;color: #006699; font-weight: bold&#34;&gt;in&lt;/span&gt; &lt;span style=&#34;color: #003333&#34;&gt;$Pools&lt;/span&gt;) &lt;span style=&#34;color: #0099FF; font-style: italic&#34;&gt;#loop through pools {&lt;/span&gt;
		&lt;span style=&#34;color: #003333&#34;&gt;$Pool&lt;/span&gt; = &lt;span style=&#34;color: #336600&#34;&gt;[string]&lt;/span&gt;&lt;span style=&#34;color: #003333&#34;&gt;$Pool&lt;/span&gt;

		&lt;span style=&#34;color: #003333&#34;&gt;$Members&lt;/span&gt; = GetMembers -Pool &lt;span style=&#34;color: #003333&#34;&gt;$Pool&lt;/span&gt;

		&lt;span style=&#34;color: #0099FF; font-style: italic&#34;&gt;#loop through members in a pool&lt;/span&gt;
		&lt;span style=&#34;color: #006699; font-weight: bold&#34;&gt;foreach&lt;/span&gt;(&lt;span style=&#34;color: #003333&#34;&gt;$Mem&lt;/span&gt; &lt;span style=&#34;color: #006699; font-weight: bold&#34;&gt;in&lt;/span&gt; &lt;span style=&#34;color: #003333&#34;&gt;$Members&lt;/span&gt;) {
			&lt;span style=&#34;color: #003333&#34;&gt;$addr&lt;/span&gt; = &lt;span style=&#34;color: #003333&#34;&gt;$Mem&lt;/span&gt;.member.address;
			&lt;span style=&#34;color: #003333&#34;&gt;$port&lt;/span&gt; = &lt;span style=&#34;color: #003333&#34;&gt;$Mem&lt;/span&gt;.member.port;

			&lt;span style=&#34;color: #003333&#34;&gt;$MemberDef&lt;/span&gt; = &lt;span style=&#34;color: #336666&#34;&gt;New-Object&lt;/span&gt; -TypeName iControl.CommonIPPortDefinition;
			&lt;span style=&#34;color: #0099FF; font-style: italic&#34;&gt;#set object&lt;/span&gt;
			&lt;span style=&#34;color: #003333&#34;&gt;$MemberDef&lt;/span&gt;.address = &lt;span style=&#34;color: #003333&#34;&gt;$addr&lt;/span&gt;
			&lt;span style=&#34;color: #003333&#34;&gt;$MemberDef&lt;/span&gt;.port = &lt;span style=&#34;color: #003333&#34;&gt;$port&lt;/span&gt;
			&lt;span style=&#34;color: #336600&#34;&gt;[iControl.CommonIPPortDefinition[]]&lt;/span&gt;&lt;span style=&#34;color: #003333&#34;&gt;$MembersA&lt;/span&gt; = &lt;span style=&#34;color: #336600&#34;&gt;[iControl.CommonIPPortDefinition[]]&lt;/span&gt;(, &lt;span style=&#34;color: #003333&#34;&gt;$MemberDef&lt;/span&gt;)
			&lt;span style=&#34;color: #003333&#34;&gt;$state&lt;/span&gt; = GetMemberState -Member &lt;span style=&#34;color: #003333&#34;&gt;$MembersA&lt;/span&gt; -Pool &lt;span style=&#34;color: #003333&#34;&gt;$Pool&lt;/span&gt;
			&lt;span style=&#34;color: #0099FF; font-style: italic&#34;&gt;#get state of the member&lt;/span&gt;
			&lt;span style=&#34;color: #006699; font-weight: bold&#34;&gt;if&lt;/span&gt;(&lt;span style=&#34;color: #003333&#34;&gt;$state&lt;/span&gt; &lt;span style=&#34;color: #555555&#34;&gt;-eq&lt;/span&gt; &lt;span style=&#34;color: #CC3300&#34;&gt;&amp;quot;STATE_DISABLED&amp;quot;&lt;/span&gt;) {
				&lt;span style=&#34;color: #0099FF; font-style: italic&#34;&gt;#if member is disabled add it to the output to send in an email&lt;/span&gt;
				&lt;span style=&#34;color: #003333&#34;&gt;$Node&lt;/span&gt; = &lt;span style=&#34;color: #CC3300&#34;&gt;&amp;quot;${addr}:${port}&amp;quot;&lt;/span&gt;
				&lt;span style=&#34;color: #003333&#34;&gt;$DisabledNodes&lt;/span&gt; += &lt;span style=&#34;color: #CC3300&#34;&gt;&amp;quot;$Pool -&amp;gt; $Node&amp;quot;&lt;/span&gt;
				&lt;span style=&#34;color: #003333&#34;&gt;$DisabledState&lt;/span&gt; = &lt;span style=&#34;color: #003333&#34;&gt;$TRUE&lt;/span&gt;
			}
		}
	}

	&lt;span style=&#34;color: #006699; font-weight: bold&#34;&gt;if&lt;/span&gt;(&lt;span style=&#34;color: #003333&#34;&gt;$DisabledState&lt;/span&gt;) {
		&lt;span style=&#34;color: #0099FF; font-style: italic&#34;&gt;#if a disabled member has been found&lt;/span&gt;
		&lt;span style=&#34;color: #003333&#34;&gt;$Content&lt;/span&gt; = &lt;span style=&#34;color: #CC3300&#34;&gt;&amp;quot;The following nodes are disabled:&amp;quot;&lt;/span&gt;
		&lt;span style=&#34;color: #336666&#34;&gt;write-host&lt;/span&gt; &lt;span style=&#34;color: #CC3300&#34;&gt;&amp;quot;the following are disabled&amp;quot;&lt;/span&gt;

		&lt;span style=&#34;color: #006699; font-weight: bold&#34;&gt;foreach&lt;/span&gt;(&lt;span style=&#34;color: #003333&#34;&gt;$Node&lt;/span&gt; &lt;span style=&#34;color: #006699; font-weight: bold&#34;&gt;in&lt;/span&gt; &lt;span style=&#34;color: #003333&#34;&gt;$DisabledNodes&lt;/span&gt;) {
			&lt;span style=&#34;color: #336666&#34;&gt;write-host&lt;/span&gt; &lt;span style=&#34;color: #003333&#34;&gt;$Node&lt;/span&gt; &lt;span style=&#34;color: #003333&#34;&gt;$Content&lt;/span&gt; += &lt;span style=&#34;color: #CC3300&#34;&gt;&amp;quot;$Node &amp;quot;&lt;/span&gt; &lt;span style=&#34;color: #0099FF; font-style: italic&#34;&gt;#create html content to send in an email&lt;/span&gt;
		}

		&lt;span style=&#34;color: #0099FF; font-style: italic&#34;&gt;#send email&lt;/span&gt;
		&lt;span style=&#34;color: #336666&#34;&gt;Send-MailMessage&lt;/span&gt; -To &lt;span style=&#34;color: #CC3300&#34;&gt;&amp;quot;&amp;lt;a href=&amp;quot;&lt;/span&gt;mailto&lt;span style=&#34;color: #AA0000; background-color: #FFAAAA&#34;&gt;:&lt;/span&gt;to&lt;span style=&#34;color: #003333&#34;&gt;@example&lt;/span&gt;.com&lt;span style=&#34;color: #CC3300&#34;&gt;&amp;quot;&amp;gt;to@example.com&amp;lt;/a&amp;gt;&amp;quot;&lt;/span&gt; -From &lt;span style=&#34;color: #CC3300&#34;&gt;&amp;quot;&amp;lt;a href=&amp;quot;&lt;/span&gt;mailto&lt;span style=&#34;color: #AA0000; background-color: #FFAAAA&#34;&gt;:&lt;/span&gt;from&lt;span style=&#34;color: #003333&#34;&gt;@example&lt;/span&gt;.com&lt;span style=&#34;color: #CC3300&#34;&gt;&amp;quot;&amp;gt;from@example.com&amp;lt;/a&amp;gt;&amp;quot;&lt;/span&gt; -subject &lt;span style=&#34;color: #CC3300&#34;&gt;&amp;quot;Nodes Disabled In GTM&amp;quot;&lt;/span&gt; -body &lt;span style=&#34;color: #CC3300&#34;&gt;&amp;quot;$Content&amp;quot;&lt;/span&gt; -bodyashtml -smtpServer 1.1.1.1

	}
	&lt;span style=&#34;color: #336666&#34;&gt;stop-transcript&lt;/span&gt; &lt;span style=&#34;color: #0099FF; font-style: italic&#34;&gt;#stop logging&lt;/span&gt;
}
&lt;span style=&#34;color: #006699; font-weight: bold&#34;&gt;else&lt;/span&gt; {
	&lt;span style=&#34;color: #336666&#34;&gt;write-host&lt;/span&gt; &lt;span style=&#34;color: #CC3300&#34;&gt;&amp;quot;Critical Error Has Occurred. Cannot Initialize iControl&amp;quot;&lt;/span&gt; &lt;span style=&#34;color: #0099FF; font-style: italic&#34;&gt;#if connection to F5 fails produce error&lt;/span&gt;
}
&lt;/pre&gt;&lt;/div&gt;

</description>
    </item>
    
  </channel>
</rss>