{"id":27610509,"url":"https://github.com/johnpcarter/wxservicealerts","last_synced_at":"2025-04-22T23:29:15.040Z","repository":{"id":136322240,"uuid":"429096648","full_name":"johnpcarter/WxServiceAlerts","owner":"johnpcarter","description":"webMethods package to provide alerting based on service usage i.e. number of executions, average execution delay, and number of errors.","archived":false,"fork":false,"pushed_at":"2024-02-26T17:14:07.000Z","size":3774,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-02-27T12:55:06.173Z","etag":null,"topics":["application-insights","integration","monitoring","webmethods"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/johnpcarter.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2021-11-17T15:18:48.000Z","updated_at":"2024-02-27T12:55:06.174Z","dependencies_parsed_at":null,"dependency_job_id":"fd1cc6e6-5926-4f35-beae-b94e78a37504","html_url":"https://github.com/johnpcarter/WxServiceAlerts","commit_stats":null,"previous_names":[],"tags_count":11,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/johnpcarter%2FWxServiceAlerts","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/johnpcarter%2FWxServiceAlerts/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/johnpcarter%2FWxServiceAlerts/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/johnpcarter%2FWxServiceAlerts/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/johnpcarter","download_url":"https://codeload.github.com/johnpcarter/WxServiceAlerts/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250339722,"owners_count":21414404,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["application-insights","integration","monitoring","webmethods"],"created_at":"2025-04-22T23:29:14.562Z","updated_at":"2025-04-22T23:29:15.023Z","avatar_url":"https://github.com/johnpcarter.png","language":"Java","readme":"# WxServiceAlerts\n\nwebMethods package to provide metrics on service usage and allows you configure alert rules based alerts based on the number of executions, \naverage delay and/or number of errors.\n\n*local installation*\n\nIf you have an Integration Server or Micro Service Runtime running locally for development purposes, first navigate to your packages directory;\n\n$ cd /${SAG_HOME}/IntegrationServer/packages\n\nor\n\n$ cd /${SAG_HOME}/IntegrationServer/instances/${INSTANCE}/packages\n\nIf your packages directory is already under version control\n\n$ git submodule add https://github.com/johnpcarter/WxServiceAlerts.git WxServiceAlerts\n\nor if you are not, then simply clone the repository\n\n$ git clone https://github.com/johnpcarter/WxServiceAlerts.git\n\n*Upgrading to 3.x*\n\nIf you are upgrading from 2.x to 3.x then you will need to run the following script on your database as the table has been updated\nwith a new required field called host_name.\n\n```\nALTER TABLE WX_SERVICEALERTS_HISTORY ADD HOST_NAME VARCHAR(256) NOT NULL DEFAULT 'none';\n```\n\n*Setup*\n\nYou can then start configuring which services you want to monitor and trace via the package home directory.\n\nhttp://localhost:5555/WxServiceAlerts\n\nData is collated in memory and persisted based on the time interval configured by you. I would only recommend using 1 minute collection intervals for testing purposes. \nIn real world settings use a much larger interval along with a small number of permissible historical slots to ensure that you do not use too much memory. \nThe goal of this package is not to trace individual transactions but to track trends and allow you to fire rules based on these activities.\n\nPersistence is performed by a the service 'wx.service.alerts.db:persistSnapshot' and the data is written to a database table that is created at startup called 'wx_servicealerts_history'.\nThis requires that you have configured the JDBC connection 'wx.service.alerts.db:conn' correctly. Make sure to reload the package after configuring the\nconnection to a database of your choice. The package has been tested with mySQL 8.x, postgres 10.6, and Microsoft SQL Server.\n\n*Customising the persistence service*\n\nYou can choose to persist the service statistics to an alternative service of your choice (e.g. redirect trace to ELK via an API call for instance), by creating a service that implemented the specification 'wx.service.alerts.configuration:persistServiceSignature'\nand then configuring the extended setting 'watt.service.alerts.snapshot.service' to register your service with the package. \n\nDon't forget to reload the package afterwards. The database connection will not be required afterwards and can be disabled. The startup service will no longer attempt to create the database\ntable if you have set this setting. \n\n*Online Analytics*\n\nYou can view the service analytics directly for each service from the page home page of the package\n\nhttp://localhost:5555/WxServiceAlerts\n\nAlternatively if you want too see only the transaction totals for each service then an online transaction report is also available\n\nhttp://localhost:5555/WxServiceAlerts/?selectedTab=history\n\nThe report can be downloaded as a CSV file.\n\nNOTE: Any time period other than \"since last restart\" requires the aforementioned database and so won't provide any results if you have configured your \nown persistence service.\n\n*Alerts*\n\nThis feature is only available to webMethods 10.7 or better. You can configure rules to detect trends and hence trigger system alerts to detect services \nthat are slowing or being invoked too often. You can then in turn subscribe to these alerts to implement custom actions if required. Refer to the usage guide for more info.\n\n*Usage*\n\nOnline documentation is provided by the package here\n\nhttp://localhost:5555/WxServiceAlerts/help.dsp\n\n*Source code*\n\nwebMethods services are directly editable. Supporting java library at code/jars/simple-rules.jar is in the\ngit repository [WmServiceRules](https://github.com/johnpcarter/WmServiceRules).\n\n\u003e This is a webMethods Micro Service Runtime package and requires a Software AG Micro Service Runtime or Integration Server (10.5+) to host it. \nPackage versioning and configuration can be referenced in the package [manifest](./manifest.v3)  file. Alerts will only work if you are hosting in the package in a runtime that is 10.11 or better.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjohnpcarter%2Fwxservicealerts","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjohnpcarter%2Fwxservicealerts","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjohnpcarter%2Fwxservicealerts/lists"}