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
If you are new to offering software on Opsera Cloud Solution, sign up to become a customer.
Complete the Customer Onboarding Request Form.
Review and complete the open source compliance requirements.
Checklist
At a high level, you must do the following:
Gather the below information:
output.logstash file location
filebeat.yml location
Signup at opsera.io
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.
Test your solution end-to-end.
If you want to include support, integrate your support.
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.
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.
Solution - 1
Customers who already have tools running in their own Instance and want to integrate with Opsera
Solution - 2
Customers who don’t have tools in place and want to integrate directly with Opsera
Solution -1: Customers who already have tools:
Jenkins
Follow the below process to configure the Webhook.
Log into Opsera Portal and select Tool Registry from left navigation. | Click + New Tool Button to add a tool. |
Once you click Add Tool, a popup will be displayed. Type Jenkins Tool Name in the Tool Name input and Type Jenkins as Tool Identifier in the dropdown. Once you click Create tool from the Modal Popup, Choose your Tool Name from the Main Tool Registry screen. Then, Click the Connections TAB to enter all the below fields. Hit Save Button once you are done. With these steps completed, now Log into Jenkins Tool to complete below steps. | Click the Create Tool Button once you have completed previous inputs in the popup. |
Log into Jenkins | Click Manage Jenkins |
In the Manage Jenkins page, Choose Notification | Once you select the Job and click install, Jenkins Installation will start as shown below. |
Once Installation is complete, Jenkins will restart. | Once the Restart is completed, Click Configure from left Navigation. |
Goto Job Notifications TAB and enter the Webhook URL | Now you have completed all the steps required. Once you run any job via Jenkins on your end, Analytics will be available at Opsera Portal. |
Sonarqube
From the sonarqube dashboard,
Create a user and token with and share it with via opsera portal.
User > My Account > Security
Screenshot : Fig 2
(we (Opsera team) are manually setting logstash environment variable)
Customer to add Webhook to send data to https://customerdomain-logstash.opsera.io
During onboarding process, email will be sent to customer with Logstash URL
Login to sonarqube dashboard
Administration > configuration > webhooks > create
Screenshot : sonar-add-webhook.png
Enter logstash URL and create
To Unsubscribe, from sonarqube,
Administration > configuration > webhooks >Delete.
Screenshot : sonar-add-webhook.png
For JMeter, Junit and XUnit to work as expected, you must configure filebeat before proceeding.
Install Filebeat as per instructions at https://www.elastic.co/guide/en/beats/filebeat/current/filebeat-installation.html
Update config path : /etc/filebeat.yml
Follow the below steps to configure the filebeat
Configure filebeat to send data to logstash
Under output.logstash add logstash-url as follows:
Filebeat File Sample:
Click the link for the complete sample filebeat file.https://drive.google.com/file/d/1COjLuCYQupsEWv7OWvgzSpWrOGuL-VlN/view?usp=sharing
output.logstash: # The Logstash hosts hosts: ["develk-logstash.opsera.io:5044"] ssl.enabled: true
Restart filebeat after Updating filebeat.yml:
sudo service filebeat restart
Check if filebeat config error
filebeat test config
To test if filebeat is able to establish connectivity to logstash
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:
- 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.
- 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.
Store Xunit test results in as jenkinsBuildId-xunitResults.xml
Example: if 15 is a Jenkins build ID. result file should be named : 15-xunitResults.xml
- type: log enabled: true paths: - /var/lib/docker/volumes/*/_data/workspace/*/TestResults/*.xml - /var/lib/docker/volumes/*/_data/workspace/*/*/*/TestResults/*.xml
GitLab Installation
Login into gitlab
Select project > Settings(left panel) > Webhook >
Add webhook to send all events to logstash
Screenshot : gitlab-add-webhook.png
Codeship
Add webhook and point to
Login to codeship dashboard > projects > “select your project” > Project settings (top-right) > Notifications >
Create user with read privileges and share username and password with opsera via email
Screenshot : Screenshot : codeship-add-webhook.png
Solution -2: Customers who don’t have tools installed
Tool Jenkins
Goto Platform page (https://opsera.io)
Create an application name
Select the tools you want to integrate and hit submit.
Once you submit, Email will be sent with Tool/URL information. This will take approximately 15 mins.
Logstash plugin and Filebeat is automatically configured by java-microservice.
ELK stack and DB details will be sent via email.