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.

...

  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

  1. Install Logstash plugin and add point to https://customerdomain-logstash.opsera.io

    1. Login to Jenkins > Manage Jenkins >  Manage Plugins > search for

...

    1. logstash plugin and install. 

      1. Screenshot : jenkins-installing-logstah-plugin.png

    2. Login to Jenkins > Manage Jenkins > Configure > Under Logstash 

      1. Screenshot : jenkins-logstash-plugin.png

      2. Index : Elasticsearch 

      3. URI : https://logstash-url.opsera.io

      4. (Leave Username and password blank) 

  1. Upon successful completion, Opsera will get the log information.

Sonarqube

  1. From the sonarqube dashboard, 

    1. Create a user and token with and share it with via opsera portal. 

      1. User > My Account > Security 

      2. Screenshot : sonarqube-token.png

    2. (we (Opsera team) are manually setting logstash environment variable)

  2. Customer to add Webhook to send data to https://customerdomain-logstash.opsera.io

    1. During onboarding process, email will be sent to customer with Logstash URL

    2. Login to sonarqube dashboard

    3. Administration > configuration > webhooks > create 

      1. Screenshot : sonar-add-webhook.png

    4. Enter logstash URL and create

  3. To Unsubscribe, from sonarqube, 

    1. Administration > configuration > webhooks >Delete.

      1. Screenshot : sonar-add-webhook.png

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:

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

  2. Restart filebeat after Updating filebeat.yml:

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

    Code Block
    filebeat test config     
  5. 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 : 

      1. Screenshot : Codeship-project-settings.png

Screenshot : codeship-add-webhook.png

Solution -2: Customers who don’t have tools installed

Tool Jenkins

  1. Goto Platform page (https://opsera.io)

  2. Create an application name

  3. Select the tools you want to integrate and hit submit.

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

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

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

For SonarQube, JMeter, Junit and XUnit installation, follow the steps mentioned in the top section of this page.