commit | cbf2102897fad9fcfe75ae79821e28ba8d281d44 | [log] [tgz] |
---|---|---|
author | Ryan Campbell <ryanjcampbell@google.com> | Wed Jun 28 10:23:59 2017 -0700 |
committer | Ryan Campbell <ryanjcampbell@google.com> | Wed Jun 28 15:06:20 2017 -0700 |
tree | a43bf57cb8576b0d7f2334929c9e3f4d60e3d44a | |
parent | f5c879621b0dfb0f60644f8dff01fcf6bb1067bc [diff] |
Migrate test status alerts to push queue. Instead of running a serialized cron job on all tests every 2 minutes, run a job using push queues whenever new data is received. This will still handle high volumes of data gracefully (i.e. concurrent updates to the same test status) but will parallelize across tests better and waste fewer resources polling for changes. Test: live on staging, alerts work Bug: 62957458 Change-Id: I1ecef8f1100479175b6e0335506db5c5e6f0d3dd
The VTS Dashboard displays the summarized results of the Multi Device Tests along with graphs.
Google App Engine uses Java 8. Install Java 8 before running running locally: 'sudo apt install openjdk-8-jdk'
To use java 8: Copy the following lines in ~/.bashrc :
function setup_jdk() { # Remove the current JDK from PATH if [ -n "$JAVA_HOME" ] ; then PATH=${PATH/$JAVA_HOME\/bin:/} fi export JAVA_HOME=$1 export PATH=$JAVA_HOME/bin:$PATH } function use_java8() { # setup_jdk /usr/java/jre1.8.0_73 setup_jdk /usr/lib/jvm/java-8-openjdk-amd64 } Then from cmd: $ use_java8
Maven is used for build. Install Maven 3.3.9: Download maven from: https://maven.apache.org/download.cgi
Steps to Install Maven:
Unzip the Binary tar: tar -zxf apache-maven-3.3.3-bin.tar.gz
Move the application directory to /usr/local sudo cp -R apache-maven-3.3.3 /usr/local
Make a soft link in /usr/bin for universal access of mvn sudo ln -s /usr/local/apache-maven-3.3.3/bin/mvn /usr/bin/mvn
Verify maven installation: $ mvn -v
The output should resemble this:
Apache Maven 3.3.9 (bb52d8502b132ec0a5a3f4c09453c07478323dc5; 2015-11-10T08:41:47-08:00) Maven home: /opt/apache-maven-3.3.9 Java version: 1.8.0_45-internal, vendor: Oracle Corporation Java home: /usr/lib/jvm/java-8-openjdk-amd64/jre Default locale: en_US, platform encoding: UTF-8 OS name: "linux", version: "3.13.0-88-generic", arch: "amd64", family: "unix"
Install Google Cloud SDK. Follow the instructions listed on official source: https://cloud.google.com/sdk/docs/quickstart-linux
The default location where the application searches for a google-cloud-sdk is: /usr/local/share/google/google-cloud-sdk
Therefore move the extracted folder to this location: /usr/local/share/google/
Otherwise, to have a custom location, specify the location of google-cloud-sdk in test/vti/dashboard/pom.xml by putting the configuration:
<configuration> <gcloud_directory>PATH/TO/GCLOUD_DIRECTORY</gcloud_directory> </configuration>
within the 'com.google.appengine' plugin tag :
$ cd test/vti/dashboard $ mvn appengine:devserver
$ cd test/vti/dashboard $ mvn appengine:update
visit https://.appspot.com
The following steps list how to create a monitoring service for the VTS Dashboard.
Go to Google Cloud Platform Console: http://console.developers.google.com
In the Google Cloud Platform Console, select Stackdriver > Monitoring. If your project is not in a Stackdriver account you'll see a message to create a new project.
Click Create new Stackdriver account and then Continue.
With your project shown, click Create account.
In the page, "Add Google Cloud Platform projects to monitor", click Continue to skip ahead.
In the page, "Monitor AWS accounts", click Done to skip ahead.
In a few seconds you see the following message: "Finished Initial collection" Click Launch Monitoring.
In the page, "Get reports by email", click No reports and Continue.
You will see your Stackdriver account dashboard. Close the "Welcome to Stackdriver" banner if you don't need it.
Go to Stack Monitoring console: https://app.google.stackdriver.com/
Go to Alerting > Uptime Checks in the top menu and then click Add Uptime Check. You see the New Uptime Check panel.
Fill in the following fields for the uptime check:
Check type: HTTP Resource Type: Instance Applies To: Single, lamp-1-vm Leave the other fields with their default values.
Click Test to verify your uptime check is working.
Click Save. After you click on save you'll see a panel to 'Create Alerting Policy'
Fill out the configuration for notifications and click save policy.
This procedure can take up to fifteen minutes.
To test the check and alert, go to the VM Instances page, select your instance, and click Stop from the top menu. You'll have to wait up to five minutes for the next uptime check to fail. The alert and notification don't happen until the next failure occurs.
To correct the "problem," return to the VM Instances page, select your instance, and click Start from the top menu.