As any IT
system administrator knows, it’s crucial to get informed in time of events and
certain metrics levels occurring in the systems that you are responsible for.
It’s the same with any Fusion Middleware platform, and this kind of
functionality is covered by both the Enterprise Manager Grid Control, but also
by the Weblogic Server itself. So if you are only using the Weblogic
Administration console for monitoring your Weblogic platform, you can still set
up alerts to inform you on the state of your system. This post will cover such
a setup that will send email notifications to the administrators, although SNMP
traps, JMX, and JMS are also supported.
To set up
your email alerts you will need to cover these main steps:
In our specific case of email
notifications, you need to set up a JavaMailSession object, which will actually
be used by the Notifications to send the alerts through the specified email
server;
Set up a diagnostic module and define any
metrics that you would like to collect;
Define the Watches you are
interested in – this is the situation that you want to trigger your alert. It
can be a certain message in the log files, or a certain value of a collected
metric, or a certain event occurring in the system.
Define the Notifications you would
like to receive and associate the Watch to a Notification;
In the below
example, we will set up alerts on the state of the Weblogic Managed Server, so
the admin will get a notification when a server is not in the RUNNING state.
1. Set up the Mail Session object.
Note that the
JavaMailSession itself does not offer email server capabilities, but it only
provides the JavaMail API so that applications can send and receive email from
an already existing server.
a) Click “Lock & Edit” to acquire a
configuration lock
b) Expand Services -> Mail Sessions and
click “New” to create a new Java Mail Session object
c) Provide Name, JNDI Name and JavaMail
Properties as follow:
Name – WLSAlertsMailSession
JNDI Name – WLSAlertsMailSession
(You may
enter whatever value here, but it’s best to keep the same value for the two
names)
JavaMail
Properties:
mail.debug=”true” – not mandatory, but
recommended should you want to troubleshoot why your alerts are not getting
through
mail.smtp.port=25
mail.smtp.from=”soa_admin@example.com”
mail.smtp.host=email.server.example.com
d) Click Next to target the mail session to a
server (either Managed or AdminServer) and click finish. You need to do this so
that the MailSession is exposed on the servers JNDI tree.
e) Activate
the changes by clicking “Activate
Changes”.
You can
actually test that your JavaMail properties are correct and that you can send
email messages via the email server specified by following the steps described
in this post: Email Test
2. Set up a Diagnostic Module and define a metric of interest as a Collected Metric.
a) Expand Diagnostics -> Diagnostics Modules and click “New”
to create a new diagnostics module. Provide a name and description.
Name
– DiagModuleWLDF
Description
– This is a WLDF module for testing email notifications
b) Select the
newly created module and select “Targets” tab. Select the appropriate server
for target as before
c) Click “Save” and “Activate”
d) Click “Lock & Edit” to acquire a new
configuration lock
e) Click on
the “Collected Metrics” tab and
click “New”
f) Select “ServerRuntime” and click “Next”
g) Select “ServerRuntimeMBean” from the dropdown
h) From the
list of collected attributes select “State”
and move it in the “Chosen”
category;
Click “Next”
i) From the
instances list select the servers
you would like to be informed about by selecting an
instances
and moving it to the “Chosen”
category
j) Click “Finish”
k) Click “Save” and “Activate”
Notice that
this metric is collected at a configurable interval, by default 300000ms
3. Set up a new
Watch rule
a) Click “Lock & Edit” to acquire a
configuration lock
b) Navigate
to the diagnostic module created above (DiagModuleWLDF)
and select the “Watches and
Notifications” tab and “Watches”
sub-tab (if not already selected)
c) Click “New” to create a new Watch. Provide the name and select the
type as “Collected Metrics”. Also
make sure the Watch is enabled.
Name
– ServerStateWatch
d) Click “Next”
e) Click “Add Expressions”
f) Ensure
that “ServerRuntime” is selected and
click “Next”
g) From the
dropdown, select “ServerRuntimeMBean”
again. The click “Next”
h) Select the
instance for the appropriate server from the list for “Instance” and click “Next”
i) For “Message Attribute” select “State”, “!=” for “Operator” and
type “RUNNING” (all capital letters)
for “Value”. Click “Finish” the Watch
j) Activate
the changes
This Watch
will now be triggered every time the server state is other than RUNNING. Please
note that this is dependent on the Collected Metric’s sampling period as well.
4. Setting up
the Notification and associating it
with a certain Watch
a) Click “Lock & Edit” to acquire a
configuration lock
b) Navigate
to the diagnostic module created above and select the “Watches and Notifications” tab and “Notification” sub-tab
c) Click “New” to create a new Notification
d) Select “SMTP (E-Mail) for Type and click “Next”
e) Provide a name – ServerStateNotification. The
notification must be enabled, of
course. Click “Next”.
f) Configure
the following properties for the “Config
Notification – SMTP Properties” page
g) Mail Session Name – WLSAlertsMailSession
h) E-Mail Recipients – admin@example.com
i) Click “Finish”.
j) Activate
the changes
To associate
the watch and the notification:
a) Click “Lock & Edit” to acquire a configuration
lock
b) Navigate
to the diagnostic module created above (DiagModuleWLDF)
and select the “Watches and
Notifications” tab and “Watches”
sub-tab (if not already selected)
c) Select the
watch you created earlier – ServerStateWatch
d) Select the
“Notifications” tab and move the “ServerStateNotification” from Available to Chosen
e) Click “Save”
f) Select the
“Alarms” tab and select “Use an automatic reset alarm”. Set the
“Automatic reset period” so that you
don’t get spammed with alerts email and click “Save”.
g) Click “Activate Changes”
And that’s
it. Next time one of your servers is in a state other than RUNNING (and is
picked up by the collected metric based on the sampled period), you will
receive an email in the form of:
Of course,
both the Subject and the Body of the mail can be customized in the
Administration console, in the notification section.
Thanks to Lam Diengdoh
No comments:
Post a Comment