Skip to end of metadata
Go to start of metadata

You are viewing an old version of this content. View the current version.

Compare with Current View Version History

« Previous Version 14 Next »

Manual

Linux

1. Download the agent installer (Admin - Breeze - SHOW INFO - Linux Agent) to the temporary directory.

2. Unpack the archive:

tar xvzf breeze-agent*.tgz

3. Enter unpacked directory:

cd breeze-agent
  1. Run installation script:

as root-user:

./install.sh

or using sudo:

sudo ./install.sh


Linux Installation Verification:

Check the cronjob:

cat /etc/cron.d/breeze-agent

Run the agent manually as root-user or using sudo:

cd /opt/breeze-agent/app.sh

Check the log-file var/log/breeze-agent.log.

It should be used only by the cronjob. When agent run manually, the log data will be printed to STDOUT.

Windows

Download the agent (Admin - Breeze - SHOW INFO - Windows Agent)

Start the installer executable file:

(breeze-agent*.exe)

Breeze Agent will be automatically installed into the system.

Windows Installation Verification:

Open the Task Scheduler (Start → Control Panel → Administrative tools → Task Scheduler) and check that the scheduled task called Breeze Agent has been created.Run the job manually.Check the log-file C:\Program Files\Breeze\agent.log.


Automated

AWS Elastic Beanstalk

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

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

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

Windows-based environment:

files:
  "C:\\breeze-agent.exe":
    source: https://elasticbeanstalk-us-east-1-123456789098.s3.amazonaws.com/breeze-agent.exe
    authentication: S3Auth

commands:
  install_breeze:
    command: IF NOT EXIST "C:\Program Files\Breeze\app.bat" (C:\breeze-agent.exe)

Resources:
  AWSEBAutoScalingGroup:
    Metadata:
      AWS::CloudFormation::Authentication:
        S3Auth:
          type: "s3"
          buckets: ["elasticbeanstalk-us-east-1-123456789098"]
          roleName:
            "Fn::GetOptionSetting":
              Namespace: "aws:autoscaling:launchconfiguration"
              OptionName: "IamInstanceProfile"
              DefaultValue: "aws-elasticbeanstalk-ec2-role"

Linux-based environment:

files:
  "/tmp/breeze-agent.tgz":
    source: https://elasticbeanstalk-us-east-1-123456789098.s3.amazonaws.com/breeze-agent.tgz
    authentication: S3Auth

commands:
  "install breeze agent":
    test: test ! -d /opt/breeze-agent
    command: tar -xf /tmp/breeze-agent.tgz -C /tmp && /tmp/breeze-agent/install.sh

Resources:
  AWSEBAutoScalingGroup:
    Metadata:
      AWS::CloudFormation::Authentication:
        S3Auth:
          type: "s3"
          buckets: ["elasticbeanstalk-us-east-1-123456789098"]
          roleName:
            "Fn::GetOptionSetting":
              Namespace: "aws:autoscaling:launchconfiguration"
              OptionName: "IamInstanceProfile"
              DefaultValue: "aws-elasticbeanstalk-ec2-role"

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

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

The Commands section installs the Breeze Agent.

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

For more configuration options see AWS documentation.

3. Deploy application with new .ebextension config.

eb deploy

SCCM

To install Breeze 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 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.

1. Create a new script in Software Library using the sample below.

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

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

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

Script sample:

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

AWS EC2 User Data script

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

  1. Download the agent installer

  2. Unpack the installer (for Linux OSs)

  3. Run the 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 AWS S3 object URL for the S3 bucket storing the installer file. 

Upload the Breeze installer file(s) to AWS S3 Bucket

1. Download Breeze Agent installers from Cloudaware CMDB.

2. Upload them to the S3 Bucket.

Generate a Presigned object URL for each installer

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

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

Sample output:

https://breeze-agents.s3.amazonaws.com/breeze-agent.linux.tgz?AWSAccessKeyId=AKTAIGEUHVBDLKKQQ123&Signature=6Iex2E346QQqaaN6Kqw41@23Yt%3*73!&Expires=1555121212

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:

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

Prepare the user data script and launch the instance


Once agent installers are ready, add the script to EC2 instance user data to install Breeze Agent. Replace the presigned URL in the script by the one you generated and insert it into the User data section when launching the instance.

Linux:

#!/bin/bash

URL='<presigned URL to agent installer in your S3 bucket>'

# download agent installer
curl $URL -o /tmp/breeze-agent.tgz

# unpack agent installer
sudo tar -xf /tmp/breeze-agent.tgz -C /tmp

# install agent
sudo /tmp/breeze-agent/install.sh


Windows:

<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 preinstalled. This script will work for all Windows Server versions starting 2012 R2 and newer.

Proxy support

To add the proxy support to Breeze agent, you need to edit the startup script.

On Linux:

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

Add the next line before the string ruby ./app.rb:

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

On Windows:

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

Add the next line before the string ruby

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

Last updated 2017-12-06 14:58:47 EET

  • No labels