<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Rick's Rants and Raves &#187; Genesys</title>
	<atom:link href="http://journal.nearbennett.com/category/genesys/feed/" rel="self" type="application/rss+xml" />
	<link>http://journal.nearbennett.com</link>
	<description>I was wondering "why is that Frisbee getting bigger?" And then it hit me.</description>
	<lastBuildDate>Wed, 28 Jul 2010 03:18:59 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Genesys Health Check Part Two-Agent Desktop</title>
		<link>http://journal.nearbennett.com/2008/08/01/genesys-health-check-part-two-agent-desktop/</link>
		<comments>http://journal.nearbennett.com/2008/08/01/genesys-health-check-part-two-agent-desktop/#comments</comments>
		<pubDate>Fri, 01 Aug 2008 18:32:32 +0000</pubDate>
		<dc:creator>Administrator</dc:creator>
				<category><![CDATA[Genesys]]></category>

		<guid isPermaLink="false">http://journal.nearbennett.com/2008/08/01/genesys-health-check-part-two-agent-desktop/</guid>
		<description><![CDATA[The second part of the Genesys health check involves smoke-testing GAD (Genesys Agent Desktop). This script requires wget to be in your path or in the same directory.
To customize for your location, just put the host:port for all the GAD servers in the SERVERS variable. This script will then spawn a new process for each [...]]]></description>
			<content:encoded><![CDATA[<p>The second part of the Genesys health check involves smoke-testing GAD (Genesys Agent Desktop). This script requires <a href="http://www.gnu.org/software/wget/">wget </a>to be in your path or in the same directory.<br />
To customize for your location, just put the host:port for all the GAD servers in the SERVERS variable. This script will then spawn a new process for each one and check:</p>
<ol>
<li>Administrative login</li>
<li>Count of users logged in</li>
<li>Verify user login is presented</li>
<li>Check GAD application status via a proprietary (to my company) widget which returns the application status. You&#8217;ll probably have to comment out the whole :check_status section.</li>
</ol>
<blockquote><p> @echo off<br />
REM Version 3.0<br />
REM This version is more complicated because it has been redesigned to run multi-threaded for its results.<br />
rem if we don&#8217;t have a command line being passed in, then we are the parent process</p>
<p>set result=%temp%\gad-healthcheck.txt<br />
set SERVERS=wpoh0010gengw01:10362 wpoh0010gengw02:10362 wpil0210gengw01:10362 wpil0210gengw02:10362 wpky0190gngad01:10100 wpky0190gngad01:10120 wpky0190gngad02:10100 wpky0190gngad02:10120 wpky0190gngad03:10100 wpky0190gngad03:10120 wpar0130gngad01:10100 wpar0130gngad01:10120 wpar0130gngad02:10100 wpar0130gngad02:10120 wpar0130gngad03:10100 wpar0130gngad03:10120</p>
<p>if .%1.==.. (<br />
if exist %result% del %result%<br />
echo Spawning individual threads&#8230;<br />
for %%j in (%SERVERS%) do start /min &#8220;%%j&#8221; %0 %%j<br />
rem check for the existence of the log files and wait until all processes are complete.<br />
ping localhost -n 5 &gt; nul<br />
echo.|set/p BLAH=Waiting for threads to complete<br />
:wait_here<br />
ping localhost -n 1 &gt; nul<br />
echo.|set/p BLAH=.<br />
if exist %temp%\gad-health-check-wp*.txt goto :wait_here<br />
type %temp%\gad-health-check-wpoh*.don &gt; %result% 2&gt;nul<br />
type %temp%\gad-health-check-wpil*.don &gt;&gt; %result% 2&gt;nul<br />
type %temp%\gad-health-check-wpar*.don &gt;&gt; %result% 2&gt;nul<br />
type %temp%\gad-health-check-wpky*.don &gt;&gt; %result% 2&gt;nul<br />
del %temp%\gad-health-check*.don<br />
if .%QUIETMODE%. NEQ .TRUE. start notepad %result%<br />
goto :eof<br />
)</p>
<p>rem if we got here, it is because another instance called us, and we&#8217;re our own thread, to work on a single server.</p>
<p>for /F &#8220;delims=: tokens=1,2&#8243; %%p in (&#8216;echo %1&#8242;) do call :_set_host_port %%p %%q<br />
set result=%temp%\gad-health-check-%host%-%port%.txt<br />
set LOG=%temp%\%host%-%port%-output.txt<br />
set tmp=%temp%\%host%-%port%-tmp.txt<br />
if exist %LOG% del %LOG%<br />
if exist %tmp% del %tmp%</p>
<p>echo.|set/P BLAH=&gt;%result%</p>
<p>echo.|set/P BLAH=Checking %1</p>
<p>echo.|set/p BLAH=%1 &gt;&gt;%result%</p>
<p>:admin_login<br />
echo.|set/P BLAH=admin<br />
wget &#8211;output-file=%LOG% &#8211;output-document=%tmp% &#8211;tries=1 &#8211;timeout=15 &#8220;http://%1/gdesktop/admin/mainpage.jsp?userName=dublin25&amp;userPassword=dublin25&#8243; &#8220;http://%1/gdesktop/admin/agentList.jsp&#8221;<br />
for /F %%m in (&#8216;findstr /c:&#8221;Available Links dublin25&#8243; %tmp%&#8217;) do echo.|set/p BLAH=Admin OK, &gt;&gt; %result%<br />
findstr /i &#8220;failed error&#8221; %LOG% &gt;&gt; %result%</p>
<p>:count_users<br />
echo.|set/P BLAH=user count<br />
for /F &#8220;tokens=9&#8243; %%j in (&#8216;find &#8220;Agents list     Nb&#8221; %tmp%&#8217;) do echo.|set/p BLAH=%%j users, &gt;&gt;%result%</p>
<p>:user_login<br />
echo.|set/P BLAH=user login<br />
wget &#8211;output-file=%LOG% &#8211;output-document=%tmp% &#8211;tries=1 &#8211;timeout=15 &#8220;http://%1/gdesktop/&#8221;<br />
for /F %%m in (&#8216;findstr /c:&#8221;" %tmp%&#8217;) do echo.|set/p BLAH=Agent OK, &gt;&gt; %result%<br />
findstr /i &#8220;failed error&#8221; %LOG% &gt;&gt; %result%</p>
<p>:check_status<br />
echo.|set/P BLAH=app status<br />
wget &#8211;output-file=%LOG% &#8211;output-document=%tmp% &#8211;tries=1 &#8211;timeout=15 &#8220;http://%1/gdesktop/JGenAppStatus?XmlAppStatusRequest=<usehttpstatuscode>false</usehttpstatuscode>&#8221;<br />
for /F &#8220;delims=&lt;&gt;(). tokens=6&#8243; %%k in (%tmp%) do echo.|set/P BLAH=%%k &gt;&gt; %result%<br />
findstr /i &#8220;failed error&#8221; %LOG% &gt;&gt; %result%<br />
echo done.<br />
echo.&gt;&gt; %result%</p>
<p>move %result% %result%.don<br />
exit</p>
<p>:_set_host_port<br />
set HOST=%1<br />
set PORT=%2<br />
goto :eof</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://journal.nearbennett.com/2008/08/01/genesys-health-check-part-two-agent-desktop/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Genesys Health Check Part One-SCS/SCI</title>
		<link>http://journal.nearbennett.com/2008/07/31/genesys-health-check-part-one-scssci/</link>
		<comments>http://journal.nearbennett.com/2008/07/31/genesys-health-check-part-one-scssci/#comments</comments>
		<pubDate>Thu, 31 Jul 2008 04:02:24 +0000</pubDate>
		<dc:creator>Administrator</dc:creator>
				<category><![CDATA[Genesys]]></category>

		<guid isPermaLink="false">http://journal.nearbennett.com/2008/07/31/genesys-health-check-part-one-scssci/</guid>
		<description><![CDATA[Every morning, we check SCI to make sure that all our applications are running, and that they haven&#8217;t failed over for some unexplained reason. Unfortunately there are a lot of applications to check, an this gets a bit tedious. We&#8217;ve had several times where the person responsible for checking missed the fact that an application [...]]]></description>
			<content:encoded><![CDATA[<p>Every morning, we check SCI to make sure that all our applications are running, and that they haven&#8217;t failed over for some unexplained reason. Unfortunately there are a lot of applications to check, an this gets a bit tedious. We&#8217;ve had several times where the person responsible for checking missed the fact that an application had failed.</p>
<p>So I wrote the following script to check current status of the applications against a list of &#8220;preferred states&#8221;. The biggest challenge I faced was that it isn&#8217;t particularly easy to get the current state of an application directly from the SCS logs. The only way I found: after someone logs into SCI, the SCS logs report a complete status check for all applications. So, support person must first login to SCI, then launch this script to check the logs against the preferred states list. In order to make use of this in your organization, you&#8217;ll need to set the LOG and APP variables. All the mentions of &#8220;CTS&#8221; in the script are references to one of our two Genesys environments. You can remove or change CTS to suite your implementation.</p>
<blockquote><p>@echo off</p>
<p>set NORMAL=cts-status-normal.txt<br />
set result=%temp%\cts-status-check.txt<br />
set LOG=\\wpoh0010genwf01\Logs\cts_dub_scs_pr</p>
<p>set APP=ctssci</p>
<p>echo For this utility to work proprerly, you must have logged in to SCI recently, and cts_dub_SCS_pr must be PRIMARY.<br />
echo If you have not done so, please log in to SCI now.<br />
echo.<br />
pause</p>
<p>:begin_here<br />
if exist %result% del %result%<br />
set FILE=%1<br />
if .%FILE%.==.. (<br />
rem if a file wasn&#8217;t passed in, see if we can find one<br />
for /f %%k in (&#8216;dir /b /on %LOG%&#8217;) do set FILE=%LOG%\%%k<br />
)<br />
echo Checking %FILE%<br />
copy /y &#8220;%FILE%&#8221; %TEMP%\cts-status-log.log<br />
set BAD=false<br />
echo Searching for SCI client connection ID<br />
for /f &#8220;delims== tokens=1-3&#8243; %%m in (&#8216;find /n &#8220;SC Interface &#8216;%APP%&#8217; connected&#8221; %TEMP%\cts-status-log.log&#8217;) do (<br />
set CLIENT=%%o<br />
for /f &#8220;delims=[]&#8221; %%t in (&#8216;echo %%m&#8217;) do set /a STARTLINE=%%t-1 2&gt;nul<br />
rem	echo %%m=%%n=%%o &gt;&gt; %result%<br />
)<br />
if .%CLIENT%.==.. (<br />
echo Could not find client connection. Did you lauch SCI first? &gt; %result%<br />
exit<br />
)<br />
echo Searching for application statuses<br />
if exist %temp%\cts-status-log2.log del %temp%\cts-status-log2.log<br />
for /F &#8220;tokens=* skip=%STARTLINE%&#8221; %%t in (%temP%\cts-status-log.log) do echo %%t &gt;&gt; %temp%\cts-status-log2.log<br />
find &#8220;SCI(%CLIENT%,ctssci)&#8221; %TEMP%\cts-status-log2.log &gt; %TEMP%\cts-status-log1.log</p>
<p>echo Comparing application statuses against known good list: %NORMAL%<br />
for /f &#8220;tokens=1-6 delims=(){}[]&#8221; %%i in (%TEMP%\cts-status-log1.log) do (<br />
rem	 echo %%i %%j %%k %%l 	%%n<br />
rem %%i &#8212; SCI<br />
rem %%j &#8212; nnn,sci where nnn is client id<br />
rem %%k &#8212; &lt; ==<br />
rem %%l &#8212; bbb, where bbb is dbid for app (I think)<br />
rem %%m &#8212; app_name<br />
rem %%n &#8212; app_status, mode<br />
if &#8220;%%k&#8221; == &#8221; &lt;== &#8221;  (<br />
rem 	echo &#8220;%%l} [%%m&#8221;<br />
rem	echo &#8220;%%k&#8221;<br />
find &#8220;%%l} [%%n&#8221; %NORMAL% &gt; nul<br />
if errorlevel 1 (<br />
echo %%l %%n IS WRONG<br />
echo %%l %%n IS WRONG &gt;&gt; %result%<br />
set BAD=true<br />
)<br />
)<br />
)</p>
<p>if not exist %result% echo No application status problems detected &gt; %result%</p>
<p>start notepad %result%</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://journal.nearbennett.com/2008/07/31/genesys-health-check-part-one-scssci/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Genesys Tserver Textpad Syntax File</title>
		<link>http://journal.nearbennett.com/2008/02/29/genesys-tserver-textpad-syntax-file/</link>
		<comments>http://journal.nearbennett.com/2008/02/29/genesys-tserver-textpad-syntax-file/#comments</comments>
		<pubDate>Sat, 01 Mar 2008 02:55:24 +0000</pubDate>
		<dc:creator>Administrator</dc:creator>
				<category><![CDATA[Genesys]]></category>

		<guid isPermaLink="false">http://journal.nearbennett.com/2008/02/29/genesys-tserver-textpad-syntax-file/</guid>
		<description><![CDATA[I got tserver-log.syn from an instructor in one of the classes I took at Genesys. It is a Syntax file for use with TextPad, so that keywords will be highlighted while reading Tserver and other log files. It helps a bit reading the nastiness, but not as much as Kazimir.
To install tserver-log.syn, download it to [...]]]></description>
			<content:encoded><![CDATA[<p>I got <a href="http://journal.nearbennett.com/tserver-log.syn">tserver-log.syn</a> from an instructor in one of the classes I took at Genesys. It is a Syntax file for use with TextPad, so that keywords will be highlighted while reading Tserver and other log files. It helps a bit reading the nastiness, but not as much as Kazimir.</p>
<p>To install tserver-log.syn, download it to your C:\Program Files\TextPad 4\system directory.<br />
Start TextPad.<br />
On the Configure menu, choose New Document Class.<br />
Type a name like &#8220;Log Files&#8221;, and click Next.<br />
For class members, type &#8220;*.log&#8221;, and click Next.<br />
Next, check &#8220;Enable syntax highlighting&#8221;, and select tserver-log.syn from the list of Syntax definition files.</p>
<p>If you want, you can customize some of the behavior for the syntax highlighting by choosing Preferences from the Configure menu. Expand Document Classes in the left pane to find your new document class.</p>
<p>Update Feb 3 2009:</p>
<p>I&#8217;ve finally figured out where to <a href="https://genesyslab.com/support/dl/retrieve/default.asp?item=B1BBC8CACCCED0C2D4C6D826519FE719&amp;view=item">get Kazimir from Genesys directly</a>: log in, then click Continue, then the download should start. If you don&#8217;t have access to it from Genesys, you can <a href="http://journal.nearbennett.com/kazimir.zip">download it from me</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://journal.nearbennett.com/2008/02/29/genesys-tserver-textpad-syntax-file/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
