Oracle Fusion Middleware & Application Server

Friday, April 24, 2020

Oracle Enterprise Manager 13.4 - New Add-On Plug-ins available

Oracle released some new Add-On Plug-ins for the Oracle Enterprise Manager 13.4.x

Following new Add-On Plug-Ins are available:

  • Enterprise Manager for Oracle Database Appliance
  • Enterprise Manager for TimesTen
  • Enterprise Manager for Oracle GoldenGate
  • Enterprise Manager for Oracle Unified Directory
  • Enterprise Manager for Utilities (TUGBU)
  • Enterprise Manager for Peoplesoft

The installation files for the above mentioned Add-On Plug-Ins can be found under: https://www.oracle.com/enterprise-manager/downloads/oem-v134-update-plugins-downloads.html



Thursday, April 2, 2020

Oracle WebLogic Server 14.1.1.0.0 and Oracle WebLogic Monitoring Exporter

As the latest release of Oracle WebLogic Server 14.1.1.0.0 is available (see my blogposts https://dirknachbar.blogspot.com/2020/03/oracle-weblogic-141100-available.html and https://dirknachbar.blogspot.com/2020/03/oracle-weblogic-141100-first-look.html), it's time to test Oracle WebLogic Server 14.1.1.0.0 and the Oracle WebLogic Monitoring Exporter https://github.com/oracle/weblogic-monitoring-exporter

In a previous blogpost (https://dirknachbar.blogspot.com/2020/02/weblogic-monitoring-with-prometheus-and.html) I was already talking about the Oracle WebLogic Monitoring Exporter, which is generating Prometheus conform metrics out of the Oracle WebLogic Server 12.2.x.

In the WebLogic Monitoring Exporter release 1.1.1 was a small issue with the option "domainQualifier: true". This option was causing, that a non Prometheus conform metric was generated and therefor your Prometheus Server couldn't capture the metrics.
With the actual release 1.1.2 of the WebLogic Monitoring Exporter this issue is fixed, many thanks to the Development Team behind the WebLogic Monitoring Exporter.

So, what you will need, is a running WebLogic Server 14.1.1.0.0 domain, download the get1.1.2.sh file from https://github.com/oracle/weblogic-monitoring-exporter/releases and create a YAML file for the to be generated metrics:

#
$ cat exporter-config.yml

metricsNameSnakeCase: true
domainQualifier: true
queries:
- key: name
  keyName: location
  prefix: wls_server_
  applicationRuntimes:
    key: name
    keyName: app
    componentRuntimes:
      prefix: wls_webapp_config_
      type: WebAppComponentRuntime
      key: name
      values: [deploymentState, contextRoot, sourceInfo, sessionsOpenedTotalCount, openSessionsCurrentCount, openSessionsHighCount]
      servlets:
        prefix: wls_servlet_
        key: servletName
- JVMRuntime:
    prefix: wls_jvm_
    key: name
- executeQueueRuntimes:
    prefix: wls_socketmuxer_
    key: name
    values: [pendingRequestCurrentCount]
- workManagerRuntimes:
    prefix: wls_workmanager_
    key: name
    values: [stuckThreadCount, pendingRequests, completedRequests]
- threadPoolRuntime:
    prefix: wls_threadpool_
    key: name
    values: [executeThreadTotalCount, queueLength, stuckThreadCount, hoggingThreadCount]
- JMSRuntime:
    key: name
    keyName: jmsruntime
    prefix: wls_jmsruntime_
    JMSServers:
      prefix: wls_jms_
      key: name
      keyName: jmsserver
      destinations:
        prefix: wls_jms_dest_
        key: name
        keyName: destination
 
- persistentStoreRuntimes:
    prefix: wls_persistentstore_
    key: name
- JDBCServiceRuntime:
    JDBCDataSourceRuntimeMBeans:
      prefix: wls_datasource_
      key: name
- JTARuntime:
    prefix: wls_jta_
    key: name

Place the get1.1.2.sh and the YAML file in one directory and execute from your Shell following command, which will add your YAML file into the wls-exporter.war file.

#
$ ls -la
-rw-r--r--    1 oracle  oinstall     1401 Apr  2 11:46 exporter-config.yml
-rwxr-xr-x@   1 oracle  oinstall      373 Apr  2 11:43 get1.1.2.sh

$ ./get1.1.2.sh exporter-config.yml 
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   607  100   607    0     0   1568      0 --:--:-- --:--:-- --:--:--  1564
100 2018k  100 2018k    0     0   937k      0  0:00:02  0:00:02 --:--:-- 2009k
created /var/folders/b_/ldw8b91n7h7dp58hd3xf2qmc0000gn/T/ci-XXXXXXXXXX.EUmQ8eka
/var/folders/b_/ldw8b91n7h7dp58hd3xf2qmc0000gn/T/ci-XXXXXXXXXX.EUmQ8eka ~/Downloads/test
in temp dir
updating: config.yml
 zip warning: Local Entry CRC does not match CD: config.yml
 (deflated 64%)
~/Downloads/test

$ ls -la wls-exporter.war
-rw-r--r--    1 oracle  oinstall  2066869 Apr  2 11:47 wls-exporter.war

Now, just deploy the newly generated war file wls-exporter.war on your WebLogic 14.1.1.0.0 domain, start the webapp and you can access the metrics over the URL http://<Your Servername>:<Port of Managed Server or AdminServer>/wls-exporter/metrics

Snippet from an AdminServer
Snippet from a Managed Server

How to integrate the metrics from your WebLogic Server 14.1.1.0.0 into your Prometheus, just have a look on my previous blogpost "Weblogic Monitoring with Prometheus and Grafana" https://dirknachbar.blogspot.com/2020/02/weblogic-monitoring-with-prometheus-and.html. The method remains the same as for Oracle WebLogic Server 12.2.x


Wednesday, April 1, 2020

Oracle WebLogic Server 14.1.1.0.0 Docker Image

As since around 2 days the latest Oracle WebLogic Server 14.1.1.0.0 was released, I had some time to create Docker Images for the Oracle WebLogic Server 14.1.1.0.0

I have created two versions based on WebLogic Server 14.1.1.0.0 Generic with JDK 11:
  • General Docker Image (not optimized with space usage)
  • Optimized Docker Image (nearly 50% space savings)
The corresponding Dockerfiles and so on you can find in my GitHub Repository https://github.com/DirkNachbar/Docker/tree/master/OracleWebLogic
The Readme for the usage is under https://github.com/DirkNachbar/Docker/blob/master/OracleWebLogic/README1411.md

So just clone the above mentioned GitHub Repository, get the 2 required installation files:
Drop the WebLogic 14.1.1.0.0 Generic installer into the directory Docker/OracleWebLogic/dockerfiles/14.1.1.0.0
Drop the JDK 11.0.6 installer into the directory Docker/OracleWebLogic/dockerfiles/14.1.1.0.0/serverjre/java-11

At first you need to run the script Docker/OracleWebLogic/dockerfiles/14.1.1.0.0/serverjre/java-11/buildDockerImage.sh
After that you should have a Docker Image for your JDK 11.

#
docker images | grep jdk
REPOSITORY          TAG                    IMAGE ID            CREATED             SIZE
oracle/jdk          11                     19088de5fc56        23 minutes ago      422MB

As next you have to run the script Docker/OracleWebLogic/dockerfiles/buildDockerImage.sh

#
$ ./buildDockerImage.sh -v 14.1.1.0.0 -o
Checking if required packages are present and valid...
fmw_14.1.1.0.0_wls_Disk1_1of1.zip: OK
=====================
Building image 'oracle/weblogic:14.1.1.0.0-optimized' ...
Sending build context to Docker daemon  1.111GB
Step 1/17 : FROM oracle/jdk:11 as base
. . .
. . .
Successfully built ebe06a93a85b
Successfully tagged oracle/weblogic:14.1.1.0.0-optimized

  WebLogic Docker Image for 'optimized' version 14.1.1.0.0 is ready to be extended:

    --> oracle/weblogic:14.1.1.0.0-optimized

  Build completed in 76 seconds.

$ docker images | grep weblogic
REPOSITORY          TAG                    IMAGE ID            CREATED             SIZE
oracle/weblogic     14.1.1.0.0-optimized   ebe06a93a85b        5 minutes ago       1.62GB

In order to get a running WebLogic 14.1.1.0.0 Container you just need to align at first the domain.properties under Docker/OracleWebLogic/dockerfiles/14.1.1.0.0/properties with your preferred WebLogic username and password and execute your docker run command

#
# Define the Docker Image based on your above Docker Image build
# Either its "oracle/weblogic:14.1.1.0.0-optimized" or "oracle/weblogic:14.1.1.0.0-generic"

$ docker run -d --name <ContainerName> \
             -p 7001:7001 -p 9002:9002 \
             -v <Host Path to subdirectory properties>:/u01/oracle/properties \
             -e ADMINISTRATION_PORT_ENABLED=true -e DOMAIN_NAME=<DomainName> \
             oracle/weblogic:14.1.1.0.0-optimized

$ docker logs -f <ContainerName>

# For Example:

$ docker run -d --name wls1411optimized \
             -p 7001:7001 -p 9002:9002 \
             -v /projects/Docker/OracleWebLogic/dockerfiles/14.1.1.0.0/properties:/u01/oracle/properties \
             -e ADMINISTRATION_PORT_ENABLED=true -e DOMAIN_NAME=OptimizedDomain \
             oracle/weblogic:14.1.1.0.0-optimized

$ docker logs -f wls1411optimized

. . .
. . .
<Apr 1, 2020, 12:40:28,980 PM Greenwich Mean Time> <Notice> <WebLogicServer> <BEA-000329> <Started the WebLogic Server Administration Server "AdminServer" for domain "OptimizedDomain" running in production mode.> 
<Apr 1, 2020, 12:40:28,980 PM Greenwich Mean Time> <Notice> <Server> <BEA-002613> <Channel "DefaultSecure" is now listening on 172.17.0.2:7002 for protocols iiops, t3s, ldaps, https.> 
<Apr 1, 2020, 12:40:28,981 PM Greenwich Mean Time> <Notice> <Server> <BEA-002613> <Channel "Default" is now listening on 172.17.0.2:7001 for protocols iiop, t3, ldap, snmp, http.> 
<Apr 1, 2020, 12:40:28,981 PM Greenwich Mean Time> <Notice> <Server> <BEA-002613> <Channel "Default[1]" is now listening on 127.0.0.1:7001 for protocols iiop, t3, ldap, snmp, http.> 
<Apr 1, 2020, 12:40:28,982 PM Greenwich Mean Time> <Notice> <Server> <BEA-002613> <Channel "DefaultSecure[1]" is now listening on 127.0.0.1:7002 for protocols iiops, t3s, ldaps, https.> 
<Apr 1, 2020, 12:40:28,983 PM Greenwich Mean Time> <Notice> <Server> <BEA-002613> <Channel "DefaultSecure" is now listening on 172.17.0.2:7002 for protocols iiops, t3s, ldaps, https.> 
<Apr 1, 2020, 12:40:28,983 PM Greenwich Mean Time> <Notice> <Server> <BEA-002613> <Channel "Default" is now listening on 172.17.0.2:7001 for protocols iiop, t3, ldap, snmp, http.> 
<Apr 1, 2020, 12:40:28,984 PM Greenwich Mean Time> <Notice> <Server> <BEA-002613> <Channel "Default[1]" is now listening on 127.0.0.1:7001 for protocols iiop, t3, ldap, snmp, http.> 
<Apr 1, 2020, 12:40:29,010 PM Greenwich Mean Time> <Notice> <WebLogicServer> <BEA-000360> <The server started in RUNNING mode.> 
<Apr 1, 2020, 12:40:29,021 PM Greenwich Mean Time> <Notice> <WebLogicServer> <BEA-000365> <Server state changed to RUNNING.>