Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Anchor
Navigation-Steps
Navigation-Steps

  1. Log in to your Cloudaware account.

  2. Select Admin under your username in the upper right corner.

  3. Locate Breeze in the list of DevOps Integrations. Click 1 Configured.

...

Check Navigation to get the Breeze agent installer file.

Linux

1. Download the agent installer (click the version for select Linux Agent version) to the temporary directory.

...

Code Block
tar xvzf breeze-agent*.tgz

3. Enter the unpacked directory:

Code Block
cd breeze-agent

4. Run the installation script:

  • as root-user:

...

Code Block
cd /opt/breeze-agent/app.sh

3) Check the log - file var/log/breeze-agent.log. It should be used only by the cronjob. When the agent is run manually, the log data will be printed to STDOUT.

...

1. Download the agent installer (click the version for select Windows Agent version)

2. Run the installer executable file:

Code Block
(breeze-agent*.exe)

Breeze Agent agent will be automatically installed on the system.

...

3) Run the job manually. Check the log - file C:\Program Files\Breeze\agent.log.


Automated Installation

Check Navigation to get the Breeze agent installer file.

AWS Elastic Beanstalk

Installing the Breeze Agent You can install Breeze agent on AWS Elastic Beanstalk can be done using .ebextension configuration files. In this example, we will use EB CLI to deploy a new configuration.

1. Upload the Breeze Agent agent installer file somewhere your ElasticBeanstalk environment can reachto where it is available for your Elastic Beanstalk environment. We recommend using any S3 bucket with restricted access or the one created by Elastic Beanstalk (used in the example below).

2. Create a configuration file in the .ebextension directory that is located in your project directory.

Windows-based environment:

...

This configuration file contains 3 sections: Files, Commands and Resources (AWS). 

The Files section delivers the Breeze Agent agent installer to the instance from S3 bucket.

The Commands section installs the Breeze Agentagent.

The Resources section creates an authentication role that allows grants access to the bucket with Breeze Agent agent installers to the Elastic Beanstalk.

For more configuration options see check AWS documentation.

3. Deploy the application with new .ebextension config.

Code Block
eb deploy

...

You can install Breeze agent on AWS EC2 instances using 'EC2 instance user data' during the initial launch of an instance. The script involves the following steps:

1. Download the agent installer

...

Since the installer file is customer-related and may contain vulnerable data, it may be challenging to define a secure location where it will be placed and accessible for EC2 instance. Upload the installer file into the location where it will be publicly available for short duration. In our use case, we will generate a Presigned presigned AWS S3 object URL for the S3 bucket storing the installer file. 

...

AWS CLI tool and preconfigured profile in your AWS account are required. Use this line command to generates Presigned generate a presigned object URL:

Code Block
~$ aws s3 presign s3://breeze-agents/breeze-agent.linux.tgz

...

Default lifetime for this URL is 1 hour (or 3600 seconds). You can manually define the URL lifetime by adding --expires-in <time in seconds> option:

Code Block
~$ aws s3 presign s3://breeze-agents/breeze-agent.linux.tgz --expires-in 300

...


Once agent installers are ready, add the script to EC2 instance user data to install Breeze Agentagent.

Replace the presigned URL in the script samples below by the one you generated and insert it into the User data section when launching the instance.

...

Code Block
<powershell>
function New-TemporaryDirectory {
  $parent = [System.IO.Path]::GetTempPath()
  [string]$name = [System.Guid]::NewGuid()
  New-Item -ItemType Directory -Path (Join-Path $parent $name)
}

$url = "<presigned URL to agent installer in your S3 bucket>"
$tmp_dir = New-TemporaryDirectory
$agent_sfx = "$tmp_dir\breeze-agent.exe"

# download agent installer
(New-Object System.Net.WebClient).DownloadFile($url, $agent_sfx)

# install agent
Start-Process $agent_sfx -ArgumentList '-gm2' -NoNewWindow -Wait

# clean up
Remove-Item "$tmp_dir" -recurse
</powershell>

Windows must have Powershell PowerShell preinstalled. This script will work for all Windows Server versions starting 2012 R2 and newer.

...

Create a package with Breeze Agentagent. The distributor will publish this package to System Manager managed instances. Then the agent can be installed or uninstalled:

...

The distributor package consists of a manifest and two .zip archive files for Windows and Linux platforms. Each archive contains install and uninstall scripts, as well as Breeze Agent agent distro respectively to the platform. The manifest template and scripts can be obtained from Github repository.

...

A Linux archive named breeze-agent-linux.zip should contain next the following files: install.sh, uninstall.sh and agent.XXX.YY.Z.x86_64.linux.tgz (the Linux Breeze Agent agent distro as it was downloaded from Cloudaware CMDB).

A Windows archive named breeze-agent-windows.zip should contain such the following files as: install.ps1, uninstall.ps1 and agent.XXX.YY.Z.windows.signed.exe (the Windows Breeze Agent agent distro as it was downloaded from Cloudaware CMDB).

Note

Ensure that the script files have correct lines breaks, namely LF (\n == 0x0A) on Linux and CRLF (\r\n == 0x0D 0x0A) on Windows.

...

In the manifest.json find the section "files" and replace ARCHIVE_CHECKSUM placeholders with the calculated checksums.

...

Create an Advanced package in AWS Systems Manager as described in AWS documentation.

SCCM

To install Breeze Agent agent via SCCM, we recommend using PowerShell script that will download the agent installer to a target machine and install it.

Download the Breeze Agent agent installer to any location where it can be downloaded by the target machine. In our example, we will use a shared folder with permission for account that set as Client Push Installation account for SCCM Site.

...

2. Change the $url variable to your Breeze Agent agent installer location.

3. Make sure that target systems have access to the installer’s installer's location.

4. Run the script on system or group to install Breeze Agentagent.

Script sample:

Code Block
function New-TemporaryDirectory {
  $parent = [System.IO.Path]::GetTempPath()
  [string]$name = [System.Guid]::NewGuid()
  New-Item -ItemType Directory -Path (Join-Path $parent $name)
}

$url = "\\10.0.0.69\d\breeze-agent.exe"
$tmp_dir = New-TemporaryDirectory
$agent_sfx = "$tmp_dir\breeze-agent.exe"

# download agent installer
(New-Object System.Net.WebClient).DownloadFile($url, $agent_sfx)

# install agent
Start-Process $agent_sfx -ArgumentList '-gm2' -NoNewWindow -Wait

# clean up
Remove-Item "$tmp_dir" -recurse

Chef

1. Clone the public-utilities repo to your server:

Code Block
git clone https://github.com/cloudaware/public-utilities.git

2. Put your Breeze Agent agent installer files to the public-utilities/chef-modules/breeze-agent/files directory. Ensure the files are named breeze-agent-linux.tgz and breeze-agent-windows.exe.

3. Copy Breeze Agent agent cookbook to your cookbook directory and upload it to the server:

...

Code Block
export EDITOR=vim #any other editor can be selected, like nano for instance
knife role create breeze-agent

Once Replace everything with the following in the editor, replace everything with the following and save:

Code Block
{
  "name": "breeze-agent",
  "description": "",
  "json_class": "Chef::Role",
  "default_attributes": {},
  "override_attributes": {},
  "chef_type": "role",
  "run_list": [ "recipe[breeze-agent]" ],
  "env_run_lists": {}
}

5. Add the role to the nodes that you need in question or to all nodes using your web interface or the folowing following command:

Code Block
knife node run_list add $NODE_NAME 'role[breeze-agent]' #Where $NODE_NAME is the name of the actual node

...

Code Block
for node in `knife node list`;do knife node run_list add $node 'role[breeze-agent]';done;

Next Please allow some time for the next chef-client will to apply the changes on the nodes. Please note that it may take some time.

Puppet

1. Put the Puppet module folder to the /etc/puppetlabs/code/environments/production/modules/.

2. Put Breeze Agent agent installer files to the /etc/puppetlabs/code/environments/production/modules/breeze_agent/files directory.

...

4. Add the required variables breeze_package_linux and breeze_package_windows.

Ansible

1. Put Breeze Agent agent installer files to the 'files' directory.

2. Specify the installer file name and hosts in breeze_agent_linux.yml and breeze_agent_windows.yml

...

1. Create a file etc/tags in the Breeze agent’s agent's directory:

Linux: /opt/breeze-agent/etc/tags

...

Code Block
vmware.vmid=vm-123456
vmware.service.uuid=1111-22-33-44-555555

WHERE

vmware.vmid - moRef ID,

vmware.service.uuid - instanceUuid from the API call described here.

Proxy support

Check Navigation to get the agent installer file.

...

To add the proxy support to Breeze agent, edit the startup script:

On Linux:

Open the file /opt/breeze-agent/app.sh

...

Code Block
export http_proxy="http://1.2.3.4:3128"
./app.rb # this line already exist in file

On Windows:

Open the file C:\Program Files\Breeze\app.bat

Add the next line before the string ruby:

Code Block
app.rb >> agent.log 2>&1:
set http_proxy=http://1.2.3.4:3128

...