All Projects → SoftwareAG → webmethods-integrationserver-skyprofiler

SoftwareAG / webmethods-integrationserver-skyprofiler

Licence: other
SKYProfiler is a performance monitoring tool for Integration Server. SKYProfiler tracks the service invocations and the monitored data can be seen in real time. This helps users track the time each service invocation takes and further drills down to the child service to identify which service contributes to time.

Programming Languages

java
68154 projects - #9 most used programming language
javascript
184084 projects - #8 most used programming language
HTML
75241 projects
CSS
56736 projects
Faust
14 projects

Projects that are alternatives of or similar to webmethods-integrationserver-skyprofiler

sagdevops-ci-assets
Software AG DevOps library to support assets CI (continuous integration) with webMethods 9.x and 10.0. Work together with https://github.com/SoftwareAG/webmethods-sample-project-layout
Stars: ✭ 23 (-11.54%)
Mutual labels:  webmethods, integration-server
Androidgodeye
An app performance monitor(APM) , like "Android Studio profiler", you can easily monitor the performance of your app real time in browser
Stars: ✭ 2,430 (+9246.15%)
Mutual labels:  performance-monitoring
Nemetric
前端性能指标的监控,采集以及上报。用于测量第一个dom生成的时间(FP/FCP/LCP)、用户最早可操作时间(fid|tti)和组件的生命周期性能,,网络状况以及资源大小等等。向监控后台报告实际用户测量值。
Stars: ✭ 145 (+457.69%)
Mutual labels:  performance-monitoring
Appsignal Elixir
🟪 AppSignal for Elixir package
Stars: ✭ 176 (+576.92%)
Mutual labels:  performance-monitoring
Sysstat
Performance monitoring tools for Linux
Stars: ✭ 2,055 (+7803.85%)
Mutual labels:  performance-monitoring
Myperf4j
High performance Java APM. Powered by ASM. Try it. Test it. If you feel its better, use it.
Stars: ✭ 2,281 (+8673.08%)
Mutual labels:  performance-monitoring
Scout apm ruby
ScoutAPM Ruby Agent. Supports Rails, Sinatra, Grape, Rack, and many other frameworks
Stars: ✭ 137 (+426.92%)
Mutual labels:  performance-monitoring
Droidtelescope
DroidTelescope(DT),Android端App性能监控框架
Stars: ✭ 231 (+788.46%)
Mutual labels:  performance-monitoring
Element
💦Load test your app using real web browsers
Stars: ✭ 204 (+684.62%)
Mutual labels:  performance-monitoring
Apm Agent Rum Js
Elastic APM Real User Monitoring JavaScript agent
Stars: ✭ 166 (+538.46%)
Mutual labels:  performance-monitoring
Caliper
Caliper is an instrumentation and performance profiling library
Stars: ✭ 162 (+523.08%)
Mutual labels:  performance-monitoring
Apollo Opentracing
Performance trace your Apollo GraphQL server with Opentracing
Stars: ✭ 154 (+492.31%)
Mutual labels:  performance-monitoring
Azuredatabricksbestpractices
Version 1 of Technical Best Practices of Azure Databricks based on real world Customer and Technical SME inputs
Stars: ✭ 186 (+615.38%)
Mutual labels:  performance-monitoring
Swiftmetrics
Swift Application Metrics instruments the Swift runtime for performance monitoring, providing the monitoring data programatically via an API or visually with an Eclipse Client.
Stars: ✭ 145 (+457.69%)
Mutual labels:  performance-monitoring
Sqlwatch
SQL Server Performance Monitor
Stars: ✭ 213 (+719.23%)
Mutual labels:  performance-monitoring
Scouter
Scouter is an open source APM (Application Performance Management) tool.
Stars: ✭ 1,792 (+6792.31%)
Mutual labels:  performance-monitoring
Rorvswild
Ruby on Rails app monitoring: performances & exceptions insights for rails developers.
Stars: ✭ 159 (+511.54%)
Mutual labels:  performance-monitoring
Blockcanaryex
make performance bottleneck detection easily when app blocked
Stars: ✭ 2,123 (+8065.38%)
Mutual labels:  performance-monitoring
ember-appmetrics
Ember library used to measure various metrics in your Ember app with ultra simple APIs.
Stars: ✭ 16 (-38.46%)
Mutual labels:  performance-monitoring
Snmpcollector
A full featured Generic SNMP data collector with Web Administration Interface for InfluxDB
Stars: ✭ 216 (+730.77%)
Mutual labels:  performance-monitoring

webmethods-integrationserver-skyprofiler

SKYProfiler is a performance monitoring tool for Integration Server. SKYProfiler tracks the service invocations and the monitored data can be seen in real time. This helps users track the time each service invocation takes and further drills down to the child service to identify which service contributes to time.

Description

SKY Profiler does real time analytics of profiled data from the production instances of webMethods Integration Server to identify potential bottlenecks and help operational teams avoid any downtimes. SKY Profiler has two components. SKY Profiler Server and SKY Profiler Runtime.
SKY Profiler Runtime is an Integration Server package which is required to send service invocation data to SKY Profiler server, which processes and displays information related to performance parameters.

Requirements

The project was developed and tested on the following installation:

  1. Integration Server 10.0
  2. Google Chrome Version 58.0

Note:

  1. Currently SKY Profiler Runtime works only with webMethods Integration Server installed on Linux and Windows box.
  2. The Service Summary Table shows only the latest data. If there were services executed before SKY Profiler server start those will be not be shown. However the report will show all the data.

Set-up with Docker

Required tools

With docker, nothing else is needed but Docker engine and Docker-compose (not even JAVA, ANT, etc...)

Start SkyProfiler and related components

  1. Download the docker-compose file and save it anywhere on your docker-enabled workstation or server

Click skyprofiler docker-compose

  1. Set some required environment variables
export KAFKA_ADVERTISED_HOST_NAME=$(hostname)
export MONITORED_WM_HOST1=127.0.0.1
export MONITORED_WM_HOST2=127.0.0.1

Notes:

  • KAFKA_ADVERTISED_HOST_NAME is needed so the Kafka component can be accessed from external servers (like the wM IS to be monitored)
  • MONITORED_WM_HOST variables are currently needed so the docker instance can route network requests to the external IS nodes to monitor.
    • Of course, modify the IP addresses accordingly (instead of 127.0.0.1 which is the loopback address) with the "to-be-monitored" webmethods Integration Servers IP addresses.
    • And if you need more than 2 (very likely), currently you can simply modify the docker-compose.yml and add more hosts in the "extra_hosts" parameter.

TODO Fabien or others: This is needed currently because the docker host's DNS server is not shared with the docker instances, but a better more generic way surely can be put in place to avoid to have to fill-in all the IS ip addresses this way.

  1. Start SkyProfiler and related components
docker-compose up -d

All the needed images will be downloaded from docker-hub and started in the right order, ready to operate.

  1. Open Skyprofiler Web UI

Once all docker instances are up and running (less than 1 minute), click Skyprofiler Web UI

NOTE: if you started the Skyprofiler server on another machine, replace localhost with the docker VM IP address

  1. Login

Default Login Credentials: admin/password1234

  1. Download and install the Skyprofiler runtime IS package

As explained on the home page, the Skyprofiler runtime IS package must be installed on any webMethods IS server to be monitored. Simply download it from the home page, and install it on all the webMethods IS server to be monitored

  1. Then, go to How it works for further configurations.

Set-up without Docker

Pre-requisite

The project needs below software as a pre-requisite to get started.

  • Apache Ant
  • Apache Maven
  • MongoDB
  • Zookeeper
  • Apache Kafka
  • bower

MongoDB
MongoDB will be used to store the executed service data. To install and configure MongoDB refer FAQ
Start the service

C:\Program Files\MongoDB\Server\3.4\bin> mongod.exe --dbpath="C:\Program Files\MongoDB\data"

Zookeeper
Zookeeper is used to provide distributed configuration service for Kafka. To install and configure Zookeeper refer FAQ
Start the service

C:\zookeeper-3.4.9\bin> zkServer.cmd

Apache Kafka
Kafka is a distributed messsaging system used for sending events from SKY Profiler Runtime to SKY Profiler Server. To install and configure Kafka refer FAQ
Start the service

C:\kafka_2.11-0.10.1.1\bin\windows> kafka-server-start.bat ..\..\config\server.properties

SKY Profiler

Download SKY Profiler by

git clone https://github.com/SoftwareAG/webMethods-IntegrationServer-SKYProfiler

SKY Profiler Server requires Apache Ant, Apache Maven and bower to be present in the machine for build process. To install and configure Apache Ant and Apache Maven refer FAQ
Update maven path in build.properties.
Copy wm-isclient.jar and wm-isserver.jar from webMethods Integration Server installation to {webMethods-IntegrationServer-SKYProfiler}\libraries which are required for SKY Profiler Runtime component. Update MongoDB and Kafka configuration in {webMethods-IntegrationServer-SKYProfiler}\SKYProfilerServer\src\main\application.properties
bower will be used to resolve JS and CSS dependencies

Build and Run SKY Profiler

  • Build SKY Profiler SKY Profiler build requires the following services to be up and running
  1. MongoDB
  2. Zookeeper
  3. Apache Kafka
C:\{webMethods-IntegrationServer-SKYProfiler}> ant

The above command will create SKYProfiler.zip (webMethods Integration Server package) and skyprofiler-1.0-RELEASE.jar inside {webMethods-IntegrationServer-SKYProfiler}\dist directory.

Install the SKYProfiler package in the Integration Server which needs to be monitored. Refer webMethods_Integration_Server_Administrators_Guide section "Installing and Updating Packages on a Server Instance" on how to install the package.

  • To start SKY Profiler Server
C:\{webMethods-IntegrationServer-SKYProfiler}\dist> java -jar skyprofiler-1.0-RELEASE.jar

Once the service is up, you could access the application in the URL http://localhost:8080.
Default Login Credentials: admin/password1234

How it works

Quick Start

* Login to the application
* Add webMethods Integration Server which needs to be monitored
* Select the added server
* Navigate to Options->Configuration
* Select the Package which needs to be monitored
* Fill-in other details and Save
* Click on Start to start monitoring
* Any service execution that belongs to the selected package/s will get displayed in the Service Monitoring table

To obtain detailed information

* Click on the service name to expand the collapsible bar
* A Response Time graph will be shown (Only the latest service execution reponse time will be displayed)
* Click on one of the data point in the graph to get Service Call Tree
* Service call tree displays service hierarchy and it shows the service level break-ups
* You could then click on the Graph icon corresponding to that service which is taking more time
* This opens up a modal window containing graphs like CPU, Response time, Threat Level CPU, etc
* Click on the data point in one of the graphs to highlight the correlation line across all the graphs
* These graphs help you map the response time with other performance parameters

Report generation

After all the profiling is completed you could generate a report as follows:

* Click on Options->Report
* An HTML report will be generated

These tools are provided as-is and without warranty or support. They do not constitute part of the Software AG product suite. Users are free to use, fork and modify them, subject to the license agreement. While Software AG welcomes contributions, we cannot guarantee to include every contribution in the master project.


For more information you can Ask a Question in the TECHcommunity Forums.

You can find additional information in the Software AG TECHcommunity.


Contact us at TECHcommunity if you have any questions.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].