|
1
|
|
|
2
|
|
|
3
|
- Who is Feld Entertainment?
- Family owned, family entertainment company
- Producer of live shows that play in 47 countries:
- Ringling Bros. and Barnum & Bailey Circus
- Disney On Ice and Disney Live
- Produced the former Siegfried and Roy at the Mirage
- Center for Elephant Conservation and Williston Retirement Center for
Elephants
- Vertically integrated, fast moving company
- Microsoft shop
|
|
4
|
- Applications
- Implemented 6.x Human Resources on AS/400 in 1996
- Migrated to 7.x Human Resources on Windows in 2000
- Implemented 8.x Financials and Procurement on Windows in January 2003
- Re-implemented Human Resources over five weeks in December 2003,
consolidating it with Financials and Procurement
- Hardware
- Started with a three server implementation in October 2002
- Consolidated to a single server implementation in June 2004
|
|
5
|
- In production
- Applications:
- AM, AP, CB, BN, GL, FB, HR, MA, PA, PO, PR, TA
- BSI Tax Factory
- Enterprise Reporting
- Microsoft Add-ins
- Not yet in production:
- Applications
- Process Flow
- Self-service
|
|
6
|
|
|
7
|
- Web Tier
- Application Tier
- Database Tier
- System
|
|
8
|
- Web server overhead:
- Low CPU utilization
- IIS is Multithreaded, runs well on Windows
- Apache 1.x uses fork(), runs well on Unix
- Low RAM utilization
- Significant I/O if access logging turned on
- 8.0 Environment and IOS require a servlet container
- Jakarta Tomcat
- IBM Websphere
- 8.1 Environment and IOS require server-side Java
- BEA WebLogic
- IBM Websphere
|
|
9
|
- CPU
- Utilization higher on Windows than Unix (fork() inside a thread)
- Batch jobs can be very CPU intensive
- Disk
- Creation and deletion of print files, COBOL work files, XML work files,
job logs, and system log files
- Memory
- 8MB per LACOBRTS
- 8MB per RMI worker thread
- Every streamida process gets a corresponding db process
- MKS Toolkit
- Remember that Lawson’s Windows release is their Unix codebase
- MKS has its own set of knobs and dials to tune
- Network
- Utilization high if database is on a separate server
|
|
10
|
- CPU
- Not as CPU intensive as Applications
- Makes use of multiprocessor support
- Disk
- Fast physical disks, more spindles are better
- RAID
- Avoid RAID-5 (including HP’s ADG) – Parity Calculation
- Combinations of RAID-0 and RAID-1 to balance speed and redundancy
- Be sure your RAID stripe side and your OS file system block size jive
- Minimize number of file groups / table spaces
- Consider your growth when deciding on capacity
- Memory
- Database should not be set to use all of the system memory
- Do not starve the OS of it’s fair share
- Network
- Utilization very high if applications are on a separate server
|
|
11
|
- Bottlenecks
- Can never eliminate a bottleneck, only move it
- Growth
- Better to buy more server and “grow into” it then add capacity later
and have to re-tune (kernel parameters, environment, database)
- Incorrect sizing before implementation results in a “crippled go-live”
until you can fix -- always harder to fix a system once in production
- Redundancy
- Fans
- Disk Controllers
- Disks
- Network Cards
- Power Supplies
- Test your redundancies before you go live!!!
- Sizing Workbook
- The recommendations Lawson makes based on your sizing workbook are too
small!
|
|
12
|
- Web Tier
- Application Tier
- Database Tier
- System
|
|
13
|
- Log files
- %WEBDIR%/logan.log
- %CGIDIR%
- ags.log ; dme.log ; logan.log
- %CGIDIR/rmi%
- logan.log
- ios.log (gets very large)
- rmi-proxy.log ; rmi-standard.log ; rmi-tcp.log ; rmi-transport.log
- %TOMCAT_HOME%/logs/jasper-<date>.log
- Java
- Web and Application tier should be running the same stable release of
1.31 (>>java –version)
- Synchronize JAR files %GENDIR%/java/jar and %TOMCAT_HOME%/lib
- Check Java class path
- Servlets and CGIs
- Lawson has replaced many CGIs with Servlets
- CGI’s are stateless and somewhat slower
- Problems with CGIs and Servlets can be debugged by “touching” log files
- ags.log ; dme.log ; pts.log
- If you’re having problem with the Web Tier, start troubleshooting with
servlet calls:
- https://server/servlet/Reflux?_PDL=LOGAN&_TKN=RD30.1
- https://server/servlet/Xpress?_PDL=LOGAN&_TKN=RD30.1
- Security Cache
- Be mindful that Portal caches LAUA Security in three places:
- Web Browser ; Web Server ; RMI
- Users will need to clear browser cache along with an IOSCacheRefresh
for LAUA changes to take effect
|
|
14
|
- [Windows] Usermap
- Run delusers to cleanup orphaned usermap entries
- Remove UIDs of 0 (not root on Unix)
- Clear Usermap cache daily: listusermap -n
- GEN Database
- Check integrity once a month: integ GEN
- Periodic full garbage collection: dbreorg –G GEN
- Checkpoint Table (CKPOINT)
- Be sure all users have access to the LA system code
- Check periodically to see that it is clearing out
- Job cleanup
- Daily cleanup of waiting jobs and corrupt job records
- deljobhst -w 'curdate' - 1
- jobinteg -d
- Pathing
- Make sure system path is correct
- Registry
- Be sure users have permission to “Set Value” on:
HKEY\LM\SOFTWARE\LAWSON SOFTWARE\LAWSON INSIGHT
ENVIRONMENT\GLOBAL\SECURITY\BATCH
- Work file cleanup
- COBOL work files: find %LAWDIR%\prod\work -mtime +30 -print -exec rm -r
{} ;
- XML work files: find %TEMPDIR% -mtime +30 -print -exec rm -r {} ;
|
|
15
|
- Anti-virus software
- Be sure it is not scanning your database files
- Database Driver [MDAC/Library] Version(s)
- Must be synchronized between Web and Application Tier
- If not, you will end up with duplicate records and index errors
- Maintenance
- Indexes should be rebuilt
- Database index is a balanced B-Tree structure, and even though the
database can maintain for your automatically, they should be manually
rebuilt from time to time
- Statistics should be updated
- Any RDBMS cost-based optimizer (CBO) requires statistics to be up to
date for optimal query plans
- Storage
- [SQL Server] Database should be shrunk periodically
- [Oracle] Table spaces should be coalesced periodically
- [Any] Your database instance should be destroyed and recreated at
least twice a year
- Schema Object Ownership
- [SQL Server] Be sure that the database is owned by Lawson user, and
that all objects belong to [dbo].:
- A bldmsf2000ddl will change object ownership, and can affect your
ability to use expsysdb and impexp
- [Oracle] Application data, LOGAN data, and Tax Factory should be in
their own Oracle instance to avoid namespace collision
- Lawson user should be the schema owner
|
|
16
|
- File system
- Lawson creates and deletes many small files. Use a commercial defrag
utility like Diskkeeper
- Ideally, Lawson Applications and Database should be on different file
systems:
- keeps database from fragmenting
- takes into consideration different Master File Table or inode needs
- Kernel Tuning Parameters
- Lawson uses System V shared memory, and the minimums are usually
insufficient
- Sun provides the bible on tuning SYS V Shared memory:
http://docs.sun.com/db/doc/806-6779/6jfmsfr7q?a=view
- LACONFIG [Windows]
- “Desktop Heap Size”
- Windows has a fixed heap of 48MB to track all interactive and
non-interactive processes (can be changed in the registry)
- Every Lawson program consumes about 2.7K of Desktop Heap
- If DHS is set to 4096K, then 12 desktops can be created that support
~1500 processes
- Tradeoff:
- DHS too large: insufficient desktops to support things like Terminal
Services
- DHS too small: insufficient heap to track all the processes Lawson
creates
- “Deadlock Timeout” allows debugging of a race condition (thank Feld)
- Metrics
- [Windows] CPU: Use perfmon to check “CPU Work Queue Length”
- [Windows] Memory: Be sure Commit Charge < Physical Memory
- Reoccurring Maintenance
- Rotate Application log files monthly
- ladb.log ; latm.log ; lajs.log ; secadmin.log ; sec.log
- Turn over system log files monthly
- Event Log on Windows
- messages on Unix
|
|
17
|
- Web Tier
- Application Tier
- Database Tier
- System
|
|
18
|
- Add-ins Access Flag
- LX00/LX90 defines who can(not) access Lawson via Add-ins
- SSL
- Allow only HTTPS connections through the web
- Only Process Flow will not work with SSL
- Add a second virtual host for Process Flow
- Run everything else through HTTPS
- Close unnecessary ports
- If your users are all using Portal, and your system is on the Internet,
only HTTPS (port 443) should be open
- Web server security
- Turn off directory browsing
- [Windows] Microsoft provides IIS lockdown tool
|
|
19
|
- Auditing Security
- Involves cooperation between IT and Functional Areas
- Functional areas should ensure that Lawson security matches audit
requirements
- Someone in AP who can cut checks cannot add/edit a vendor, for
example
- Should be reviewed on a quarterly basis
- Feld maintains a summary security matrix to simplify this process
- LAUA
- System Code Security
- Form Security
- Data Security
- Drill-Around (Element) Security
- Backup your security classes with secdump, not just a backup of the
secdb
- Inter-Application Security
- AP processors require an authority code
- HR can be further restricted with HR09
- PO processors require a buyer code
- RW access controlled externally
- LOGAN Database Security
- RD30 records are not automatically removed when LAUA user is
- Stored in SISETUP, SIRDIDHDR, LOMXVALUE, and WEBUSER tables in LOGAN
- RD41 records (for Enterprise Reporting access)
- Stored in SISETUP, SIRDIDHDR and SIRDXREFDTL tables in LOGAN
|
|
20
|
- Capital <database> File
- Has plain-text database username and password in it
- [Unix] Can be chmod’ed to 440
- External Authentication
- Default Lawson install is “Application Pass-thru Security”
- One user defined in database who proxies for all users
- Access to data is controlled through the Application layer
- Lawson also supports External Database Authentication
- Each user defined in database
- No username/password stored in capital <database> file
- Pros: More granular access control and auditing
- Cons: LATM must be turned off, RMI will not work with LATM
- ODBC/JDBC Access
- Every RDBMS publishes itself as available on your network
- Ports are open for vendor client tools to connect remotely
- Leaving your RDBMS open for remote connections leaves your vulnerable
- [Unix] Close those ports and administer from a terminal session
- [Windows] Close your SQL Server ports and administer on the LAN from
Terminal Services
|
|
21
|
- Auditing
- Take advantage of OS level auditing
- [Windows] Turn on auditing of successful and failed logins
- [Unix] Review log files in /var/log or /var/adm
- [Unix] Confiscate the root password and start using sudo(8)
- Access
- [Unix] Do not allow access to your system via FTP
- If people need to be able to download print files, give a limited
number of people access via scp
- [Windows]
- File and printer sharing should not be turned on
- If people need to be able to download print files, restrict who is
allowed to brose to those shares
- Remove IPC and C$/D$ file shares from the system
- On-Disk Backups
- The disaster you plan for is not the most likely scenario
- Feld does 30 days of nightly, on-disk backups of:
- Databases: Application ; GEN ; LOGAN
- Windows Registry
- Each individual security class
- Why? Because administrators make mistakes, and restoring from tape is
SLOW! If you have the disk space, make use of it
- Security Sweeps
- Periodic port scans with tools like nmap
- [Windows] Microsoft Baseline Security Analyzer (MS-BSA)
- Whatever OS or database you use, administrators should be receiving
critical patch notifications from the vendor
- Security Sweeps should include your desktops:
- No amount of network or system security will protect you if your
client machines are compromised
- Check for Trojans, spy bots, keystroke loggers
|
|
22
|
|