1 / 25

ITM 6.x Universal Agent

ITM 6.x Universal Agent. Tivoli Users Group Meet June 6 th , 2009. The ITM 6.x Universal Agent. Generic, configurable agent Customizable Extensible Flexible Cross-platform Brings ITM-enabled VCA to your custom data

Télécharger la présentation

ITM 6.x Universal Agent

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. ITM 6.x Universal Agent Tivoli Users Group Meet June 6th, 2009

  2. The ITM 6.x Universal Agent • Generic, configurable agent • Customizable • Extensible • Flexible • Cross-platform • Brings ITM-enabled VCA to your custom data • Helps with custom, exotic scenarios for which an agent doesn’t already exist • Do-It-Yourself agents for data from many sources which can’t be “traditionally” monitored • Does not replace the standard agents, but complements their capabilities • Powerful tools to build solutions that work for youwhen you want more from ITM

  3. How everything fits in together TEPTEPS(R)TEMSUADP[data]

  4. Major UA components and steps • The data providers • Eight types • The metafile(s) – defining your UA application • <ua-appname>.mdl • The process of getting your UA application to run • Validation • Importing • Refreshing (if you change your application) • kumpcon, um_console, take action commands

  5. Data Providers – the interfaces to the UA Data Providers are the interfaces that the Universal Agent uses to enable data collection from external sources

  6. API | File | HTTP | ODBC | Post | Script | SNMP | Socket Application Programming Interface Server DP • Supports API client functions • You can develop scripts interfacing with the UA • You can write C/C++ code interfacing with the UA • You can use manual CLI to interact with (a subset of) the API Minimal requirements • library + accompanying header • libc & socket api, plus any other libs required by your code

  7. API | File | HTTP | ODBC | Post | Script | SNMP | Socket • Functions and commands (library + binaries) that you can call Functions related to • Defining data • Formatting data • Transferring data • Requesting activity • Status

  8. API | File | HTTP | ODBC | Post | Script | SNMP | Socket Monitors data in text files written out sequentially, typically custom logs • Can monitor dynamic file names given a defined pattern • You may use some regular expressions to filter through specific keywords in the logs • Must run locally on the box where files are monitored • Monitored files cannot be > 4 GB in size • You may however “map” files from remote filesystems to be seen as a local resource if you want to monitor logs centrally – using nfs, smb, etc.

  9. API | File | HTTP | ODBC | Post | Script | SNMP | Socket HTTP URL monitoring • Checks HTTP protocol status and availability of a URL • Is proxy-aware • Can alert you on availability of a particular link • This is one DP for which you have a predefined workspace, and no metafiles are needed • Relatively quick and simple to set up • For more complex scenarios, you can use the other DP’s

  10. API | File | HTTP | ODBC | Post | Script | SNMP | Socket Open Database Connectivity – query any ODBC-compliant DB via the ODBC client/library provided with the DB • Note: this one is Windows-only! • You can run custom SQL queries • You can raise alerts based on the values returned • Since ODBC clients work across the network, you can obtain data across different boxes over the network

  11. API | File | HTTP | ODBC | Post | Script | SNMP | Socket Helps you send (“post”) messages to the UA to display on the TEP • This is actually a Socket DP with a fixed metafile • The metafile can be overridden if required • Listens on both TCP and UDP (port 7575) • Ten predefined message types • You can raise alerts based on the values returned • kumpsend is the equivalent command

  12. API | File | HTTP | ODBC | Post | Script | SNMP | Socket Runs a script and collects data via stdin • Any data that can be returned by a script • Not just shell, but perl, python, php – as long as it returns formatted data via its stdout • You get to tie in binaries already on your box – stuff like awk, netstat and such • Script is run at regular intervals • You can access environment variables that the script has access to (we will discuss an example)

  13. API | File | HTTP | ODBC | Post | Script | SNMP | Socket Integrates ITM with the SNMP world Useful for devices like routers and networked storage, which can speak SNMP • Collect enterprise MIB data. • Monitor any SNMP traps sent to the data provider. • Perform SNMP SET operations. • Manage and configure SNMP-enabled devices in your enterprise. • Collect historical statistics from your SNMP-enabled devices • MibUtility: http://www-01.ibm.com/software/brandcatalog/portal/opal/details?catalog.label=1TW10TM3P

  14. API | File | HTTP | ODBC | Post | Script | SNMP | Socket Uses standard TCP/IP sockets to communicate and pass data – the Post DP is a special case of this one • Use network-aware programs like perl and rexx to build packets for this data provider • Collect enterprise MIB data. • Monitor any SNMP traps sent to the data provider. • Perform SNMP SET operations. • Manage and configure SNMP-enabled devices in your enterprise. • Collect historical statistics from your SNMP-enabled devices

  15. The metafile • Defines separate UA apps • Name of the application • Name of each of the attribute groups that comprise the application • Source or sources of the data in each attribute group • Names and characteristics of the individual attributes • Helps define data and formats • Helps generate application support during validate/import/refresh • This is NOT the UA configuration file! • This is a file that defines a specific set of data being collected by the UA • One UA can concurrently run more than one application

  16. A very simple example UA application from OPAL thatmonitors password expiry – the metafile • Metafile: password.mdl http://www-01.ibm.com/software/brandcatalog/portal/opal/details?catalog.label=1TW10TM70 //APPL ExpiryPassword ******************************************************************************* *V 1.0 Password Expiration Monitoring solution ******************************************************************************/ //NAME PasswordExpiry K 7200 AddTimeStamp //SOURCESCRIPT password.sh Interval=3600 //ATTRIBUTES ';' User D 32 KEY Atomic PasswordAge C 999999 MaximumAge C 999999 DaysToExpire C 999999 LastPasswordChange D 128 PasswordExpiryDate D 128

  17. A very simple example UA application (contd) – the script • script: password.sh #!/bin/sh for line in `cat /etc/shadow` do MAXAGE=`echo $line | cut -d: -f5` if [ "$MAXAGE" != 99999 ]; then USER=`echo $line | cut -d: -f1` CURRENT_EPOCH=`echo $line | cut -d: -f3` EPOCH=`/usr/bin/perl -e 'print int(time/(60*60*24))'` AGE=`echo $EPOCH - $CURRENT_EPOCH |/usr/bin/bc` MAX=`echo $line | cut -d: -f5` EXPIRE=`echo $MAX - $AGE |/usr/bin/bc` CHANGE=`echo $CURRENT_EPOCH + 1 |/usr/bin/bc` LSTCNG="`perl -e 'print scalar localtime('$CHANGE' * 24 *3600);'`" EXPD=`echo $EPOCH + $EXPIRE |/usr/bin/bc` EXPDATE="`perl -e 'print scalar localtime('$EXPD' * 24 *3600);'`“ if [ "$EXPIRE" -lt 0 ]; then EXPIRE=`echo "PASSWORD EXPIRED"` fi echo "$USER;$AGE;$MAX;$EXPIRE;$LSTCNG;$EXPDATE " fi done

  18. A very simple example UA application (contd) – installation • Ensure that the SCRIPT data provider is enabled on your Universal Agent. Example: KUMA_STARTUP_DP=asfs • Copy the password.mdl file to ITMHOME/<arch>/um/metafile • Copy the password.sh file to /ITMHOME/<arch>/um/scripts directory • Ensure that the password.sh file has Execute permissions for the user account running the Universal Agent. • Next, import the metafiles. Example: On Linux/UNIX, the command is "bin/kumpcon import *.mdl" or you can use the um_console command. To run the um_console command, you must first set the CANDLEHOME environment variable. • After successfully importing the password.mdl file, you can see the result in TEP console. Once the Universal Agent is up and running, you can customize the queries and workspaces and create Situations.

  19. A very simple example UA application (contd) – the result

  20. The ITM 6.x Universal Agent • Questions?

  21. The ITM 6.x Universal Agent • Thanks!

  22. ITM 6.x Universal Agent Tivoli Users Group Meet June 6th, 2009

  23. ITM 6.x Universal Agent Backup slides

  24. The ITM 6.x Universal Agent • //APPL • Name of the application (//APPL) • The first three characters of the application name must be unique in the enterprise • Enable summarization and pruing of data warehoused data by using the WHEN parameter • //NAME • Name of each of the attribute groups that comprise the application • There must be at least one //NAME and can be up to 64 • Specifies the nature of the data (Polled, Sampled, Event, Keyed) • Controls the interval that the data is available to the agent (TTL), default is 300 seconds

  25. The ITM 6.x Universal Agent • //SOURCE • Sources of the data in each attribute group • When used it follows immediately after //NAME • Not required for API and SNMP metafiles • Supports “run-as” user switching for SCRIPT and ODBC (on Windows) Data Providers • //ATTRIBUTES • Names and characteristics of the individual attributes • Specifies the attribute delimiter in the data string • An attribute group can contain a maximum of 63 attributes • Can override with KIB_MAXCOLS – and set to a max of 127 attributes

More Related