Installing in Google Cloud Platform
Use this procedure to install the Zenoss Cloud Collector
virtual appliance as a Google Compute Engine (GCE) instance in
Google Cloud Platform (GCP). This procedure uses the gcloud
tool
to create a GCE instance.
Prerequisites
To perform this task, you need:
- A GCP account with permission to create images and virtual machines in GCE.
- A GCP project enabled for GCE.
-
A workstation with Google Cloud SDK installed.
The gcloud tool must be installed and initialized.
Installing the collector
Note
This procedure uses Bash shell conventions to set variables. Adjust as needed for different shells.
-
Log in to a shell that has Google Cloud SDK installed and the
gcloud
tool initialized. -
Create a variable for the name of the instance to create.
-
List existing instance names.
gcloud compute instances list
-
Specify a name that is unique in your GCP environment. In the following command, replace
INSTANCE-NAME
with a new name:myName=INSTANCE-NAME
-
-
Create a variable for the GCE zone for the instance.
-
List available zones.
gcloud compute zones list
-
Select the zone that matches the location where the infrastructure and applications to monitor are running. In the following command, replace
GCE-ZONE
with the zone you select:myZone=GCE-ZONE
-
-
Create a variable for the GCE machine type to use.
-
List available types.
gcloud compute machine-types list
-
Select a type that meets your needs and all collector resource requirements. For example,
n1-standard-4
. In the following command, replaceMACHINE-TYPE
with the type you select:myMachine=MACHINE-TYPE
-
-
Create a variable for the GCE subnet to use.
-
List available subnets.
gcloud compute networks subnets list
-
Select the same address space as the infrastructure and applications to monitor. In the following command, replace
SUBNET
with the subnet you select:mySubnet=SUBNET
-
-
Create a variable for the GCP project to use.
-
List available projects.
gcloud projects list
-
Select a type that meets your needs. In the following command, replace
PROJECT
with the project you select:myProject=PROJECT
-
-
Create a variable for the location of the image to use.
Copy the following command and paste it in your shell:
zenossImage=https://www.googleapis.com/compute/v1/projects/zing-registry-188222/global/images/zenoss-collector-stable
-
Verify the variables you chose in steps 2-6.
env | grep -E '^my'
-
Create a new instance.
Copy the following command and paste it into your shell:
gcloud compute instances create ${myName} \ --zone=${myZone} \ --machine-type=${myMachine} \ --subnet=${mySubnet} \ --image=${zenossImage} \ --boot-disk-size=25GB \ --boot-disk-device-name=collector-1 \ --project=${myProject}
Here is an example invocation:
gcloud compute instances create zenoss-collector-1 \ --zone=us-central1-a \ --machine-type=n1-standard-4 \ --subnet=default \ --image=https://www.googleapis.com/compute/v1/projects/zing-registry-188222/global/images/zenoss-collector-stable \ --boot-disk-size=25GB \ --boot-disk-device-name=collector-1 \ --project=marketing
Optional: Set additional DNS search domains
You can customize DNS resolution for your virtual machine and grant access to additional users. The following options are supported:
- Additional DNS forwarding/DNS search domain entries
- A default resolver other than the one provided by GCP
- Additional SSH public keys
Example
For example, you wish to enable the following options for your virtual machine:
- Forward DNS queries for
*.example.com
and*.example.org
to the203.0.113.4
and203.0.113.5
resolvers - Forward DNS queries for
*.myorg.example.net
to the198.51.100.253
resolver - Forward all other queries to the
192.0.2.2
and192.0.2.3
resolvers - Grant access to the private SSH keys associated with
public_key1
andpublic_key2
(through theccuser
account)
To configure the options, create the following JSON object:
{
"dns-forwarding": [
{
"dns-search": ["example.com", "example.org"],
"dns-servers": ["203.0.113.4", "203.0.113.5"]
},
{
"dns-search": ["myorg.example.net"],
"dns-servers": ["198.51.100.253"]
}
],
"dns-default-servers": ["192.0.2.2", "192.0.2.3"],
"sshkeys": [ "public_key1", "public_key2"]
}
Then, add the object to the metadata section of your virtual machine configuration
in the Google Cloud Console with the key collector-userdata
.
Procedure
-
Create a JSON object that includes the options you wish to enable.
See the previous section for an example JSON object.
-
In Google Cloud Console, navigate to your virtual machine.
-
At the bottom of the page, click Edit.
-
In the Metadata area, click ADD ITEM, and then configure the user data.
-
In the Key 1 field, add
collector-userdata
. -
In the Value 1 field, paste your JSON object.
-
-
At the bottom of the page, click Save.
-
Reboot the virtual machine.
Next step
Connect to a Collection Zone (Initializing a collector appliance).