Initial mon_thresh cookbook
This commit is contained in:
commit
dbb0d972e5
31
README.md
Normal file
31
README.md
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
mon_thresh Cookbook
|
||||||
|
===================
|
||||||
|
|
||||||
|
Requirements
|
||||||
|
------------
|
||||||
|
No special requirements at this time
|
||||||
|
|
||||||
|
Attributes
|
||||||
|
----------
|
||||||
|
<table>
|
||||||
|
<tr>
|
||||||
|
<th>Key</th>
|
||||||
|
<th>Type</th>
|
||||||
|
<th>Description</th>
|
||||||
|
<th>Default</th>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td><tt>[:mon_thresh][:data_bag]</tt></td>
|
||||||
|
<td>String</td>
|
||||||
|
<td>Data bag to use</td>
|
||||||
|
<td><tt>mon_thresh</tt></td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
Data Bags
|
||||||
|
---------
|
||||||
|
The node[:mon_thresh][:data_bag] data bag is used for all items.
|
||||||
|
|
||||||
|
The following data bag items are used:
|
||||||
|
- thresh - Holds basic configuration details of the threshold engine
|
||||||
|
|
3
attributes/default.rb
Normal file
3
attributes/default.rb
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
default[:mon_thresh][:data_bag] = 'mon_thresh'
|
||||||
|
|
||||||
|
default[:mon_thresh][:log_dir] = '/var/log/mon-thresh'
|
7
metadata.rb
Normal file
7
metadata.rb
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
name 'mon_thresh'
|
||||||
|
maintainer "Monitoring Team"
|
||||||
|
maintainer_email "hpcs-mon@hp.com"
|
||||||
|
license 'All rights reserved'
|
||||||
|
description 'Installs/Configures mon_thresh'
|
||||||
|
long_description IO.read(File.join(File.dirname(__FILE__), 'README.md'))
|
||||||
|
version '0.1.0'
|
35
recipes/default.rb
Normal file
35
recipes/default.rb
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
# The user/group thresh are created by the package, as well as /etc/mon/
|
||||||
|
package 'mon-thresh' do #The package depends on openjdk-7-jre-headless
|
||||||
|
action :upgrade
|
||||||
|
end
|
||||||
|
|
||||||
|
service 'mon-thresh' do
|
||||||
|
action :enable
|
||||||
|
provider Chef::Provider::Service::Upstart
|
||||||
|
end
|
||||||
|
|
||||||
|
# Create the log file directory
|
||||||
|
directory node[:mon_thresh][:log_dir] do
|
||||||
|
action :create
|
||||||
|
recursive true
|
||||||
|
owner 'thresh'
|
||||||
|
group 'thresh'
|
||||||
|
mode 0755
|
||||||
|
end
|
||||||
|
|
||||||
|
# todo - I need an encrypted credentials data bag
|
||||||
|
credentials = { 'mysql' => { 'user' => 'thresh', 'password' => 'password'}}
|
||||||
|
settings = data_bag_item(node[:mon_thresh][:data_bag], 'mon_thresh')
|
||||||
|
|
||||||
|
template '/etc/mon/mon-thresh-config.yml' do
|
||||||
|
action :create
|
||||||
|
owner 'root'
|
||||||
|
group 'thresh'
|
||||||
|
mode '640'
|
||||||
|
source 'mon-thresh-config.yml.erb'
|
||||||
|
variables(
|
||||||
|
:credentials => credentials,
|
||||||
|
:settings => settings
|
||||||
|
)
|
||||||
|
notifies :restart, "service[mon-thresh]"
|
||||||
|
end
|
108
templates/default/mon-thresh-config.yml.erb
Executable file
108
templates/default/mon-thresh-config.yml.erb
Executable file
@ -0,0 +1,108 @@
|
|||||||
|
metricSpoutThreads: 1
|
||||||
|
metricSpoutTasks: 1
|
||||||
|
|
||||||
|
# log location? node['mon_thresh']['log_dir']
|
||||||
|
|
||||||
|
metricSpoutConfig:
|
||||||
|
|
||||||
|
#Kafka settings.
|
||||||
|
kafkaConsumerConfiguration:
|
||||||
|
# See http://kafka.apache.org/documentation.html#api for semantics and defaults.
|
||||||
|
topic: <%= @settings['kafka']['metric']['topic'] %>
|
||||||
|
numThreads: 1
|
||||||
|
groupId: <%= @settings['kafka']['metric']['group'] %>
|
||||||
|
zookeeperConnect: <%= @settings['zookeeper']['host'] %>
|
||||||
|
consumerId: 1
|
||||||
|
socketTimeoutMs: 30000
|
||||||
|
socketReceiveBufferBytes : 65536
|
||||||
|
fetchMessageMaxBytes: 1048576
|
||||||
|
autoCommitEnable: true
|
||||||
|
autoCommitIntervalMs: 60000
|
||||||
|
queuedMaxMessageChunks: 10
|
||||||
|
rebalanceMaxRetries: 4
|
||||||
|
fetchMinBytes: 1
|
||||||
|
fetchWaitMaxMs: 100
|
||||||
|
rebalanceBackoffMs: 2000
|
||||||
|
refreshLeaderBackoffMs: 200
|
||||||
|
autoOffsetReset: largest
|
||||||
|
consumerTimeoutMs: -1
|
||||||
|
clientId : 1
|
||||||
|
zookeeperSessionTimeoutMs : 6000
|
||||||
|
zookeeperConnectionTimeoutMs : 6000
|
||||||
|
zookeeperSyncTimeMs: 2000
|
||||||
|
|
||||||
|
|
||||||
|
eventSpoutConfig:
|
||||||
|
#Kafka settings.
|
||||||
|
kafkaConsumerConfiguration:
|
||||||
|
# See http://kafka.apache.org/documentation.html#api for semantics and defaults.
|
||||||
|
topic: <%= @settings['kafka']['event']['consumer_topic'] %>
|
||||||
|
numThreads: 1
|
||||||
|
groupId: <%= @settings['kafka']['event']['group'] %>
|
||||||
|
zookeeperConnect: <%= @settings['zookeeper']['host'] %>
|
||||||
|
consumerId: 1
|
||||||
|
socketTimeoutMs: 30000
|
||||||
|
socketReceiveBufferBytes : 65536
|
||||||
|
fetchMessageMaxBytes: 1048576
|
||||||
|
autoCommitEnable: true
|
||||||
|
autoCommitIntervalMs: 60000
|
||||||
|
queuedMaxMessageChunks: 10
|
||||||
|
rebalanceMaxRetries: 4
|
||||||
|
fetchMinBytes: 1
|
||||||
|
fetchWaitMaxMs: 100
|
||||||
|
rebalanceBackoffMs: 2000
|
||||||
|
refreshLeaderBackoffMs: 200
|
||||||
|
autoOffsetReset: largest
|
||||||
|
consumerTimeoutMs: -1
|
||||||
|
clientId : 1
|
||||||
|
zookeeperSessionTimeoutMs : 6000
|
||||||
|
zookeeperConnectionTimeoutMs : 6000
|
||||||
|
zookeeperSyncTimeMs: 2000
|
||||||
|
|
||||||
|
|
||||||
|
kafkaProducerConfiguration:
|
||||||
|
# See http://kafka.apache.org/documentation.html#api for semantics and defaults.
|
||||||
|
topic: <%= @settings['kafka']['event']['producer_topic'] %>
|
||||||
|
metadataBrokerList: <%= @settings['kafka']['event']['host'] %>
|
||||||
|
serializerClass: kafka.serializer.StringEncoder
|
||||||
|
partitionerClass:
|
||||||
|
requestRequiredAcks: 1
|
||||||
|
requestTimeoutMs: 10000
|
||||||
|
producerType: sync
|
||||||
|
keySerializerClass:
|
||||||
|
compressionCodec: none
|
||||||
|
compressedTopics:
|
||||||
|
messageSendMaxRetries: 3
|
||||||
|
retryBackoffMs: 100
|
||||||
|
topicMetadataRefreshIntervalMs: 600000
|
||||||
|
queueBufferingMaxMs: 5000
|
||||||
|
queueBufferingMaxMessages: 10000
|
||||||
|
queueEnqueueTimeoutMs: -1
|
||||||
|
batchNumMessages: 200
|
||||||
|
sendBufferBytes: 102400
|
||||||
|
clientId : Threshold_Engine
|
||||||
|
|
||||||
|
|
||||||
|
sporadicMetricNamespaces:
|
||||||
|
- foo
|
||||||
|
|
||||||
|
database:
|
||||||
|
driverClass: com.mysql.jdbc.Driver
|
||||||
|
url: jdbc:mysql://<%= @settings['mysql']['host'] %>/<%= @settings['mysql']['db'] %>
|
||||||
|
user: <%= @credentials['mysql']['user'] %>
|
||||||
|
password: <%= @credentials['mysql']['password'] %>
|
||||||
|
properties:
|
||||||
|
ssl: false
|
||||||
|
# the maximum amount of time to wait on an empty pool before throwing an exception
|
||||||
|
maxWaitForConnection: 1s
|
||||||
|
|
||||||
|
# the SQL query to run when validating a connection's liveness
|
||||||
|
validationQuery: "/* MyService Health Check */ SELECT 1"
|
||||||
|
|
||||||
|
# the minimum number of connections to keep open
|
||||||
|
minSize: 8
|
||||||
|
|
||||||
|
# the maximum number of connections to keep open
|
||||||
|
|
||||||
|
|
||||||
|
maxSize: 41
|
Loading…
Reference in New Issue
Block a user