Versions Compared

Key

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

This page is an overview of what you need to do to onboard your CI/CD systems and tools and maintain a single pane of solution on Opsera.

Before you begin

Checklist

At a high level, you must do the following:

  1. Gather the below information:

    1. output.logstash file location

    2. filebeat.yml location

  2. Signup at opsera.io

  3. Review the pricing options and select a pricing model. We recommend deciding on a pricing model and submitting it for processing before proceeding with the next steps. Pricing models might take up to 7 Days to process. You can continue setting up your VM solution while the pricing model is being processed.

  4. Test your solution end-to-end.

  5. If you want to include support, integrate your support.

  6. Submit your solution to Opsera. After you submit your solution, the Partner Engineering team reviews your submission and works with you to resolve any issues before approving it. When the solution is approved, it is launched within a few minutes.

  7. Maintain and monitor your solution after it has launched.

If you have questions during the onboarding process, contact your Opsera Cloud Partner Engineer. If you don't know who your assigned Partner Engineer is, contact us at cloud-partner-onboarding@google.com.

Begin Integration Process

Opsera offers two solutions as part of the integration process.

  1. Solution - 1

    1. Customers who already have tools running in their own Instance and want to integrate with Opsera

  2. Solution - 2

    1. Customers who don’t have tools in place and want to integrate directly with Opsera

Solution -1: Customers who already have tools:

Jenkins Integration

  1. Follow the below process to configure the Webhook.

Step 1

  1. Log into Opsera Portal

  2. select Tool Registry from left navigation.

Image Added

Step 2

  1. In the Tool Registry screen below, Click + New Tool Button to add a tool.

Image Added

Step 3

  1. Once you click Add Tool, a popup will be displayed.

  2. Type Jenkins Tool Name in the Tool Name input field.

  3. Type Jenkins as Tool Identifier in the dropdown.

Image Added

Step 4

  1. Click the Create Tool Button to continue.

Image Added

Step 5

  1. In the Modal Popup, Choose your Tool Name from the Main Tool Registry screen.

  2. Click the Connections TAB to enter:

    1. Container URL

    2. Jenkins User ID

    3. Jenkins Password

Image Added

Once you have entered all the fields, Hit the Save Button. With these steps completed, now Log into Jenkins Tool to complete below steps.

Step 6

  1. Log into Jenkins tool

  2. Enter your Jenkins credentials.

Image Added

Step 7

  1. From the Dashboard screen, Click Manage Jenkins from left navigation tool bar

Image Added

Step 8

  1. In the Manage Jenkins page, Choose Notification

Image Added

Step 9

  1. Select the Job Name

  2. Click install

  3. Jenkins Installation will start as shown below.

Image Added

Step 10

  1. Wait for the installation to conplete.

  2. Once Installation is complete, Jenkins will restart.

Image Added

Step 11

Once the Restart is complete, Click Configure link from left Navigation.

Image Added

Step 12

  1. Select the 2nd Tab from the Navigation menu.

  2. Enter the Webhook URL details in the Notifications TAB.

Image Added

Step 13

  1. Congratulations, you have completed all the steps required.

  2. Once you run any job via Jenkins on your end, Analytics data will be available at Opsera Portal.

    1. For SonarQube installation, please proceed to next section.

SonarQube Configuration

To integrate SonarQube, follow the below steps.

Step 1

Objective is to create Auth token to authorize Opsera to SonarQube.

  1. Login to SonarQube portal

  2. Click + Icon located on the top right menu.

Image Added

Step 2

  1. Enter an unique Project key name

  2. Provide a Display name.

  3. Click the Setup button.

Image Added

Step 3

  1. Note the Project Key you just created.

Image Added

Step 4

  1. Now we have to create a Token that you can use with Opsera.

  2. Click Administrator link from Top right menu.

Image Added

Step 5

  1. In the Administrator screen, click the Security TAB to create the Security Token.

Image Added

Step 6

  1. Once you have created, you should see a success message as shown below.

  2. Click Copy to copy the key to clipboard.

Image Added

Step 7

Now that you have created the Token, let’s update Opsera settings.

  1. Log into Opsera Portal

  2. Select Tool Registry from left navigation.

Image Added

Step 8

  1. Click + New Tool Button to add a tool.

  2. A popup dialogbox will be displayed.

Image Added

Step 9

In the Popup dialogbox,

  1. Type a tool name.

  2. Choose SonarQube as your Tool.

  3. Select Code Scan as Tool Type from the Dropdown

  4. Click Save Changes

Image Added

Step 10

Once you click Save Changes, Choose your Tool Name you just created. In this case, choose Sonarqube-demo from the list.

  1. Choose your Tool Name from the main screen.

  2. In the Pop-up, Click Connections TAB

  3. Enter Sonar URL

  4. Sonar Port

  5. Sonar User ID

  6. Sonar Auth Token you created in SonarQube portal.

  7. Click save.

Image Added

Step 11

  1. Now login to SonarQube portal.

  2. Once you login, click Configuration from top left Menu

  3. Choose Webhooks.

Image Added

Step 12

  1. Click Create Button located on the right side.

Image Added

Step 13

Type the below information in the popup dialogbox.

  1. Type an unique name

  2. Enter the URL that you received from Opsera.

  3. Finally Click Create button to complete the Webhook configuration.

Image Added

To Unsubscribe, from sonarqube, 

  1. Administration > configuration > webhooks >Delete.

    1. Screenshot : sonar-add-webhook.png

      Image Added

For JMeter, Junit and XUnit to work as expected, you must configure filebeat before proceeding.

  1. Install Filebeat as per instructions at https://www.elastic.co/guide/en/beats/filebeat/current/filebeat-installation.html

  2. Update config path : /etc/filebeat.yml

  3. Follow the below steps to configure the filebeat

Configure filebeat to send data to logstash 

  1. Under output.logstash add logstash-url as follows:

  2. Filebeat File Sample:

    Image Added

    Click the link for the complete sample filebeat file.https://drive.google.com/file/d/1COjLuCYQupsEWv7OWvgzSpWrOGuL-VlN/view?usp=sharing

    Code Block
    output.logstash:
     # The Logstash hosts
     hosts: ["develk-logstash.opsera.io:5044"]
     ssl.enabled: true

  3. Restart filebeat after Updating filebeat.yml:

  4. Code Block
    sudo service filebeat restart     
  5. Check if filebeat config error

    Code Block
    filebeat test config     
  6. To test if filebeat is able to establish connectivity to logstash

    Code Block
    filebeat test output

if you have performed above steps, you have successfully completed configuring filebeat. Now that filebeat configuration is complete you can proceed with JMeter, JUnit and XUnit installation.

Junit Installation

You must complete the configuration of filebeat before proceeding these steps. Store test results in instance and Update filebeat to send results logstash.

Update filebeat as below:

Code Block
- type: log
 enabled: true
 paths:
   - /var/jenkinslogs/*/junitResult.xml
 exclude_lines: ['^<?xml']
 multiline.pattern: '<suite>'
 multiline.negate: true
 multiline.match: after
 multiline.flush_pattern: '</suite>'
 multiline.timeout: 1000

JMeter Installation

You must complete the configuration of filebeat before proceeding these steps. Store test results in instance and Update filebeat to send results logstash.

Code Block
- type: log
 
 # Change to true to enable this input configuration.
 enabled: true
 paths:
   - /var/lib/docker/volumes/*/_data/jobs/*/builds/*/archive/standardResults.xml
 multiline.pattern: '<api>'
 multiline.negate: true
 multiline.match: after
 multiline.flush_pattern: '</api>'

XUnit Installation

You must complete the configuration of filebeat before proceeding these steps.

  1. Store Xunit test results in as jenkinsBuildId-xunitResults.xml

    1. Example:  if 15 is a Jenkins build ID. result file should be named :  15-xunitResults.xml

Code Block
- type: log
 enabled: true
 paths:
   - /var/lib/docker/volumes/*/_data/workspace/*/TestResults/*.xml
   - /var/lib/docker/volumes/*/_data/workspace/*/*/*/TestResults/*.xml

GitLab Installation

  1. Login into gitlab

  2. Select project > Settings(left panel) >  Webhook > 

  3. Add webhook to send all events to logstash

    1. https://customerdomain-logstash.opsera.io/webhook/gitlab

Screenshot : gitlab-add-webhook.png

...

Codeship

  1. Add webhook and point to 

    1. Login to codeship dashboard > projects > “select your project” >  Project settings (top-right) > Notifications >  

    2. https://customerdomain-logstash.opsera.io/webhook/codeship

    3. Create user with read privileges and share  username and password with opsera via email

    4. Screenshot : Screenshot : codeship-add-webhook.png

      Image Added

Solution -2: Direct Integration with Opsera

SonarQube Installation

Log into Opsera Portal and Select Platform from the Left navigation

Image Added

Select Code Security Tool and click Deploy button.

Image Added

Click Confirm button in the popup window to confirm the installation.

Jenkins Installation

In the Platform page, Select Jenkins tool and click Confirm Button.

Image Added
  1. Once you submit, Email will be sent with Tool/URL information. This will take approximately 15 mins.

  2. Logstash plugin and Filebeat is automatically configured by java-microservice.

  3. ELK stack and DB details will be sent via email.