(ats3-app09) integrating symyx notebook into an enterprise management system
DESCRIPTION
Managing operation of a large scale deployment is a challenging task, especially when corporate IT environments may be managed by several third-parties, each playing a very specific role in ensuring that your Notebook deployment is reliable. Enterprise management systems are often used to make this task easier. In this session we will examine ways to use your enterprise management system to manage key services and performance indicators in your Notebook deployment.TRANSCRIPT
(ATS3-APP09) Integrating Symyx Notebook into an Enterprise Management System
Mike WilsonAdvisory Product [email protected]
The information on the roadmap and future software development efforts are intended to outline general product direction and should not be relied on in making a purchasing decision.
Agenda
• Management System Basics• Notebook Architecture• Monitoring Guidelines• Integration Approaches
Management System Basics
• Range of options to monitor services– Standalone
• Windows Event Logs• PerfMon• Task Scheduler
– Enterprise Management Systems• HP OpenView, Tivoli, BMC• SNMP, Dedicated Modules
AdministrationWorkflow
DesignerConfigurati
on Manageme
nt
Accelrys Vault Server
Symyx Notebook by Accelrys
Notebook High-Level Architecture
Experiment Editor
Framework Platform
Notebook
BrowserReportin
g SearchMaterials
& Chemistr
y
Notebook Platform
Pluggable ServicesLab
AutomationMaterial
Registration
Material Lookup
OpenEye
Accelrys Draw
Renditor
ServicesQueryIndexWorkflow Repositor
y
OracleDirect
Cartridge
AuthenticationAuthorizationWindows Communication Foundation
Discovery Gate W-S
Registration
Automation Studio
Content Managemen
t
Data Warehouse
Vault Services• Vault Web Services (Microsoft IIS)
– Vault Private Service • Communicates with message processing and workflow service
– Vault Public Service • Handles client communication
• Symyx Vault Message Processing Service (Microsoft Windows Service)– Microsoft Windows Service– Vault message processing service
• Monitors vault message processor application– Vault message processor
• Manages asynchronous processing of vault objects via MSMQ
• Symyx Vault Server (Apache Tomcat)– RAS (web service)
• indexes object properties, contents, structures and reaction STS (web application)– Security Token Service– Query Service (web service)
• Superseded by Accelrys Query Service in Pipeline Pilot 9.0
• Symyx Workflow (Microsoft Windows Service)– Workflow enrollment/processing
Process Monitoring – Web Containers
• W3wp.exe*32 and w3wp.exe– Automation point
• Restart World Wide Web Publishing service– Requires restart of Symyx Vault Message Processing Service and Symyx Workflow Service
– Review• Windows and associated service log files to determine why the service was stopped
– Alert level high
• Tomcat6.exe*32– Automation point
• Restart Symyx Vault Server 1.0– Requires restart of Symyx Vault Message Processing Service and Symyx Workflow Service
– Review• Windows and associated service log files to determine why the service was stopped
– Alert level high
Process Monitoring – Windows Services
• Ensure the following core processes are running– symyx.vault.message.processing.service.exe*32– symyx.vault.messageprocessor.exe*32– symyx.workflow.service.exe*32
• Automation point– Restart associated service if process is not running– Note: symyx.vault.messageprocessor.exe*32 is set to restart every 24
hours by default and if it detects a win32 error.– Alert level high
• Vault Monitoring Guidelines– Recommended thresholds and
alert states– Includes example jobs that can be
installed on your Vault servers– Standalone monitoring– Network management integration
Contact Accelrys Support to obtain a copy
Monitoring Thresholds
Integration Example: Process Memory Use
• Process memory is an important indicator of the health of a server process
• We will examine how Microsoft Powershell can be used to retrieve working set memory for the Vault Message Processing Service
• And how it can be plugged in to HP OpenView or other enterprise management systems
Monitoring Process Memory and Sending Alertsparam (
[string] $processName = $null,[int] $limit
)$agent = "127.0.0.1";$manager = "127.0.0.1";$port = 161; # default$trapPort = 162; #default$hrSWRunName = "1.3.6.1.2.1.25.4.2.1.2";$hrSWRunPerfMem = "1.3.6.1.2.1.25.5.1.1.2";
Write-Host "Checking memory usage for $processName";$process = Get-Process -Name $processName;if($process.Memory -gt $limit) {
Write-Host $process.Memory "kB is more than limit" $limit "kB, sending alert";Send-Alert -Process $process;
} else {Write-Host $process.Memory "kB is less than or equal to limit" $limit "kB, no
action";}
Via WMI or SNMP
Via HP OpenView
or SNMP
Getting Process Memory via WMIfunction Get-Process {
param ([String] $Name
)$process = Get-WmiObject win32_process | ? { $_.ProcessName -eq $Name }
[PSObject] $result = New-Object PSObject -Property @{Name= $Name;Id= $process.ProcessId;Memory= $process.WorkingSetSize / 1024;
};return $result;}
Built-in PowerShell capability
Getting Process Memory via SNMPfunction Get-Process {
param ([String] $Name
)[PSObject] $process = Get-SNMP -Agent $agent -Port $port -OID $hrSWRunName -Walk | ?
{ $_.OIDValue -eq $processName}$id = ($process.OID -split "$hrSWRunName.")[1];[PSObject] $processMemory = Get-SNMP -Agent $agent -OID "$hrSWRunPerfMem.$id";[PSObject] $result = New-Object PSObject -Property @{
Name= $Name;Id= $id;Memory= $processMemory.OIDValue;
};return $result;} Get-SNMP part of
NetCmdlets from nSoftware
Sending an alert via SNMPfunction Send-Alert {
param ([PSObject] $Process)[System.Int32] $snmpv = 2;$id = $Process.Id;$process_OID = "$hrSWRunName.$id";$process_OIDType = "OctetString";$processMemory_OIDValue = $Process.Memory;$processMemory_OID = "$hrSWRunPerfMem.$id";$processMemory_OIDType = "Integer";
$null = Send-Trap -Verbose -Community "public" -Version $snmpv -OID 1.3.6.1.6.3.1.1.5.1.0 - Manager $manager -ObjectID ("1.3.6.1.2.1.1.3.0", "1.3.6.1.6.3.1.1.4.1.0", $processMemory_OID, $process_OID) -ObjectType ("Timeticks", "ObjectId", $processMemory_OIDType, $process_OIDType) -ObjectValue ("6", "1.3.6.1.6.3.1.1.5.1.0", $processMemory_OIDValue, $id);}
Send-Trap part of NetCmdlets from
nSoftware
Sending an alert via HP OpenViewfunction Send-Alert {
param ([PSObject] $process
)$ovinstalldir = $env:OvInstallDir;if($ovinstalldir -eq $null) {
throw [Exception] "HPOM agent not installed";}$opcmsg = Join-Path $ovinstalldir "bin\win64\opcmsg.exe";$null = &($opcmsg) application="Accelrys Vault" object="$process.Name"
severity="major" msg_text="$process.Memory kB is more than limit $limit kB";}
Monitoring Process Memory and Sending Alertsparam (
[string] $processName = $null,[int] $limit
)$agent = "127.0.0.1";$manager = "127.0.0.1";$port = 161; # default$trapPort = 162; #default$hrSWRunName = "1.3.6.1.2.1.25.4.2.1.2";$hrSWRunPerfMem = "1.3.6.1.2.1.25.5.1.1.2";
Write-Host "Checking memory usage for $processName";$process = Get-Process -Name $processName;if($process.Memory -gt $limit) {
Write-Host $process.Memory "kB is more than limit" $limit "kB, sending alert";Send-Alert -Process $process;
} else {Write-Host $process.Memory "kB is less than or equal to limit" $limit "kB, no
action";}
Retrieve process memory• SNMP, WMI
Send notification• SNMP, OpenView, SMTP, etc.
Automate status checks• Enterprise Mgmt System• Windows Task Scheduler
For More Information
• Contact Accelrys Support to obtain a copy of the “Vault Monitoring Guidelines”– Including sample management jobs that can be installed on
your Vault servers
Summary
• We saw an overview of Vault service monitoring points and built a PowerShell-based monitoring solution that can integrate into an enterprise management system
• Other Notebook sessions that may interest you– (ATS3-APP13) Tips and Tricks for Monitoring and Managing Symyx Notebook Server Performance– (ATS3-APP14) Troubleshooting Symyx Notebook client performance
• Resources– Notebook IT/Admin forum on the Accelrys Community
• Email [email protected] to join– Troubleshooting guidance: [email protected]
The information on the roadmap and future software development efforts are intended to outline general product direction and should not be relied on in making a purchasing decision.
For more information on the Accelrys Tech Summits and other IT & Developer information, please visit:https://community.accelrys.com/groups/it-dev