Oracle Cloud Agent is a lightweight process that manages plugins running on compute instances. Plugins collect performance metrics, install OS updates, and perform other instance management tasks.
To use plugins on an instance, the Oracle Cloud Agent software must be installed on the instance, the plugins must be enabled, and the plugins must be running. You might need to perform additional configuration tasks before you can use certain plugins.
Supported Images
Oracle Cloud Agent:
Oracle Cloud Agent is supported on current platform images and on custom images that are based on current platform images. Oracle Cloud Agent is installed by default on current platform images.
If you use an older platform image, you must manually install the Oracle Cloud Agent software. Select an image dated after November 15, 2018 (except Ubuntu, which must be dated after February 28, 2019).
You might have success manually installing Oracle Cloud Agent on other images, though it has not been tested on other operating systems and there is no guarantee that it will work.
Plugins: Plugins are installed as part of Oracle Cloud Agent. The plugins that are supported for an instance depend on the version of Oracle Cloud Agent and on the image that you use to create the instance. To determine which plugins are supported for a particular image, use the Console to create an instance. Or, use the ListInstanceagentAvailablePlugins API operation, providing the OS name and OS version of the image.
Note
On Arm-based OCI Ampere A1 Compute shapes, the Custom Logs Monitoring plugin is not supported.
Available Plugins 🔗
Each Oracle Cloud Agent plugin provides functionality related to compute instances. This functionality can enable features that are part of the Compute service, and features that are part of other services.
The following Oracle Cloud Agent plugins are available.
Plugin Name
Description
Steps to Configure and Use
Bastion
Allows secure shell (SSH) connections to an instance without public IP addresses using the Bastion service.
Allows you to manually manage updates to the Instance Security agent if you are running a custom image which doesn't have Oracle Cloud Agent (OCA) enabled.
Collects data from resources such as OSs, applications, and infrastructure resources for Oracle Cloud Infrastructure services that are integrated with Management Agent. Data can include observability, log, configuration, capacity, and health data.
Manages autonomous updates and collects data associated with events, including logs and stack traces, for instances managed by the Autonomous Linux service.
To use Oracle Cloud Infrastructure, an administrator must be a member of a group granted security access in a policy by a tenancy administrator. This access is required whether you're using the Console or the REST API with an SDK, CLI, or other tool. If you get a message that you don't have permission or are unauthorized, verify with the tenancy administrator what type of access you have and which compartment your access works in.
For administrators: The policy in Let users launch compute instances includes the ability to enable and disable individual plugins, as well as start and stop all plugins on an instance. If the specified group doesn't need to launch instances or attach volumes, you could simplify that policy to include only manage instance-family, and remove the statements involving volume-family and virtual-network-family. In addition, you must use the following policy to allow users to access the available plugins:
Copy
Allow group PluginUsers to read instance-agent-plugins in compartment ABC
If you create an instance using a current platform image or a custom image that is based on a current platform image, then Oracle Cloud Agent is installed by default. No action is needed.
To manually install the Oracle Cloud Agent software on an instance that uses another supported image, use one of the following procedures appropriate to the operating system.
To determine whether the Oracle Cloud Agent software is installed, run one of the following commands. On Oracle Linux:
Copy
sudo yum info oracle-cloud-agent
On Oracle Linux Cloud Developer:
Copy
rpm -qa | grep oracle-cloud-agent
The command returns the Oracle Cloud Agent version that is currently installed.
If Oracle Cloud Agent isn't installed, or if the installed version is not the latest version, install the latest version by running the following command:
Copy
sudo yum install -y oracle-cloud-agent
Note
If you don't have access to the yum repository that has Oracle Cloud Agent, obtain the Oracle Cloud Agent installation file by contacting support.
To install Oracle Cloud Agent on instances that use Ubuntu images, Snapcraft must be installed on the instance. Install Snapcraft by running the following commands, in sequence:
Copy
sudo apt update
Copy
sudo apt install snapd
Copy
sudo snap install oracle-cloud-agent --classic
This command installs and runs the Oracle Cloud Agent software.
To run the Oracle Cloud Agent software on the instance, enter one of the following commands.
If you want to install Oracle Cloud Agent on an instance that uses an older image as part of the instance launch, you can provide a cloud-init script (cloudbase-init on Windows instances) when you create the instance.
Obtain the Oracle Cloud Agent installation file. Do one of the following things, depending on the image:
If you have access to the yum repository that has Oracle Cloud Agent, proceed to the following step. If you don't have access to the yum repository, obtain the Oracle Cloud Agent installation file by contacting support.
On the Management tab, in the Initialization script section, select Paste cloud-init script. Then, copy and paste one of the following scripts, depending on the image.
To install Oracle Cloud Agent on instances that use Ubuntu images, Snapcraft must be installed on the instance. Install Snapcraft by running the following commands, in sequence:
Open the navigation menu and select Compute. Under Compute, select Instances.
Click the instance that you're interested in.
Click the Oracle Cloud Agent tab.
Toggle the Enabled or Disabled switch for the plugin.
Caution
Functionality that depends on the plugin, such as monitoring, autoscaling, or OS management, will not work when the plugin is disabled.
It takes up to 10 minutes for the change to take effect.
If you enabled a plugin, if necessary, perform any configuration tasks that are required before you can use the plugin. For information about how to configure each plugin, see the documentation for each plugin in Available Plugins.
You can stop all of the plugins that are running on an instance. Any individual plugins that are enabled on the instance remain enabled, but the plugin processes stop running. The plugin processes will only start running again after you restart all plugins.
For example, if you want to troubleshoot plugins, you can stop all plugins and then disable the plugins that you think might have an error. Reenable the plugins one-by-one, restarting the plugins after you enable each plugin, to determine which plugin has an issue. For more information about troubleshooting plugins, see Troubleshooting Oracle Cloud Agent.
To stop all plugins on an instance:
Open the navigation menu and select Compute. Under Compute, select Instances.
Click the instance that you're interested in.
Click the Oracle Cloud Agent tab.
Click Stop plugins.
Caution
Functionality that depends on plugins, such as monitoring, autoscaling, and OS management, will not work when all plugins are stopped.
Click Stop plugins.
It might take several minutes for all plugins to stop. Oracle Cloud Agent continues to run when plugins are stopped.
Use these API operations to manage Oracle Cloud Agent plugins:
In the Core Services API:
LaunchInstance - enables or disables plugins, or stops all plugins, when you create an instance.
GetInstance and ListInstances - gets information about which plugins are enabled on an instance (or a list of instances).
UpdateInstance - enables or disables individual plugins, and stops or starts all plugins, for an existing instance.
In the Oracle Cloud Agent API:
ListInstanceagentAvailablePlugins - lists the plugins that are available for all instances. You can filter the results based on the image that you plan to use to launch an instance.
ListInstanceAgentPlugins - gets information about the plugins that are available on an existing compute instance.
GetInstanceAgentPlugin - gets information about a specific plugin on an existing compute instance.
Updating the Oracle Cloud Agent Software 🔗
We recommend always running the latest version of the Oracle Cloud Agent software.
If the instance can access the internet, then no action is needed. Oracle Cloud Agent periodically checks for newer versions and installs the latest version when an update is available.
If the instance does not have access to the internet, then you must manually update the Oracle Cloud Agent software. For example, a compute instance cannot access the internet if it does not have a public IP address, internet gateway, or service gateway. In this situation, Oracle Cloud Agent cannot complete its checks for newer versions.
Adds support for automatically enabling the resource discovery and monitoring feature with a new policy.
1.13.0
July 1, 2021
Adds support for Arm-based shapes running Oracle Linux for the following plugins:
Bastion
Block Volume Management
Compute Instance Run Command
Vulnerability Scanning
Delays the update check on startup by one hour.
Moves the instance agent service endpoint from iaas to instance-agent.
OS Management Service Agent:
Adds support for custom CA certificates.
Vulnerability Scanning:
Updates the way RPM packages are queried.
1.12.0
June 2, 2021
Bastion:
Fix to only create the control plane and data plane clients once and not on each iteration of the bastion workflow.
Block Volume Management:
Updated the plugin status to be running or stopped when it is running or stopped respectively.
Removed the default /etc/multipath.conf to avoid conflicts.
Improved the error message to report no volume attachments were found by the plugin.
Fixed a race condition by restarting the multipathd service.
Ubuntu instances only:
Miscellaneous updates.
1.11.4
May 20, 2021
Fixes an issue with the 1.11.0 and 1.11.1 updater not updating the Oracle Cloud Agent software.
1.11.3
May 14, 2021
Miscellaneous updates.
1.11.1
May 3, 2021
Replaces the Python updater with a Golang updater.
Initial release of the Bastion plugin.
1.10.0
April 7, 2021
Custom Logs Monitoring:
Added support for Ubuntu 16.04, 18.04, and 20.04.
OS Management Service Agent:
Added osmsx_ctl to manage a flag file in future Autonomous Linux releases.
Added FIPS Object Model to the OS Management Service Agent build.
Ubuntu instances only:
Added support for Custom Logs Monitoring.
1.9.0
March 3, 2021
OS Management Service Agent:
OS Management process binds to port in ephemeral range.
Custom error handler for empty yum transactions.
1.8.3
January 13, 2021
Ubuntu instances only:
Adds support to enable or disable individual plugins.
Adds two new metrics for monitoring.
Fix for updater start in new images.
Updater fix for signature verification on packages.
Adds support for reattachable plugins so that Oracle Cloud Agent can be upgraded without stopping plugins.
1.8.2
January 13, 2021
Compute Instance Monitoring:
Improve filtering of UNIX disk devices.
1.8.1
January 13, 2021
OS Management Service Agent:
Disabled by default.
1.8.0
January 13, 2021
Adds support to enable or disable individual plugins.
Adds two new metrics for monitoring.
OS Management Service Agent:
Enabled by default.
1.7.1
December 17, 2020
Fix for updater start in new images.
OS Management Service Agent disabled in US Government Cloud.
1.7.0
December 7, 2020
Updater fix for signature verification on packages.
Custom Logs Monitoring:
Bug fix for signature verification.
Add default bucket namespace for non-commercial realms.
1.6.0
November 6, 2020
Adds support for reattachable plugins so that Oracle Cloud Agent can be upgraded without stopping plugins.
Compute Instance Run Command:
Includes support for the run command feature in all regions in the Oracle Cloud Infrastructure commercial realm.
Custom Logs Monitoring:
Enables package signature verification in CentOS.
OS Management Service Agent:
Fixes the plugin to stop its process when it is requested to stop rather than staying up idle.
Fixes an upgrade kill cycle bug where OS Management upgrades Oracle Cloud Agent using yum, which then stops Oracle Cloud Agent, which stops the plugin.
1.5.1
October 27, 2020
Includes support for the run command feature.
1.4.1
October 21, 2020
Hotfix for agent termination of orphaned processes.
1.4.0
October 2, 2020
Fixes in updater daemon and plugins to make them more resilient.
1.3.2
September 9, 2020
Fix auto update download directory permissions.
Minor enhancements to the Compute Instance Monitoring plugin. Enable additional plugins.
Create grpc sockets in /var/lib/oracle-cloud-agent/tmp.
1.2.0
August 3, 2020
Upgrade the agent to support plugins
0.0.19
May 28, 2020
Fix updater failing to run on images that mount a filesystem with noexec flag set, to /tmp.
Use instance metadata to generate client side URLs.
Includes support for the instance metadata service (IMDS) v2.
0.0.18
May 11, 2020
Miscellaneous updates.
0.0.15
January 15, 2020
Migrate from Python 2.7.15 to Python 3.6.9.
0.0.13
November 4, 2019
Fix a bug in handling monitoring service internal server errors.
0.0.11
September 13, 2019
Fix retry strategy for sending metrics and refresh security tokens.
0.0.10
July 15, 2019
Fix for correct handling of forced termination of the oracle-cloud-agent-updater.
You can uninstall the Oracle Cloud Agent software from an instance. After you uninstall Oracle Cloud Agent, features that depend on Oracle Cloud Agent plugins are not available for the instance.