Oracle® Communications Services Gatekeeper System Administrator's Guide Release 5.1 E37531-01 |
|
|
PDF · Mobi · ePub |
This chapter gives an overview of the mechanisms available for controlling Oracle Communications Services Gatekeeper.
Services Gatekeeper Administration Console provides a graphical user interface for configuring, managing, and provisioning Services Gatekeeper. The Administration Console is an extension of the WebLogic Server Administration Console.
At least one Network Tier server must be started before you log in to the WebLogic Server Administration Console. Services Gatekeeper servers started after you log in to the Administration Console are not displayed in the Administration Console. To see them, you must log in again.
Start the Administration Console by entering this URL in a supported Web browser:
http://server_address:port/console
Where:
server_address is the instance you have set up as your Administration Server, usually the IP address of the system. localhost works if you are running the Administration Console on the same system as the Administration Server.
port is the port to connect to. The default is 8001.
Log with your credentials.
Note:
If this is the first time Services Gatekeeper is started, use the usernameweblogic
and password weblogic,
which is the recommended value for the installation and initial domain configuration stage.After you have logged in, create an administrative user using the instructions in "Managing Management Users and Management User Groups", and remove the user weblogic
. Either remove or change password for the WebLogic Server user, see the on-screen help text on the Administration Console user interface.All Services Gatekeeper configuration and monitoring is provided through the following nodes in the left pane of the console, in the Domain Structure group:
OCSG - Container for all Services Gatekeeper servers.
<Server Name> - One entry per Services Gatekeeper server.
<Server Name> - Clicking on this link displays the MBeans pane, which displays all OAM objects available for the selected Services Gatekeeper server. Some configuration settings are cluster-wide, and other settings are per server.
Alarms - clicking this link displays the WebLogic Oracle Communications Services Gatekeeper Alarms Pane.
CDRs - Clicking this link displays the Oracle Communications Services Gatekeeper CDRs Pane.
EDR Configuration - Clicking this link displays the EDR Configuration pane; see the Oracle Communications Services Gatekeeper System Administration Guide section "Managing EDR, CDR, and alarms configuration files using the EDR Configuration Pane".
SipServer - Clicking this link displays the Oracle Communications Converged Application Server's administration console, see the Oracle Communications Services Gatekeeper System Administration Guide section "Converged Application Server Administration Console for SIP-based Services".
Use the WebLogic Server administration console to configure SIP settings. See Oracle Communications Converged Application Server documentation.
Figure 3-1 Domain Structure – Links to Administration Console for Oracle Communications Services Gatekeeper
The MBeans pane contains a tree structure of all management objects applicable for the selected Oracle Communications Services Gatekeeper server.
By clicking on a management object, the corresponding Configuration and Provisioning page for the management object is displayed immediately below the MBean pane: see the Oracle Communications Services Gatekeeper System Administration Guide section "Configuration and Provisioning".
The Configuration and Provisioning pane contains two tabs:
Attributes
Operations
The Attributes tab displays a list of attributes, either read-only or read-write for the managed object.
Note:
In this document, read-only attributes are indicated by (r) after the name.Read-write attributes have a check-box next to them.
To change an attribute:
Select the check box.
Enter the new value in the entry field.
Click Update Attributes.
Figure 3-3 Example Configuration and Provisioning Pane Attributes Tab
The Operations tab contains a list with the operations for the managed object.
Operations either display data, set data, or perform an actual task.
To perform an operation:
Select the operation from the Select An Operation list.
The fields for the operation are displayed.
Enter the information in the fields.
Click Invoke.
Figure 3-4 Example Configuration and Provisioning Pane Operations Tab
The Oracle Communications Services Gatekeeper Alarms pane displays alarms emitted.
It is possible to filter the output to the page on a set of criteria; see Table 3-1.
The list is returned by clicking Get Alarms.
Table 3-1 Oracle Communications Services Gatekeeper Alarms Pane
Filter on... | Input |
---|---|
Severity |
From the Severity list, select which severity level to display. The options are:
|
Source |
From the Server list, select the server from which to display alarms. The options are:
|
Identifier. |
See Oracle Communications Services Gatekeeper Alarm Handling Guide for alarm identifiers. Use 0 (zero) to wildcard. |
From |
In the From, field, enter the start time for the time interval. The options are:
Exact times are formatted as YYYY-MM-DD hh:mm:ss, where:
Note: There must be a space separating YYYY-MM-DD and hh:mm:ss. |
To |
In the To, field, enter the end time for the time interval. The options are:
Exact times are formatted as YYYY-MM-DD hh:mm:ss, where:
Note: There must be a space separating YYYY-MM-DD and hh:mm:ss. |
Offset |
In the Offset field, enter the start offset in the list of alarms entries matching the criteria. Integer. 0 (zero) is the first entry. |
Max |
In the field Max field, enter the maximum number of alarm entries to return. Integer. |
The Services Gatekeeper Charging Data Records (CDRs) pane displays CDRs that have been generated.
It is possible to filter the output to the page on a set of criteria, see Table 3-2.
The list is returned by clicking Get CDRs.
Table 3-2 Oracle Communications Services Gatekeeper CDRs Pane
Filter on... | Input |
---|---|
Service Name |
In the Service Name field, enter the name of the service name for which CDRs are required. The service name is the service type defined for the network protocol plug-in. A blank entry indicates the wildcard character. |
Application Id |
In the Application Id field, enter the application ID to filter on. A blank entry indicates the wildcard character. |
Service Provider Id |
In the Service Provider Id field, enter the service provider ID to filter on. A blank entry indicates the wildcard character. |
From |
In the From field, enter the start time for the time interval. The options are:
Exact times are formatted as YYYY-MM-DD hh:mm:ss, where:
Note: There must be a space separating YYYY-MM-DD and hh:mm:ss. |
To |
In the To field, enter the end time for the time interval. The options are:
Exact times are formatted as YYYY-MM-DD hh:mm:ss, where:
Note: There must be a space separating YYYY-MM-DD and hh:mm:ss. |
Offset |
Enter the start offset in the list of CDR entries matching the criteria. Enter integer values. 0 (zero) is the first entry. |
Max |
Enter the maximum number of CDR entries to return. Enter integer values. |
There is an administration console for the Oracle Communications Converged Application Server. This handles setting for Converged Application Server and the SIP Servlet parts of Services Gatekeeper communication services.
Click Domain Name > SipServer to open the Converged Application Server administration console.
Services Gatekeeper exposes its management interfaces as Java Management Extensions (JMX) MBeans.
These MBeans come in two types:
Standard MBeans
Configuration MBeans
Note:
A link to Javadoc for OAM can be found in the Reference topic page in the Oracle Communications Services Gatekeeper documentation set. See the reference section for each OAM service for the fully qualified MBean names and information about how they map to managed objects in the Services Gatekeeper Administration Console.Following is an example of connecting to the MBean server and performing an operation on the JMX interfaces.
The MBean object name is versioned. The MBean name includes the version number for the release. External JMX clients need to be updated according to the release number.
Example 3-1 Example of using JMX to manage Oracle Communications Services Gatekeeper
import java.io.IOException; import java.net.MalformedURLException; import java.util.Hashtable; import javax.management.MBeanServerConnection; import javax.management.MalformedObjectNameException; import javax.management.ObjectName; import javax.management.remote.JMXConnector; import javax.management.remote.JMXConnectorFactory; import javax.management.remote.JMXServiceURL; import javax.naming.Context; public class TestMgmt { private static MBeanServerConnection connection; private static JMXConnector connector; /* * Initialize connection to the Domain Runtime MBean Server */ public static void initConnection(String hostname, String portString, String username, String password) throws IOException, MalformedURLException { String protocol = "t3"; Integer portInteger = Integer.valueOf(portString); int port = portInteger.intValue(); String jndiroot = "/jndi/"; String mserver = "weblogic.management.mbeanservers.domainruntime"; JMXServiceURL serviceURL = new JMXServiceURL(protocol, hostname, port, jndiroot + mserver); Hashtable h = new Hashtable(); h.put(Context.SECURITY_PRINCIPAL, username); h.put(Context.SECURITY_CREDENTIALS, password); h.put(JMXConnectorFactory.PROTOCOL_PROVIDER_PACKAGES, "weblogic.management.remote"); connector = JMXConnectorFactory.connect(serviceURL, h); connection = connector.getMBeanServerConnection(); } public static void main(String[] args) throws Exception { String hostname = args[0]; //hostname of the admin server String portString = args[1]; //port of the admin server String username = args[2]; String password = args[3]; String mbserverName = args[4]; //NT server name String operationName = "addRoute"; String id = "Plugin_px21_multimedia_messaging_mm7"; String addressExpression = ".*"; String[] params = new String[]{id, addressExpression}; String[] signature = new String[]{"java.lang.String", "java.lang.String"}; ObjectName on; try { on = new ObjectName("com.bea.wlcp.wlng:Name=wlng,InstanceName=PluginManager,Type= com.bea.wlcp.wlng.plugin.PluginManagerMBean,Location=" + mbserverName); } catch (MalformedObjectNameException e) { throw new AssertionError(e.getMessage()); } initConnection(hostname, portString, username, password); //invoke the operation Object result = connection.invoke(on, operationName, params, signature); System.out.println(result.toString()); //displays the result connector.close(); } }
If setting an attribute or calling an operation fails, a com.bea.wlcp.wlng.api.management.ManagementException
, or a subclass of this exception is thrown. The following subclasses are defined:
DuplicateKeyException
– Thrown when the operation creates a duplicate key.
InputManagementException
– Thrown for invalid user input.
KeyNotFoundException
– Thrown when the operation cannot find the specified key.
A JMX client must have the same version of exception classes available; otherwise the client will throw ClassNotFoundException
.
Middleware_Home/ocsg_pds_5.1/lib/wlng/oam.jar contains custom classes for OAM and return types.
Middleware_Home/ocsg_pds_5.1/doc/javadoc_oam contains Javadoc for OAM.
The following section gives examples of how to use the WebLogic Scripting Tool (WLST) in both interactive and script mode when configuring and managing Services Gatekeeper.
For information about WebLogic Server and WLST, see "Using the WebLogic Scripting Tool" in Oracle® Fusion Middleware Oracle WebLogic Scripting Tool at:
http://download.oracle.com/docs/cd/E15523_01/web.1111/e13715/using_wlst.htm
The following topics are covered in this section of the Oracle Communications Services Gatekeeper System Administration Guide:
WebLogic Scripting Tool (WSLT)
Note:
A link to Javadoc for OAM can be found on the Reference topic page in the Oracle Communications Services Gatekeeper documentation set.This section gives examples of how to use WLST in interactive mode.
Make sure the correct Java environment is set:
UNIX: Domain_Home/bin/setDomainEnv.sh
Windows: Domain_Home\bin\setDomainEnv.cmd
Start WLST:
java weblogic.WLST
Connect to the server to manage:
connect('
username','
password','t3://
host:
port')
Change to the custom tree where Oracle Communications Services Gatekeeper MBeans are located:
custom()
cd('com.bea.wlcp.wlng')
Display a list of the Mbeans:
ls()
The MBean names are also displayed in each Configuration and Provisioning page for the management objects in the Oracle Communications Services Gatekeeper Administration Console.
Select the MBean to change:
cd('com.bea.wlcp.wlng:Name=wlng_nt,Type=
MBean_name'
)
For example, to select the MBean for the EDRService, use:
cd('com.bea.wlcp.wlng:Name=wlng,InstanceName=EdrService,Type=com.bea.wlcp.wlng.edr.management.EdrServiceMBean')
Disconnect from Oracle Communications Services Gatekeeper:
disconnect()
Exit the WLST shell:
exit()
Select the MBean to change attribute for.
Set the attribute:
set('
name_of_attribute',
value_of_attribute)
For example, to change the attribute BatchSize
to 2001 in the managed object EDRService: set('BatchSize', 2001)
The attribute values for an MBean can be displayed using ls()
.
Select the MBean to invoke an operation on.
Define the parameters as an array.
Define the data types as an array.
Invoke the operation.
For example, to invoke the displayStatistics
method in the EDRService MBean:
cd('com.bea.wlcp.wlng:Name=wlng,InstanceName=EdrService,Type=com.bea.wlcp.wlng.edr.management.EdrServiceMBean') objs = jarray.array([],java.lang.Object) strs = jarray.array([],java.lang.String) print(invoke('displayStatistics',objs,strs))
This operation has no arguments.
For example, to add a route using the MBean for the Plug-in Manager:
cd('com.bea.wlcp.wlng:Name=wlng,InstanceName=PluginManager,Type=com.bea.wlcp.wlng.plugin.PluginManagerMBean ') objs=jarray.array(['Plugin_px21_multimedia_messaging_mm7','.*'],Object) strs=jarray.array(['java.lang.String', 'java.lang.String'],String) invoke('addRoute', objs, strs)
The method addRoute
takes two arguments, and the values of the parameters are stated in the same order as the parameters are defined in the signature of the method.
Note:
For a method that has input parameters and a string return value, theinvoke
command can be executed as follows:objs = jarray.array([java.lang.String('stringInput1'),java.lang.String('stringInput2'), java.lang.String('StringInput3')],java.lang.Object) strs = jarray.array(['java.lang.String', 'java.lang.String', 'java.lang.String'],java.lang.String) invoke('methodName',objs,strs)
When using WLST together with scripts, WLST is invoked as follows:
java weblogic.WLST
script_name.py
argument_1 argument_2 ...
argument_n
The arguments can be retrieved from within the scripts in the array sys.argv[]
, where sys.argv[0]
is the script name, sys.argv[1]
is the second argument and so on. It may be useful to specify login information and connection information as arguments to the scripts.
The following script connects to Oracle Communications Services Gatekeeper and changes to an MBean defined by argument.
userName = sys.argv[1] passWord = sys.argv[2] url="t3://"+sys.argv[3]+":"+sys.argv[4] objectName = sys.argv[5] objectName = "com.bea.wlcp.wlng:Name=nt,Type=" + sys.argv[5] print objectName connect(userName, passWord, url) custom() cd('com.bea.wlcp.wlng') cd(objectName)
For example, to invoke the script:
java weblogic.WLST script1.py weblogic weblogic localhost 7001 com.bea.wlcp.wlng:Name=wlng,InstanceName=PluginManager,Type=com.bea.wlcp.wlng.plugin.PluginManagerMBean
This section lists the three database tables that you should clean periodically and provides and example script for doing so.
Table 3-3 lists the database tables that you must periodically clean to prevent them from growing too large and adversely affecting performance. See your database documentation for instructions on deleting rows from these tables.
Table 3-3 Database Table Cleaning Intervals
Type of Database Table | Table | Recommended Cleaning Interval |
---|---|---|
Services Gatekeeper |
SLEE_ALARM |
Every two months |
Services Gatekeeper |
SLEE_CHARGING |
See "About Cleaning the SLEE_CHARGING Table" for details. |
Services Gatekeeper |
SLEE_STATISTICS_DATA |
Every month |
EDR Analytics |
TRANSACTION_HISTORY |
Daily if used. See the Oracle Communications Services Gatekeeper System Administrator's Guide section "About Cleaning EDR Analytics Tables" for details. |
EDR Analytics |
TRANSACTION_PARAMETER_HISTORY |
Daily if used. See the Oracle Communications Services Gatekeeper System Administrator's Guide section "About Cleaning EDR Analytics Tables" for details. |
EDR Analytics |
TRANSACTION_INVALID_HISTORY |
Daily if used. See the Oracle Communications Services Gatekeeper System Administrator's Guide section "About Cleaning EDR Analytics Tables" for details. |
EDR Analytics |
TRANS_PARA_INVALID_HISTORY |
Daily if used. See the Oracle Communications Services Gatekeeper System Administrator's Guide section "About Cleaning EDR Analytics Tables" for details. |
You are only required to clean the EDR analytics tables listed in Table 3-3 if you use the EDR analytics feature and have EdrAanalyticMBean.StoreHistory is set true. The cleaning interval depends on the amount of traffic stored in your database, but these tables usually grow quickly and require daily maintenance.
The SLEE_CHARGING table cleaning interval depends on the amount of charging traffic, so it is difficult to specify a recommended interval. There is usually one row in this table per plug-in transaction. A row can contain up to 300 bytes of data.
Typically operators export charging data from the SLEE_CHARGING table to a file either by using a scheduled script or by integrating with a billing system such as Oracle Communications Billing and Revenue Management.
Charging data is contained in charging data records (CDRs), which are a type of event data record (EDR). Typically CDRs are integrated by means of EDR listeners. You can also listen for alarms by setting up an SNMP/EDR listener. If you do this, you could disable CDR and alarm storage in the database by setting the EDR Service's StoreAlarms or Store CDRs attributes to false
. However, Oracle recommends storing alarms for some period of time, for trouble-shooting purposes. See the Oracle Communications Services Gatekeeper System Administrator's Guide sections Attribute: StoreCDRs and Attribute: StoreAlarms.
For general information about EDRs, CDRs, and alarms see Oracle Communications Services Gatekeeper System Administrator's Guide Chapter 8, "Managing and Configuring EDRs, CDRs and Alarms." For more detailed information about creating an EDR listener see “Creating an EDR Listener and Generating SNMP MIBs” in the Platform Development Studio Developer's Guide.
For information about setting the expiration of data stored in the database tables, see the Oracle Communications Services Gatekeeper System Administrator's Guide section Storage Data Expiration.
If your Services Gatekeeper implementation has extremely high traffic, such that these three tables are updated with millions of records per day, Oracle recommends that you create a script to clean them and run it ever 2-3 hours. This script would ideally copy all data that arrived after the last cleaning to another table and then delete everything currently in the table. This may not require any server restart.
To clean SLEE_CHARGING, create a shell script or PERL/SQL combination like the following:
Create a table called SLEE_CHARGING_BACKUP to use as a repository for SLEE_CHARGING data.
Create an SQL query that:
The steps a and b can easily be combined in one SQL query, for example:
insert into slee_charging_bkup(list all columns~ ) select list all the columns~ from slee_charging where stored_ts millisecs calculated~
Create a similar statement like the one below to archive the data into a new table called SLEE_STATISTICS_DATA:
create table slee_statistics_data_tmp1( slee_name, timestamp, type_id, transactions, source_entity, source_app_id, datetime, primary key ( timestamp, type_id ) ) organization index nocompress as select slee_name, timestamp, type_id, transactions, source_entity, source_app_id, to_date(to_char(timestamp'1970-01-01 00:00:00.00' + numtodsinterval(timestamp/1000,'SECOND'), 'DD-MON-YYYY HH24:MI:SS'),'DD-MON-YYYY HH24:MI:SS') from slee_statistics_data;