Welcome to your new module. A short overview of the generated parts can be found in the PDK documentation at https://puppet.com/pdk/latest/pdk_generating_modules.html .
The README template below provides a starting point with details about what information to include in your README.
- Description
- Setup - The basics of getting started with go_carbon
- Usage - Configuration options and additional functionality
- Limitations - OS compatibility, etc.
- Development - Guide for contributing to the module
Briefly tell users why they might want to use your module. Explain what your module does and what kind of problems users can solve with it.
This should be a fairly short description helps the user decide if your module is what they want.
If it's obvious what your module touches, you can skip this section. For example, folks can probably figure out that your mysql_instance module affects their MySQL instances.
If there's more that they should know about, though, this is the place to mention:
- Files, packages, services, or operations that the module will alter, impact, or execute.
- Dependencies that your module automatically installs.
- Warnings or other important notices.
If your module requires anything extra before setting up (pluginsync enabled, another module, etc.), mention it here.
If your most recent release breaks compatibility or requires particular steps for upgrading, you might want to include an additional "Upgrading" section here.
The very basic steps needed for a user to get the module up and running. This can include setup steps, if necessary, or it can be an example of the most basic use of the module.
Include usage examples for common use cases in the Usage section. Show your users how to use your module to solve problems, and be sure to include code examples. Include three to five examples of the most important or common tasks a user can accomplish with your module. Show users how to accomplish more complex tasks that involve different types, classes, and functions working in tandem.
Classes
go_carbon
: go_carbon Main class, includes all other classes.go_carbon::config
:go_carbon::install
:go_carbon::service
:
go_carbon
Main class, includes all other classes.
- Note carbonserver is not intended to fully replace graphite-web it acts as a "REMOTE_STORAGE" for graphite-web or carbonzipper/carbonapi. Carbonserver support is still experimental and may contain bugs or be incompatible with github.com/grobian/carbonserver
The following parameters are available in the go_carbon
class.
Data type: Pattern[/^\d+(\.\d+){2}$/]
Specifies the package version for go-carbon. Default value: 0.14.0 .
Data type: Stdlib::Absolutepath
Specifies a directory for go-carbon's configuration files. Default value: '/etc/go-carbon'.
Specifies the log file destination for go-carbon logs. Default value: '/var/log/go-carbon'.
Data type: Optional[String]
Run as user. Works only in daemon mode. Default value: 'carbon'
Data type: Stdlib::Absolutepath
Specifies the destination of the downloaded package. Default value: '/tmp'.
Data type: Stdlib::Ensure::Service
Wheter the go-carbon service should be running. Default value: 'running'.
Wheter to enable the go-carbon service at boot. Default value: true.
Data type: Boolean
Specifies to download the go-carbon package from GitHub. Default value: false.
Data type: String
Prefix for store all internal go-carbon graphs. Supported macroses: {host}. Default value: 'carbon.agents.{host}'.
Data type: String
Endpoint for store internal carbon metrics. Valid values: "" or "local", "tcp://host:port", "udp://host:port". Default value: 'local'.
Data type: String
Interval of storing internal metrics. Like CARBON_METRIC_INTERVAL. Default value: '1m0s'.
Data type: Integer
Increase for configuration with multi persister workers. Default value: 4.
Data type: Stdlib::Absolutepath
Specifies the directory of whisper. Default value: '/var/lib/graphite/whisper'.
Data type: Stdlib::Absolutepath
Specifies the directory of whisper storage schemas file. Default value: '/etc/go-carbon/storage-schemas.conf'.
Data type: Stdlib::Absolutepath
Specifies the directory of whisper storage aggreation file. Default value: '/etc/go-carbon/storage-aggregation.conf'.
Data type: Integer
Worker threads count. Metrics sharded by "crc32(metricName) % workers". Default value: 8
Data type: Integer
Limits the number of whisper update_many() calls per second. 0 - no limit. Default value: 0
Data type: Integer
Softly limits the number of whisper files that get created each second. 0 - no limit. Default value: 0
Data type: Boolean
Make max-creates-per-second a hard limit. Extra new metrics are dropped. A hard throttle of 0 drops all new metrics. Default value: false.
Data type: Boolean
Sparse file creation. Default value: false.
Data type: Boolean
Use flock on every file call (ensures consistency if there are concurrent read/writes to the same file). Default value: true.
Data type: Boolean
Use flock on every file call (ensures consistency if there are concurrent read/writes to the same file). Default value: true.
Data type: Boolean
Use hashed filenames for tagged metrics instead of human readable. Default value: true.
Data type: Integer
Limit of in-memory stored points (not metrics). Default value: 1000000 .
Data type: String
Capacity of queue between receivers and cache Strategy to persist metrics. Values: "max","sorted","noop". "max" - write metrics with most unwritten datapoints first "sorted" - sort by timestamp of first unwritten datapoint. "noop" - pick metrics to write in unspecified order, requires least CPU and improves cache responsiveness Default value: 'max'.
Data type: Boolean
Enables upd. Default value: true.
Data type: Stdlib::Port
Specifies the port for udp. Default value: ':2003'.
Data type: Integer
Optional internal queue between receiver and cache. Default value: 0 .
Data type: Boolean
Enables tcp. Default value: true.
Data type: Stdlib::Port
Specifies the port for tcp. Default value: ':2003'
Data type: Integer
Optional internal queue between receiver and cache. Default value: 0 .
Data type: Boolean
Whether to enable pickle. Default value: true.
Data type: Stdlib::Port
Specifies the port for pickle. Default value: ':2004'.
Data type: Integer
Limit message size for prevent memory overflow. Default value: 67108864 .
Data type: Integer
Optional internal queue between receiver and cache. Default value: 0 .
Data type: Boolean
Whether to enable carbonlink. Default value: true.
Data type: String
Specifies the IP-Address with port for carbonlink. Defaul value: '127.0.0.1:7002'.
Data type: String
Close inactive connections after "read-timeout". Default value: '30s'.
Data type: Boolean
Whether to enable grpc api. Default value: true.
Data type: String
Specifies the IP-Address with port for grpc api. Default value: '127.0.0.1:7003'.
Data type: Boolean
Whether to enable tags. Default value: false.
Data type: String
TagDB url. It should support /tags/tagMultiSeries endpoint. Default value: 'http://127.0.0.1:8000'.
Data type: Integer
TODO
Data type: Integer
TODO
Data type: Stdlib::Absolutepath
Directory for send queue (based on leveldb). Default value: '/var/lib/graphite/tagging/'.
Data type: String
POST timeout. Default value: '1s'.
Data type: String
Specifies the IP-Address with port for carbonserver. Default value: '127.0.0.1:8080'.
Data type: Boolean
Whether to enable carbonserver. Default value: false.
Data type: Integer
Buckets to track response times. Default value: 10 .
Data type: Boolean
Carbonserver-specific metrics will be sent as counters for compatibility with grobian/carbonserver. Default value: false.
Data type: String
Read timeout for HTTP server. Default value: '60s'.
Data type: String
Write timeout for HTTP server. Default value: '60s'.
Data type: Boolean
Enable /render cache, it will cache the result for 1 minute. Default value: true.
Data type: Integer
0 for unlimited. Default value: 0 .
Data type: Boolean
Enable /metrics/find cache, it will cache the result for 5 minutes. Default value: true.
Data type: Boolean
Control trigram index This index is used to speed-up /find requests. However, it will lead to increased memory consumption estimated memory consumption is approx. 500 bytes per each metric on disk. Another drawback is that it will recreate index every scan-frequency interval all new/deleted metrics will still be searchable until index is recreated Default value: true.
Data type: String
Carbonserver keeps track of all available whisper files in memory. This determines how often it will check FS for new or deleted metrics. Default value: '5m0s'.
Data type: Integer
Maximum amount of globs in a single metric in index. This value is used to speed-up /find requests with a lot of globs, but will lead to increased memory consumption. Default value: 100 .
Data type: Boolean
Fail if amount of globs more than max-globs. Default value: false.
Data type: Boolean
Use Graphite-web 1.0 native structs for pickle response. This mode will break compatibility with graphite-web 0.9.x If false, carbonserver won't send graphite-web 1.0 specific structs that might degrade performance of the cluster. But will be compatible with both graphite-web 1.0 and 0.9.x . Default value: true.
Data type: String
Allows to keep track for "last time readed" between restarts, leave empty to disable. Default value: ''.
Data type: Array[Integer, 5]
Calculate /render request time percentiles for the bucket, '95' means calculate 95th Percentile. To disable this feature, leave the list blank. Default value: [99, 98, 95, 75, 50].
Data type: Boolean
Enable dump/restore function on USR2 signal. Default value: false.
Data type: Stdlib::Absolutepath
Directory for store dump data. Should be writeable for carbon. Default value: '/var/lib/graphite/dump/'.
Data type: Integer
Restore speed. 0 - unlimited. Default value: 0 .
Data type: String
Specifies the IP-Address with port for pprof. Default value: 'localhost:7007'.
Data type: Boolean
Whether to enable pprof. Default value: false.
Data type: String
TODO
Data type: Stdlib::Absolutepath
Log output: filename, "stderr", "stdout", "none", "" (same as "stderr"). Default value: '/var/log/go-carbon/go-carbon.log'.
Data type: String
Log level: "debug", "info", "warn", "error", "dpanic", "panic", and "fatal". Default value: 'info'.
Data type: String
Log format: "json", "console", "mixed". Default value: 'mixed'.
Data type: String
Log time format: "millis", "nanos", "epoch", "iso8601". Default value: 'iso8601'.
Data type: String
Log duration format: "seconds", "nanos", "string". Default value: 'seconds'.
Data type: String
TODO
Data type: String
TODO
Data type: String
TODO
Data type: String
TODO
Data type: String
TODO
Data type: String
Data type: String
Data type: String
Data type: Optional[Integer[1]]
Data type: Boolean
The go_carbon::config class.
The go_carbon::install class.
The go_carbon::service class.
In the Limitations section, list any incompatibilities, known issues, or other warnings.
In the Development section, tell other users the ground rules for contributing to your project and how they should submit their work.
If you aren't using changelog, put your release notes here (though you should consider using changelog). You can also add any additional sections you feel are necessary or important to include here. Please use the ##
header.