nservicebusservicepulse
Version information
This version is compatible with:
- Puppet Enterprise 2023.8.x, 2023.7.x, 2023.6.x, 2023.5.x, 2023.4.x, 2023.3.x, 2023.2.x, 2023.1.x, 2023.0.x, 2021.7.x, 2021.6.x, 2021.5.x, 2021.4.x, 2021.3.x, 2021.2.x, 2021.1.x, 2021.0.x, 2019.8.x, 2019.7.x, 2019.5.x, 2019.4.x, 2019.3.x, 2019.2.x, 2019.1.x, 2019.0.x, 2018.1.x, 2017.3.x, 2017.2.x, 2016.4.x
- Puppet >= 4.10.0 < 9.0.0
Start using this module
Add this module to your Puppetfile:
mod 'tragiccode-nservicebusservicepulse', '0.3.0'
Learn more about managing modules with a PuppetfileDocumentation
nservicebusservicepulse
Table of Contents
- Description
- Setup requirements
- Usage - Configuration options and additional functionality
- Reference - An under-the-hood peek at what the module is doing and how
- Limitations - OS compatibility, etc.
- Contributing
Description
The nservicebusservicepulse module installs and manages Service Pulse.
ServicePulse is a web application aimed mainly at administrators. It gives a clear, near real-time, high-level overview of how a system is functioning.
Setup Requirements
The nservicebusservicepulse module requires the following:
- Puppet Agent 4.7.1 or later.
- Access to the internet.
- Chocolatey installed.
- A Running instance of Service Control.
- Windows Server 2012/2012R2/2016.
Beginning with nservicebusservicepulse
To get started with the nservicebusservicepulse module simply include the following in your manifest:
class { 'nservicebusservicepulse':
package_ensure => 'present',
service_control_url => 'http://servicecontrol.tragiccode.com:33333/api/',
}
This example downloads, installs, and configures the latest version of servicepulse and points it to an instance of service control on a remote machine. After running this you should be able to access servicepulse from http://localhost:9090.
NOTE: By default this module pulls the package from chocolatey (https://chocolatey.org/packages/servicepulse)
Usage
All parameters for the nservicebusservicepulse module are contained within the main nservicebusservicepulse
class, so for any function of the module, set the options you want. See the common usages below for examples.
Install a specific version of service pulse from chocolatey
class { 'nservicebusservicepulse':
package_ensure => '1.16.0',
service_control_url => 'http://localhost:33333/api/',
}
NOTE: We recommend always specifying a specific version so that it's easily viewable and explicit in code. The default value is present which just grabs whatever version happens to be the latest at the time your first puppet run happened with this code
Change Service Pulse Port
The Default port for servicepulse is 9090 but can be customized as shown below if needed.
class { 'nservicebusservicepulse':
package_ensure => 'present',
port => 9091,
}
Display of Real-time Monitoring
In order to consume real-time monitoring of logical endpoints by displaying various key metrics ( Critical Time, Processing Time, Throughput, Queue Length, etc.. ) simply point servicepulse to the url of your service control monitoring instance.
class { 'nservicebusservicepulse':
package_ensure => 'present',
service_control_url => 'http://servicecontrol.tragiccode.com:33333/api/',
monitoring_url => 'http://servicecontrol.tragiccode.com:33633/',
}
Enable pending retries view
class { 'nservicebusservicepulse':
package_ensure => 'present',
show_pending_retry => true,
}
NOTE: Failed messages that are currently in the pending status can be retried, however this feature should be used with care. Retrying pending messages can cause the same message to be processed multiple times. Do not retry a message if it has been processed by the endpoint. In this context "processed" includes both the successful handling of the message and the failure state of it being sent to the error queue
Reference
See REFERENCE.md
Limitations
IIS Hosting Currently not implemented
Currently hosting service pulse within IIS is currently not implemented and the only supported configuration is hosting via a Windows Service.
This also means that the ability to have multiple instances of servicepulse on a single machine is also not possible.
Contributing
- Fork it ( https://github.com/tragiccode/tragiccode-nservicebusservicepulse/fork )
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Add some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create a new Pull Request
Reference
Table of Contents
Classes
Public Classes
nservicebusservicepulse
: Installs and configures Particular's Service Pulse Monitoring Tool.
Private Classes
nservicebusservicepulse::config
: This class handles the configuration of servicepulse.nservicebusservicepulse::install
: This class handles the management of the servicepulse installer and package.nservicebusservicepulse::params
: This class handles the default parameters servicepulse class.nservicebusservicepulse::service
: This class handles the service configuration of servicepulse.
Classes
nservicebusservicepulse
Installs and configures Particular's Service Pulse Monitoring Tool.
Parameters
The following parameters are available in the nservicebusservicepulse
class:
package_ensure
package_manage
package_source
package_provider
service_manage
service_ensure
service_enable
port
service_control_url
monitoring_url
show_pending_retry
package_ensure
Data type: String
Whether to install the ServicePulse package.
Default value: $nservicebusservicepulse::params::package_ensure
package_manage
Data type: Boolean
Whether to manage the ServicePulse package.
Default value: $nservicebusservicepulse::params::package_manage
package_source
Data type: Optional[String]
Where to find the package file.
Default value: $nservicebusservicepulse::params::package_source
package_provider
Data type: String
The package provider that should be used.
Default value: $nservicebusservicepulse::params::package_provider
service_manage
Data type: Boolean
Specifies whether or not to manage the desired state of the windows service.
Default value: $nservicebusservicepulse::params::service_manage
service_ensure
Data type: Enum['running', 'stopped']
Specifies the state of the service.
Default value: $nservicebusservicepulse::params::service_ensure
service_enable
Data type: Variant[Boolean, Enum['manual']]
Whether to enable the service.
Default value: $nservicebusservicepulse::params::service_enable
port
Data type: Stdlib::Port
Specify the port number to listen on. 9090 is recommended if no conflicts exist.
Default value: $nservicebusservicepulse::params::port
service_control_url
Data type: Stdlib::Httpurl
Specify the url for the servicecontrol instance api.
Default value: $nservicebusservicepulse::params::service_control_url
monitoring_url
Data type: Stdlib::Httpurl
Specify the url for the servicecontrol monitoring instance api.
Default value: $nservicebusservicepulse::params::monitoring_url
show_pending_retry
Data type: Boolean
Whether to show retries that are currently in pending in servicepulse.
Default value: $nservicebusservicepulse::params::show_pending_retry
Change log
All notable changes to this project will be documented in this file. The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
v0.3.0 (2023-09-08)
Added
- (GH-13) Update pdk templates #14 (TraGicCode)
- (GH-11) Add puppet 8 support #12 (TraGicCode)
v0.2.0 (2022-02-03)
Added
- (GH-8) Update all direct dependencies #9 (TraGicCode)
0.1.0 (2019-03-12)
* This Changelog was automatically generated by github_changelog_generator
Dependencies
- puppetlabs/stdlib (>= 4.0.0 < 10.0.0)
- puppetlabs/chocolatey (>= 3.0.0 < 9.0.0)
- puppetlabs/registry (>= 1.0.0 < 6.0.0)