One of the things that started to annoy me when using FireFox was that it seemed to only allow meI to do 6 downloads from a site at a time. I would click on 6 downloads and they would all start, but when I click the 7th link, it would sit there until one of the previous downloads completed.
So after some digging I found that this is actually quite simple.
1. In the address bar type about:config. This will list all the possible configuration options with FireFox. Be Careful! 2. In the filter type http.max 3. Double click on the network.http.max-persistent-connections-per-server. This will display the Enter Integer Value dialog box. 4. Set the value to whatever new value you want. 5. Press OK to set the value
FireFox does not need to be restarted for this value to be set.
I would not set this number too high as it could slow down the overall speed of the download. I set it to 10 as there were 10 files I needed to download and I did not want to wait for one to finish before I started the next. I just wanted to click and walk away and come back in an hour :)
If you need to deploy the SQL Server agents, one of the items prompted for is the SQL Server Version. Most of us know the SQL Server by the year it was released as in SQL Server 2000, 2005 or 2008, but it is not the version number. (Version 2000 of SQL Server would be a rock-solid SQL Server, wouldn't it? :)).
Here is how to identify the version. Connect to the database server in question using Query Analyzer or SQL Server Management Studio and run the following SQL.
SELECT SERVERPROPERTY('productversion')
The above query on SQL 2005 returned 9.00.3042.00 and your result may vary depending on the Service Pack level. Generally speaking, SQL Server 2000 is version 8.x, 2005 is version 9.x and 2008 is version 10.x.
I finally had a chance to try an install on RH 5 x64 since it is now supported in 4.3.1. I have done some installs on Windows and RH 4 i386 and had no issues, but the 64 bit threw a couple problems.
1. The setup_linux_intel.bin file did not handle x64. When you ran the script the message "OS not supported" would be displayed. To correct this problem look for the case statement "case `uname -m` in" under this there is not a check for a return of 64 bit. So I modified the case to look like:
case `uname -m` in *86) FRESH='setup_linux_intel.bin' ;; *64) FRESH='setup_linux_intel.bin' ;; *390*) FRESH='setup_linux_390.bin' ;; *) echo "OS not supported." exit 1 ;; esac
Once this was done, the installer would start.
2. With the setup_linux_intel.bin fixed I was now getting the message "The installer is unable to run in graphical mode. Try running the installer with the -console or -silent flag". I made sure I had all the prereqs according to the doc, but still nothing. So after some playing around, I found out that I was missing the libraries libXmu-1.0.2-5.i386.rpm and libXp-1.0.0-8.1.e15.i386.rpm. The 64bit versions were there but not the 32 bit.
Hopefully this saves someone some grief if they need to install on RH5 x64.
It happened to me and it could happen to you too! The first time Tivoli Portal Java Web Start Client is launched, it creates a desktop shortcut. When you use the shortcut for subsequent portal use, the TEPS Client "Unable to launch application" error.
The error may happen on systems where IBM Java is not installed as System JVM and the TEPS shortcut points to the javaws.exe under C:\Windows\System32 and NOT the one under C:\Program Files\IBM.
The simplest way to correct the issue is to create a new desktop shortcut manually to point to the javaws.exe under C:\Program Files\IBM\JAVA50\jre\bin. When you do that, Java Webstart will prompt you to select the application every time by bringing up "Application Cache Viewer".
To skip this step, simply copy the command line argument to the javaws.exe from old shortcut to the new shortcut. You can get the argument to javaws.exe by right clicking the old shortcut -> go to Properties->Target.
Here is an example SQL statement you can use in a query to pull real-time NT Logical Disk data from all of the agents that have been added to the "MYWIN" Managed System List:
SELECT ORIGINNODE,TIMESTAMP,INSTCNAME,PCUSED FROM KNT.WTLOGCLDSK AT ("HUB_ITMSERVER") WHERE SYSTEM.PARMA("NODELIST", "MYWIN",5 )
In this statement, "HUB_ITMSERVER" is the label (not the hostname) of the TEMS the agents are connected to, "MYWIN" is the MSL name, and the "5" is simply the length of the string "MYWIN".
To find other available table names, the easiest way is to look in the agent application support SQL files on the TEMS.
ITM Event Synchronization (aka SUF, Situation Update Forwarder, SitForwarder) with Omnibus is mainly straightforward, but there are a couple of things to look out for.
Setting the logLevel
The 3 available logging levels in C:\IBM\SitForwarder\etc\situpdate.conf are:
low med verbose
Where the Logfile is Created
The default log file is in the Omnibus log directory, HOWEVER, the tracing log file is in:
C:\tmp\itmsynch\logs
This is where you'll see more information if you increase the logging level - NOT in the default log.
What to Look for in the Log
If event updates are correctly being sent back to ITM (for example, when you acknowledge an ITM event from the AEL in Omnibus), the following is an example of what you should see in the log file (with logLevel=verbose):
2009.06.03 16:24:09.703-04:00 com.tivoli.candlenet.SituationUpdateForwarder formatEvent IBM Tivoli Monitoring TEC Synchronization netcoolserver.gulfsoft.com IP Entry, parm 1 = op=a,sn=NT_Invalid_Logon_Attempt,sh=webappprod,sv=itmserver.gulfsoft.com:,et=,di=SYSTEM
2009.06.03 16:24:09.703-04:00 com.tivoli.candlenet.SituationUpdateForwarder formatEvent IBM Tivoli Monitoring TEC Synchronization netcoolserver.gulfsoft.com IP Number of tokens is 6
2009.06.03 16:24:09.703-04:00 com.tivoli.candlenet.SituationUpdateForwarder formatEvent IBM Tivoli Monitoring TEC Synchronization netcoolserver.gulfsoft.com IP Display item token is SYSTEM
2009.06.03 16:24:09.703-04:00 com.tivoli.candlenet.SituationUpdateForwarder formatEvent IBM Tivoli Monitoring TEC Synchronization netcoolserver.gulfsoft.com IP SOAP string: sysadminxxxxxNT_Invalid_Logon_Attemptwebappprod
2009.06.03 16:24:09.703-04:00 com.tivoli.candlenet.SituationUpdateForwarder formatEvent IBM Tivoli Monitoring TEC Synchronization netcoolserver.gulfsoft.com IP Exit, return value = sysadminxxxxxNT_Invalid_Logon_Attemptwebappprod
2009.06.03 16:24:09.703-04:00 com.tivoli.candlenet.SituationUpdateForwarder getServerUrlConnection IBM Tivoli Monitoring TEC Synchronization netcoolserver.gulfsoft.com IP Entry, parm 1 = op=a,sn=NT_Invalid_Logon_Attempt,sh=webappprod,sv=itmserver.gulfsoft.com:,et=,di=SYSTEM
2009.06.03 16:24:09.703-04:00 com.tivoli.candlenet.SituationUpdateForwarder getServerUrlConnection IBM Tivoli Monitoring TEC Synchronization netcoolserver.gulfsoft.com IP Default port 3661 is being used by Web Services.
2009.06.03 16:24:09.703-04:00 com.tivoli.candlenet.SituationUpdateForwarder sendEvent IBM Tivoli Monitoring TEC Synchronization netcoolserver.gulfsoft.com IP Entry
Additionally, you should have no lines data in the C:\IBM\SitForwarder\persistence\situpdate_* file.
What it Looks like When Things are Wrong
In my case, I was acknowledging an event that was sent from ITM to Omnibus BEFORE I got the SUF configured, so the correct EIF Probe rules were not in place. These lines were in the persistence file:
Here's an example of the lines in the log file when I had this problem:
2009.06.03 16:22:49.376-04:00 com.tivoli.candlenet.SituationUpdateForwarder formatEvent IBM Tivoli Monitoring TEC Synchronization netcoolserver.gulfsoft.com IP SOAP string: sysadminxxxxxNT_Invalid_Logon_Attemptwebappprod
2009.06.03 16:22:49.376-04:00 com.tivoli.candlenet.SituationUpdateForwarder pollCacheFile IBM Tivoli Monitoring TEC Synchronization netcoolserver.gulfsoft.com IP Exception while processing cache file: null
2009.06.03 16:22:49.376-04:00 com.tivoli.candlenet.SituationUpdateForwarder pollCacheFile IBM Tivoli Monitoring TEC Synchronization netcoolserver.gulfsoft.com IP java.lang.NullPointerException at com.tivoli.candlenet.SituationUpdateForwarder.sendEvent(Unknown Source) at com.tivoli.candlenet.SituationUpdateForwarder.pollCacheFile(Unknown Source) at com.tivoli.candlenet.SituationUpdateForwarder.poll(Unknown Source) at com.tivoli.candlenet.SituationUpdateForwarder.main(Unknown Source) at com.tivoli.candlenet.W32Service$SUFRunnable.run(Unknown Source) at java.lang.Thread.run(Thread.java:568)
Notice that there are no lines stating that the event is being sent.
BIRT Report library is a place where you can store report elements such as Datasource information, datasets, parameters and styles and use them across multiple reports. When you change the information in the libraries, the changes are automatically reflected in the reports.
Why Libraries are so useful?
Say for example, you have about 10 reports using information from Tivoli data warehouse and suddenly the database password changes. Without the library, you will need to update the userid/password in the datasources defined in the 10 reports. Instead if you created the datasource at the library and shared it across the 10 reports, then you just need to update the userid/password in the library. Which one do you like?
How can I create and use libraries?
In BIRT, you can create a library using File->New->Library. Creating any report component in library is the same as creating them in a normal report design. To use the library, goto your report design file, goto library explorer and right click the newly created .rptlibrary file and select Use Library. This option will be available only if the library is not already in use (See the picture above).
Now, all the resoures created in the library are available for your report design. Just drag and drop necessary elements from library explorer to your data explorer.
How do I create a same look-and-feel for all my reports?
Create a master page in the library and share it across your reports. Also define styles in the library using your own custom theme and use the theme across your reports. To use the library master page in your reports, go to the XML Source for the report design. Look for the line containing something like the following.
Assuming your library master page is named GBSMasterPage and your library is named GBS, replace the above line with the following.
simple-master-page name="Simple MasterPage" id="2" extends="GBS.GBSMasterPage" Now, your report design uses the same look-and-feel defined in the library.
I hope this article gives you enough information to get started on the BIRT report libraries. If you have any questions, please feel free to post your comments.
I get a few people that I know asking about backup solutions for home, so I thought I would put document what I use and works well for me.
What I needed was a solution that would allow for the following: 1. backup multiple iterations 2. allow for centralized backup for multiple computers 3. simple to use (I am a simple person)
Now I know you all are going, "of course you went with a Tivoli product", but I downloaded the trial and was quite pleased with how it worked and did the tasks I needed it to do.
Here are some screen shots
This is the Start page for TCDP. I have meshed together the flyouts for the My Files, Local Storage and Remote Storage to show some more info.
The General Settings (Accessed from My Files flyout > Settings) allow for some configuration options such as where to backup locally, how many iterations and how much space to use.
In the Files to Protect settings, you can set the files/directories to include and exclude.
Email protection will allow for some various email programs for backup.
Remote Storage allows for TCDP to backup files to a remote storage device. In my case it is the DLINK NAS as listed above.
Advanced Settings allow further configuration to tune TCDP
As files are modified, TCDP will back them up locally and remotely (if available). Below is the Report feature that shows the image files I used for this blog being backed up. The popup in the screen occurs when you click on the Date/Time for the row that you want to see to provide more detail.
I really have not noticed any performance impact, but you also have to look at what is being backed up. I made sure to exclude any of the VMWare extensions and a few others that I know I do not want backed up. This is just like setting exclusions for Antivirus software :)
The restore is also quite simple and will allow for selection either from the local or remote source. When restoring, you have the option of restoring to the original location or to a new location. I would put screen shots for the restore steps, but this one is getting long enough already.
The backup and restore does work, and works well, I tested it out recently after someone had their drive crash with all their pictures. I wanted to make sure this worked!
Now the only issue I have with it is that there is not currently a linux client, which may or may not be a problem for you. It is not a big deal for me as anything linux I have does not really require a backup solution.
For the longest time, I have been visiting the IBM FTP site looking for patches that have recently become available. This is especially true when I am waiting for one to come out that I am expecting. If anyone else has done this, then you know how much fun that is. I am on the various emails that let you know when patches are released, but these seem to have no rhyme or reason on when they are run or what they report on. The best source seems to be the FTP site.
Recently I decided to do something I have been meaning to do for the longest time and that is write a simple script that would connect to the ftp site and find any recently released patches. In order to use this script there are a couple modifications that will need to be done. I have kept all the variables in the Initialize subroutine in order to make these modifications easier.
Variables: SMTP Server - This will need to be modified to supply any smtp server. $gMailDomain = "";
Sender address - Whatever the address you want the "From" field to use $gSenderAddr = "\@";
Recipient - Address to send the listing to $gToAddr = "\@";
Note: to send to multiple addresses, just comma delimit: $gToAddr = "name1\@domain.com, name2\@domain";
Also there is a variable to specify the number of days to look back for patch updates. Just set the global variable $gDayDiff to the number of days you want to look back for updates.
When the script is executed, it will create a file called updates.html (name can be modified by changing the global variable $gHtmlFile). This file is then used as input into the email.
This script does have a requirement for the Mail::Sender module. If you do not want to receive the emails, then comment out the following lines use Mail::Sender SendMail(); The entire SendMail subroutine
The last file states the encryption used, which tells you which ncw_*_crypt command to run (this stanza is directly above the ObjectServer hostname):
< !-- ! Login information to access the datasource specified in ! . ! - encrypted : If true, the password is encrypted (using nco_g_crypt) ! - algorithm (optional) : [AES|FIPS] ! If set to AES and encrypted attribute is set to true, ! the password is encrypted (using ncw_aes_crypt). ! If set to FIPS and encrypted attribute is set to true, ! the password is encrypted (using ncw_fips_crypt). !-->