There are several server processes that the operating system
can monitor and automatically restart when the server processes stop
abnormally.
Before you begin
To set up this function
on a Linux® or supported UNIX operating
system, you must have root authority to edit the inittab file.
To set up this function on a Microsoft Windows operating system, you must belong
to the Administrator group and have the following advanced user rights:
- Act as part of the operating system
- Log on as a service
The Installation wizard grants you the user rights if
your user ID is part of the administrator group.
If you are running on a Microsoft Windows Operating
System, the Installation wizard displays a message that states that
although the advanced user rights are now effective, they do not display
as effective until the next time you log on to the Windows machine.
You can also add the advanced user rights manually
if you are performing a silent installation on a Windows operating
system. For example, to grant the user rights to your administrator
group user ID on a Windows operating system, perform the following
procedure:
- Click Administrative Tools in the Control Panel.
- Click Local Security Policy.
- Click Local Policies.
- Click User Rights Assignments.
- Right-click Act as part of the operating system.
- Click Security.
- Click Add.
- Click your user ID.
- Click Add.
- Click OK.
- Click OK.
- Right-click Log on as a service.
- Click Security.
- Click Add.
- Click OK.
- Click OK.
- Reboot your machine to make the settings effective.
Consult your Windows help system for
more information.
About this task
There are several environments
where you might use this function of automatically restarting servers.
You can restart the
server1 managed node process, for
example. Here is a list of processes you might consider restarting:
- The server1 managed node process
- The server1 process on a stand-alone Application Server
- The dmgr process on a deployment manager node
- The nodeagent server process on any managed node
- The IBM® HTTP Server process
- The IBM HTTP Administration process
On a Windows operating
system, you can create Windows services during installation, using
the installation wizard. Each Windows service controls a single process,
such as a stand-alone product instance. Multiple stand-alone Application
Server processes require multiple Windows services, which you can
define. The wizard lets you create services for these servers:
- The server1 managed node process, defined as a manually
started (versus automatic) service
- The server1 stand-alone Application Server process, defined
as a manually started service
- The IBM HTTP Server process and the IBM HTTP Administration process,
defined as automatically started services when you choose to install
the IBM HTTP Server feature
- The dmgr process on a deployment manager node, defined
as a manually started service
The installation wizard does not provide
a way to create a service for a node agent because the deployment
manager instantiates each node agent after installation when you add
an Application Server node to the deployment manager cell. For this
reason, you must manually create a function that automatically starts
a failed node agent server process.
On a Linux or supported UNIX operating
system, you must manually create a shell script that automatically
starts any of the processes previously mentioned. Each UNIX shell
script controls a single process, such as a stand-alone product instance.
Multiple stand-alone Application Server processes require multiple
UNIX scripts, which you can define.
In a WebSphere® Application Server Network Deployment environment,
the addNode or startNode command starts a single unmonitored
node agent only, the nodeagent process, and does not start all of
the processes that you might define on the node. While running, the
node agent monitors and restarts Application Server processes on that
node, on either a Windows or a Linux and UNIX-based platform. Each
Application Server process has MonitoringPolicy configuration settings
that the node agent uses when monitoring and restarting the process.
It is recommended that you manually set up a monitored
process for the deployment manager dmgr server and for any node agent
defined for your system. To set up a monitored process:
Procedure
- Use the Profile Management
tool to set up a Windows service to automatically monitor and
restart processes related to the product.
Perform the following procedure from the Profile Management
tool to select services that the installation wizard can set up:
- Click Run WebSphere Application Server Network Deployment as
a service.
If you select this option, the installation wizard creates the following service during
installation:
IBMWAS6Service - node_name
IBMWAS6Service
- node_name service controls the node_name process.
After
you complete and verify the installation, use the Windows Services
panel to change the
IBMWAS6Service - node_name service
to an automatic startup type.
- Right-click IBMWAS6Service - node_name and click Properties.
- Click Automatic from the Startup type list box and
click OK.
- Click Run IBM HTTP Server as a service.
Select this option
on the machine where you are installing the IBM HTTP Server.
If
you select this option, the installation wizard creates the following
services during the installation:
- IBM HTTP Server 2.0.x
- IBM HTTP Administration 2.0.x
The installation wizard defines the startup type of these services
as
automatic. It is not necessary for you to change the type
from manual to automatic.
- Enter your user ID and password and click Next.
In a coexistence environment, you can change the default
service names to make them unique. In a same version coexistence scenario
for IBM HTTP Server 2.0.x on a Windows platform, you cannot use the
default service names created by the installer because they are common.
To
work around this problem:
- Install the first copy of IBM HTTP Server, either by itself or
with the product, and select to install the services.
- Customize the service names for the first install by running the following commands from the
first install location:
apache -k install -n "IHS 2.0(1)"
apache -k install -f conf\admin.conf -n "IHS 2.0 Administration (1)"
- Edit the AdminAlias directive in the installLocation 1\conf\admin.conf file
to point to the new service name, such as IHS 2.0(1).
- Remove the default service names installed by the first install by running the following
commands:
apache -k uninstall -n "IBM HTTP Server 2.0"
apache -k uninstall -n "IBM HTTP Administration 2.0"
- Install the second copy of IBM HTTP Server, either by itself or
with the product. The default service names correspond to the second
install.
Avoid trouble: Customized service
names must be unique on your system.
- After you install the
product, set up a shell script to automatically monitor and restart
any related server processes.
Supported configurations: There
are two sets of substeps to complete this task. The first set of substeps
do not apply on the Red Hat Enterprise Linux Version 6 operating system.
For more information on this operating system, see the second set
of substeps.
- Locate the rc.was example shell
script, which is in the app_server_root/bin directory.
- Create a new shell script for each process that the
operating system is to monitor and restart.
- Edit each shell script according to comments in its
header, which provide instructions for identifying a product process.
- Edit the inittab file of the operating system, to add
an entry for each shell script you have created.
Comments
in the header of the rc.was file include a sample
inittab entry line for adding this script to the inittab table. Each
inittab entry causes the operating system to call the specified shell
script whenever the system initializes. As each shell script runs,
it monitors and starts the server process you specified.
For example, if you create the following inittab entry for a process, the rc.was shell script is
run whenever the system initializes, and if the process goes down while the system is initializing
into a machine that is operating at a runlevel of 2, 3, or
5:
was:235:respawn:/usr/WebSphere/AppServer/bin/rc.was >/dev/console 2>&1
If you create the following inittab entry, the rc.was shell script only runs once when you
initialize into a machine that is operating at a runlevel of 2,3, or
5:
was:235:once:/usr/WebSphere/AppServer/bin/rc.was >/dev/console 2>&1
Following
is a list of the runlevels that can be specified. Runlevels usually
default to either 3 or 5.
- 0-halt
- 1-Single user mode
- 2-Multiuser, without NFS (The same as 3, if you don't have networking)
- 3-Full multiuser mode
- 4-unused
- 5-X11
- 6-Reboot
If you don't know the runlevel into which your machine is booting, look at the following line in
the inittab file:
id:x:initdefault
where x is
the runlevel that the machine is booting into.
For example,
if your machine is booting into a runlevel of 5, then all of the processes
that are declared to run with a runlevel of 5 are started.
Avoid trouble: Everything that is ran from the inittab file runs under
the root user. Therefore, if you need the server to automatically start the process under a non-root
user ID when the machine starts, you must also add the following line to the inittab file:
su user -c values
where values is the file path and
arguments that are used to call the rc scripts you created, and user is the non-root user
that you have configured the product to run as.
Each shell
script monitors and restarts the following processes in a
WebSphere Application Server Network Deployment environment:
- A server process on a managed node
- A node agent process on a managed node
- A stand-alone Application Server process
- A deployment manager process
Note: The
following set of substeps apply to the Red Hat Enterprise Linux Version
6 operating system.
- Create the as1.conf file to monitor
and restart processes and place it in the /etc/init directory.
The following code is example content for the
as1.conf
file:
# upstart service for my application server profile
description "my application server"
start on runlevel [235]
stop on runlevel [!235]
expect fork
respawn
exec /opt/IBM/WebSphere/AppServer/bin/rc.as1
- Create the rc.as1 file to restart
the server and place it in the install_root/bin directory
for WebSphere Application Server.
The following code is example content for the
rc.as1
file:
#!/bin/sh
cd /opt/IBM/WebSphere/AppServer/profiles/profile_name/bin
./startServer.sh server_name
profile_name
represents the name of your application server profile. server_name is the name
of your server. Change these values to match your environment.
- After installing the
product, use the WASService.exe command to manually define the nodeagent
server process as a Windows service.
You can use the
same command to manually define a Windows service for another installation
instance or for another configuration instance of either the server1
process or the dmgr process.
- In the administrative console, click server_name > .
Start the
administrative console. In the topology tree, expand Servers and
click Application Servers. Click the name of the application server
that you want to start automatically. Click Process Definition.
Click Monitoring Policy. Change the Node Restart state to RUNNING.
Click Apply. Save the configuration.
- Select the application server that you
want to automatically restart and then, under Server Infrastructure
, click .
- Select Automatic restart.
- Click and
then click to
save the change directly to the master configuration.
Results
On a Windows operating system, you can
- Use the net start and net stop commands to control
the IBM HTTP Server services on a Windows system. For more information
about these commands, see the Windows help file. Access these commands
from the Start menu, clicking Start > Programs > IBM HTTP Server.
- Use the Start the Server and Stop the Server commands
to control the product process. Access these commands from the Start
menu, clicking Start > Programs > IBM WebSphere > Application Server.
- Use the Start the Manager and Stop the
Manager commands to control the WebSphere Application Server Network Deployment dmgr process.
Access these commands from the Start menu, clicking Start > Programs
> IBM WebSphere > Application Server > Deployment Manager.
Processes started by a startServer command,
a startNode command, or a startManager command are not
running as monitored processes, regardless of how they are configured.
For
example, you can configure a server1 process as a monitored process.
However, if you start the server1 process using the startServer command,
the operating system does not monitor or restart the server1 process
because the operating system did not originally start the process
as a monitored process.
What to do next
After the process is set up, the operating system can monitor
each server process and restart the process if it stops.Return
to the Defining application server processes administrative console
page to continue.