Jan 29, 2018

Common OEM 13c agent issues and fixes with Log directory structure

You may face following issues in OEM 13c like :
a) Agent is unable to communicate with the OMS. (REASON = Agent is Unreachable (REASON : Agent to OMS Communication is broken. ).
b) Huge volume Alerts

So, In this case, first try to connect the OMS like below:

$ telnet oms01.example.com 3872 
Trying 10.20.30.40... 
Connected to oms01.example.com. 
$

If there is no connectivity issue, then you can follow below steps and monitor the agent :

Step 1: Increase the agent memory 

1. Stop the agent. 
<AGENT_INST_HOME>/bin>./emctl stop agent

2. Take a backup of AGENT_INST_HOME/sysman/config/emd.properties and edit it 
From: 
agentJavaDefines=-Xmx270M -XX:MaxPermSize=96M 

To: 
agentJavaDefines=-Xmx512M -XX:MaxPermSize=96M 

3.Backup the file <AGENT_INST>/sysman/config/s_jvm_options.opt and add following parameter at EOF 

-XX:+UseMembar 

4.Start the agent 
./emctl start agent 

Then verify the log "emagent.nohup" file for rest of the agents and follow the above steps to avoid the same issue.

5. Verify the status of the agent

./emctl status agent


Note: 
To get a report on this issue, you can connect to the OMS and run the below query to find out the history:

Connected to the Repository database as the user SYSMAN, execute the following query:

SQL> Select b.target_name agent , c.target_name buddy 
from em_agent_buddy_map a, em_targets b, em_targets c 
where a.agent_target_guid = b.target_guid 

and a.buddy_target_guid = c.target_guid; 



DIRECTORY STRUCTURE AND LOCATIONS OF IMPORTANT TRACE AND LOG FILES OF ENTERPRISE MANAGER CLOUD CONTROL 13C:

The Trace and Log Files of OMS:

The Oracle Management Service has two applications: OMS Console (emgc) and OMS Platform (empbs). The trace and log files of these applications are located in “sysman/log” directory in the EM Instance Home (for example: /u01/oracle/gc_inst/em/EMGC_OMS1/sysman/log ). These logs are very useful to diagnose OMS related problems.

emoms.log : The main log file for the OMS Console (emgc) application.
emoms.trc : The main trace file for the OMS Console (emgc) application.
emoms_pbs.log : The main log file for the OMS pbs (empbs) application.
emoms_pbs.trc : The main trace file for the OMS pbs (empbs) application.
secure.log ; This log provides additional logs for “emctl secure oms” command.
emctl.log : This log contains OMS startup/shutdown details.
emctl.msg : This log is created by the OMS HealthMonitor thread, when it re-starts the OMS due to a critical error.

The Trace and Log Files of EM Managed Server:

EM Managed Server is the weblogic server hosting OMS applications. The logs are located in “logs” directory in EM Manager Server Home folder (for example: /u01/oracle/gc_inst/user_projects/domains/GCDomain/servers/EMGC_OMS1/logs):

EMGC_OMS1.log : The EMGC_OMSn instance writes all messages from its subsystems and applications to this logfile.
EMGC_OMS1.out : The messages written to sysout and syserr are saved in this file by the nodemanager. This log file is rotated by the nodemanager only at the time of Managed server start, and older files need to be manually purged.
access.log : This log file contains details of HTTP requests processed by EM Managed Server.
EMGC_OMS1-diagnostic.log: This log file contains application-related security errors.

The Trace and Log Files of Oracle HTTP Server (OHS):

Oracle HTTP Server (OHS) is the web server component of EM13c. It works as a reverse proxy for Oracle WebLogic Server and the framework for hosting static pages. It’s located in “logs” folder in the “OHS Home” (/u01/oracle/gc_inst/user_projects/domains/GCDomain/servers/ohs1/logs):

access_log : Access logs stores all the client requests. The HTTP Response code is useful in identifying whether the client request was successful or not.
ohs1.log : This is the error log for the OHS.
admin_log : This log file keeps Oracle Dynamic Monitoring Service (DMS) requests.
em_upload_http_access_log : The log file contains entries for Agent uploads in http mode.
em_upload_https_access_log : The log file contains entries for Agent uploads in https mode.

The Trace and Log Files of EM Agents:

The agent log files are located in the “sysman/log” folder in the “Agent Instance Home” (for example: /u01/oracle/emagent/agent_inst/sysman/log).

gcagent.log : This log file contains trace, debug, information, error, or warning messages from the Agent. It can be used for debugging Agent framework issues.
gcagent_errors.log : It’s similar to the gcagent.log but it contains only the log messages of ERROR and FATAL levels. The log has no size limit.
emagent.nohup : Nohup logs of the agent. This log contains startup and shutdown messages including JVM flags. It can be used to determine when the agent is down, and the errors generated on startup of shutdown can be examined with this log.
gcagent_mdu.log : This log tracks the metadata updates (such as save or remove targets, blackouts, deployments of metric extensions) to the Agent.
gcagent_sdk.trc : The gcagent_sdk.trc file contains log messages from each of the plugins and can be used for debugging plugin related issues.
emctl.log : emctl.log provides logging for emctl commands.
emdctlj.log : emdctlj.log contains logging for the entry point and the exit codes of the emctl commands.
secure.log : This log provides additional logs for “emctl secure agent” command, and can be useful to diagnose failures during securing of the Agent.
emagent_perl.trc : Trace file for the PERL scripts. EM uses perl scripts to gather some metrics and target discovery. The log level can be changed by modifying EMAGENT_PERL_TRACE_LEVEL variable in “sysman/config/emd.properties” file.

Jan 11, 2018

Install Oracle OEM agent 13c using EM CLI

In this post we will see how to install OEM agent 13c on any target host.

My OMS server host name : oemhost ( oemhost.oracle.com)
My target host is here : example

Step:1 - Find your supported platform details and OMS version

[oracle@oemhost bin]$ pwd
/u01/app/OEM/Middleware13c/bin
[oracle@oemhost bin]$ ./emcli login -username=gmohapatra
Enter password : 

Login successful
[oracle@oemhost bin]$ ./emcli sync
Synchronized successfully
[oracle@oemhost bin]$ ./emcli get_supported_platforms
-----------------------------------------------
Version = 13.2.0.0.0
 Platform = Linux x86-64
-----------------------------------------------
Version = 13.2.0.0.0
 Platform = Microsoft Windows x64 (64-bit)
-----------------------------------------------
Version = 12.1.0.4.0
 Platform = Linux x86-64
-----------------------------------------------
Platforms list displayed successfully.
[oracle@oemhost bin]$ 


Step:2 - Create agent image. You can create in your OMS and move to target host or you can install emcli client on target host and run same installation steps:

In OMS server downloaded the agent for the platform.

[oracle@oemhost bin]$ ./emcli get_agentimage -destination=/tmp/agentinstaller -platform="Linux x86-64" -version="13.2.0.0.0"
 === Partition Detail ===
Space free : 4 GB
Space required : 1 GB
Check the logs at /u01/app/OEM/gc_inst1/em/EMGC_OMS1/sysman/emcli/setup/.emcli/get_agentimage_2018-01-08_14-33-00-PM.log
Downloading /tmp/agentinstaller/13.2.0.0.0_AgentCore_226.zip
File saved as /tmp/agentinstaller/13.2.0.0.0_AgentCore_226.zip
Downloading /tmp/agentinstaller/13.2.0.0.0_Plugins_226.zip
File saved as /tmp/agentinstaller/13.2.0.0.0_Plugins_226.zip
Downloading /tmp/agentinstaller/unzip
File saved as /tmp/agentinstaller/unzip
Executing command: /tmp/agentinstaller/unzip /tmp/agentinstaller/13.2.0.0.0_Plugins_226.zip -d /tmp/agentinstaller
Exit status is:0
Agent Image Download completed successfully.
[oracle@oemhost bin]$ 


Step-3: Now let’s scp the software to our target server or Transfer it and unzip it. Then go to the installer location. Then run below command. 

$./agentDeploy.sh AGENT_BASE_DIR=/u01/app/oracle/product/agent13c \
-ignorePrereqs \
-invPtrLoc /u01/app/OraInventory/oraInst.loc  \
AGENT_PORT=3872 \
EM_UPLOAD_PORT=4903 \
OMS_HOST=oemhost.oracle.com \
ORACLE_HOSTNAME=example \
AGENT_INSTANCE_HOME=/u01/app/oracle/product/agent13c/agent_13.2.0.0.0 \ -- optional
AGENT_REGISTRATION_PASSWORD="world123" \
SCRATCHPATH=/home/oracle/tmp

OR

You can create a .rsp ( response file and run like below):

-- see the values set in agent.rsp response file:

$ cat agent.rsp | grep -v ^# | grep -v ^$
OMS_HOST=oemhost.oracle.com
EM_UPLOAD_PORT=4903
AGENT_REGISTRATION_PASSWORD=world123
AGENT_PORT=3872
EM_INSTALL_TYPE="AGENT"

$/u01/app/oracle/product/agent13c/agentDeploy.sh AGENT_BASE_DIR=/u01/app/oracle/product/agent13c RESPONSE_FILE=/u01/app/oracle/product/agent13c/agent.rsp


Note:
If you are getting below error then go with recommended fix:

Error msg:

SEVERE:emctl secure agent command has failed with status=1
Agent configuration has failed
Waiting for agent targets to get promoted...

Fix:

Reset the password of "AGENT_REGISTRATION_PASSWORD"

Setup --> Security --> Registration Passwords --> create

Step:4 - Execute the root.sh as given in the log from # ( root) user

# /u01/app/oracle/product/agent13c/agent_13.2.0.0.0/root.sh

Step-5: Check the agent status now:

[oracle@example bin]$ pwd
/u01/app/oracle/product/agent13c/agent_13.2.0.0.0/bin
[oracle@example bin]$ 
[oracle@example bin]$ ./emctl status agent
Oracle Enterprise Manager Cloud Control 13c Release 2  
Copyright (c) 1996, 2016 Oracle Corporation.  All rights reserved.
---------------------------------------------------------------
Agent Version          : 13.2.0.0.0
OMS Version            : 13.2.0.0.0
Protocol Version       : 12.1.0.1.0
Agent Home             : /u01/app/oracle/product/agent13c/agent_inst
Agent Log Directory    : /u01/app/oracle/product/agent13c/agent_inst/sysman/log
Agent Binaries         : /u01/app/oracle/product/agent13c/agent_13.2.0.0.0
Core JAR Location      : /u01/app/oracle/product/agent13c/agent_13.2.0.0.0/jlib
Agent Process ID       : 29272
Parent Process ID      : 29240
Agent URL              : https://example.oracle.com:3872/emd/main/
Local Agent URL in NAT : https://example.oracle.com:3872/emd/main/
Repository URL         : https://oemhost.oracle.com:4903/empbs/upload
Started at             : 2018-01-10 14:15:40
Started by user        : oracle
Operating System       : Linux version 2.6.32-358.el6.x86_64 (amd64)
Number of Targets      : 2
Last Reload            : (none)
Last successful upload                       : 2018-01-10 14:22:31
Last attempted upload                        : 2018-01-10 14:22:31
Total Megabytes of XML files uploaded so far : 0.28
Number of XML files pending upload           : 0
Size of XML files pending upload(MB)         : 0
Available disk space on upload filesystem    : 9.78%
Collection Status                            : Collections enabled
Heartbeat Status                             : Ok
Last attempted heartbeat to OMS              : 2018-01-10 14:23:47
Last successful heartbeat to OMS             : 2018-01-10 14:23:47
Next scheduled heartbeat to OMS              : 2018-01-10 14:24:47

---------------------------------------------------------------
Agent is Running and Ready
[oracle@example bin]$ 

Translate >>