Version information
released May 4th 2020
This version is compatible with:
- Puppet Enterprise 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 < 7.0.0
- , , ,
Start using this module
Add this module to your Puppetfile:
mod 'barnumbirr-zipkin', '0.5.3'
Learn more about managing modules with a PuppetfileDocumentation
barnumbirr/zipkin — version 0.5.3 May 4th 2020
puppet-zipkin
- Module Description - What the module does and why it is useful
- Usage - Configuration options and additional functionality
- Reference - An under-the-hood peek at what the module is doing and how
- Limitations - OS compatibility, etc.
- License
Description
This module installs, configures and upgrades OpenZipkin via Puppet. Zipkin is a distributed tracing system. It helps gather timing data needed to troubleshoot latency problems in microservice architectures. It manages both the collection and lookup of this data.
Usage
Prerequisites
To use this module Java
and Elasticsearch
will need to be installed. We recommend managing your Java installation with
puppetlabs-java and Elasticsearch with elastic-elasticsearch.
Beginning with OpenZipkin
class { '::java':
package => 'openjdk-11-jre-headless',
version => '11.0.5+10-1~deb10u1',
java_home => '/usr/lib/jvm/java-11-openjdk-amd64/',
}->
class { '::elasticsearch':
}->
class { '::zipkin':
# JAVA_HOME=$(readlink -f /usr/bin/java | sed "s:bin/java::")
java_home => '/usr/lib/jvm/java-11-openjdk-amd64/',
}
More complex example (using hiera)
java::package: openjdk-11-jre-headless
java::version: '11.0.5+10-1~deb10u1'
java::java_home: '/usr/lib/jvm/java-11-openjdk-amd64/'
elasticsearch::version: '6.8.4'
elasticsearch::manage_repo: true
elasticsearch::java_install: false
elasticsearch::restart_on_change: true
elasticsearch::status: 'enabled'
elasticsearch::instances:
default:
config:
'cluster.name': 'zipkin'
'node.name': 'zipkin'
'network.host': '127.0.0.1'
jvm_options:
- '-Xms2G'
- '-Xmx4G'
- '8:-XX:+PrintGCDetails'
- '8:-XX:GCLogFileSize=64m'
- '8:-XX:+PrintGCDateStamps'
- '8:-XX:NumberOfGCLogFiles=32'
- '8:-XX:+UseGCLogFileRotation'
- '8:-XX:+PrintTenuringDistribution'
- '9:-XX:+UseConcMarkSweepGC'
- '8:-Xloggc:/var/log/elasticsearch/default/gc.log'
- '9-:-Xlog:gc*,gc+age=trace,safepoint:file=/var/log/elasticsearch/default/gc.log:utctime,pid,tags:filecount=32,filesize=64m'
curator::repository_version: '5'
curator::package_name: 'elasticsearch-curator'
curator::actions::values:
'delete_zipkin_index':
entities:
1:
action: delete_indices
description: Delete indices older than 30 days (based on index name)
options:
continue_if_exception: True
disable_action: False
ignore_empty_list: True
filters:
- filtertype: pattern
kind: prefix
value: zipkin
- filtertype: age
source: name
direction: older
timestring: '%Y-%m-%d'
unit: days
unit_count: 30
curator::jobs::values:
'delete_zipkin_index':
action: 'delete_zipkin_index'
minute: 0
hour: 5
zipkin::java_home: "%{hiera('java::java_home')}"
zipkin::version: '2.19.2'
zipkin::use_slim: true
zipkin::user: 'zipkin'
zipkin::group: 'zipkin'
zipkin::install_dir: '/opt/zipkin'
zipkin::jvm_xms: '512m'
zipkin::jvm_xmx: '2048m'
zipkin::java_opts: '-DSTORAGE_TYPE=elasticsearch -DES_HOSTS=http://localhost:9200'
Reference
Classes
Public Classes
zipkin
: Main class, manages the installation and configuration of OpenZipkin.
Private Classes
zipkin::install
: Installs Zipkin jar filezipkin::params
: Modifiy Zipkin configurationzipkin::service
: Manage the Zipkin service
Parameters
Zipkin parameters
TODO
Java JVM parameters
TODO
Miscellaneous parameters
TODO
Limitations
- Puppet 4.10.0 or newer
The puppetlabs repositories can be found at: yum.puppetlabs.com and apt.puppetlabs.com
- RedHat/CentOS 6/7
- Ubuntu 14.04/16.04/18.04/19.04
- Debian 9/10
License:
Copyright 2019-2020 Martin Simon
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
Dependencies
- puppetlabs/stdlib (>=2.6.0 < 7.0.0)
- camptocamp/systemd (>= 1.0.0 < 3.0.0)
- puppet/archive (>= 3.2.1 < 5.0.0)