Compare commits
20 Commits
a6fa3c098b
...
master
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
c8662002dc | ||
|
|
313c6232ae | ||
| 5d2047a77e | |||
|
|
20b04bc1d4 | ||
|
|
777d4d0e91 | ||
| aa83361a8e | |||
| c2149834d3 | |||
|
|
7bb12d03c5 | ||
|
|
e2b61dea14 | ||
| 5db2481d76 | |||
|
|
ab99ef1c20 | ||
|
|
256fec2b64 | ||
| eefd846f7c | |||
|
|
921b332d5a | ||
|
|
36dc3d1e4b | ||
| 63e1012ff3 | |||
| 8317e78bef | |||
|
|
8ee024da90 | ||
| f883424e26 | |||
|
|
7225773a25 |
127
Jenkinsfile
vendored
127
Jenkinsfile
vendored
@@ -1,127 +0,0 @@
|
|||||||
pipeline {
|
|
||||||
agent {
|
|
||||||
label 'puppet'
|
|
||||||
}
|
|
||||||
|
|
||||||
post {
|
|
||||||
always {
|
|
||||||
deleteDir() /* clean up our workspace */
|
|
||||||
}
|
|
||||||
success {
|
|
||||||
updateGitlabCommitStatus state: 'success'
|
|
||||||
}
|
|
||||||
failure {
|
|
||||||
updateGitlabCommitStatus state: 'failed'
|
|
||||||
step([$class: 'Mailer', notifyEveryUnstableBuild: true, recipients: 'support@confdroid.com', sendToIndividuals: true])
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
options {
|
|
||||||
gitLabConnection('gitlab.confdroid.com')
|
|
||||||
}
|
|
||||||
|
|
||||||
stages {
|
|
||||||
|
|
||||||
stage('pull master') {
|
|
||||||
steps {
|
|
||||||
sshagent(['edd05eb6-26b5-4c7b-a5cc-ea2ab899f4fa']) {
|
|
||||||
sh '''
|
|
||||||
git config user.name "Jenkins Server"
|
|
||||||
git config user.email jenkins@confdroid.com
|
|
||||||
# Ensure we're on the development branch (triggered by push)
|
|
||||||
git checkout development
|
|
||||||
# Create jenkins branch from development
|
|
||||||
git checkout -b jenkins-build-$BUILD_NUMBER
|
|
||||||
# Optionally merge master into jenkins to ensure compatibility
|
|
||||||
git merge origin/master --no-ff || { echo "Merge conflict detected"; exit 1; }
|
|
||||||
'''
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
stage('puppet parser') {
|
|
||||||
steps {
|
|
||||||
sh '''for file in $(find . -iname \'*.pp\'); do
|
|
||||||
/opt/puppetlabs/bin/puppet parser validate --color false --render-as s --modulepath=modules $file || exit 1;
|
|
||||||
done;'''
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
stage('check templates') {
|
|
||||||
steps{
|
|
||||||
sh '''for file in $(find . -iname \'*.erb\');
|
|
||||||
do erb -P -x -T "-" $file | ruby -c || exit 1;
|
|
||||||
done;'''
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
stage('puppet-lint') {
|
|
||||||
steps {
|
|
||||||
sh '''/usr/local/bin/puppet-lint . \\
|
|
||||||
--no-variable_scope-check \\
|
|
||||||
|| { echo "Puppet lint failed"; exit 1; }
|
|
||||||
'''
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
stage('SonarScan') {
|
|
||||||
steps {
|
|
||||||
withCredentials([string(credentialsId: 'sonar-token', variable: 'SONAR_TOKEN')]) {
|
|
||||||
sh '''
|
|
||||||
/opt/sonar-scanner/bin/sonar-scanner \
|
|
||||||
-Dsonar.projectKey=confdroid_alloy \
|
|
||||||
-Dsonar.sources=. \
|
|
||||||
-Dsonar.host.url=https://sonarqube.confdroid.com \
|
|
||||||
-Dsonar.token=$SONAR_TOKEN
|
|
||||||
'''
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
stage('create Puppet documentation') {
|
|
||||||
steps {
|
|
||||||
sh '/opt/puppetlabs/bin/puppet strings'
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
stage('update repo') {
|
|
||||||
steps {
|
|
||||||
sshagent(['edd05eb6-26b5-4c7b-a5cc-ea2ab899f4fa']) {
|
|
||||||
sh '''
|
|
||||||
git config user.name "Jenkins Server"
|
|
||||||
git config user.email jenkins@confdroid.com
|
|
||||||
git rm -r --cached .vscode || echo "No .vscode to remove from git"
|
|
||||||
git add -A && git commit -am "Recommit for updates in build $BUILD_NUMBER" || echo "No changes to commit"
|
|
||||||
git push origin HEAD:master
|
|
||||||
'''
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
stage('Mirror to Gitea') {
|
|
||||||
steps {
|
|
||||||
sshagent(['edd05eb6-26b5-4c7b-a5cc-ea2ab899f4fa']) {
|
|
||||||
withCredentials([usernamePassword(
|
|
||||||
credentialsId: 'Jenkins-gitea',
|
|
||||||
usernameVariable: 'GITEA_USER',
|
|
||||||
passwordVariable: 'GITEA_TOKEN')]) {
|
|
||||||
script {
|
|
||||||
// Checkout from GitLab (already done implicitly)
|
|
||||||
sh '''
|
|
||||||
git checkout master
|
|
||||||
git pull origin master
|
|
||||||
git branch -D development
|
|
||||||
git branch -D jenkins-build-$BUILD_NUMBER
|
|
||||||
git rm -f Jenkinsfile
|
|
||||||
git rm -r --cached .vscode || echo "No .vscode to remove from git"
|
|
||||||
git commit --amend --no-edit --allow-empty
|
|
||||||
git remote add master https://sourcecode.confdroid.com/confdroid/confdroid_alloy.git
|
|
||||||
git -c credential.helper="!f() { echo username=${GITEA_USER}; echo password=${GITEA_TOKEN}; }; f" \
|
|
||||||
push master --mirror
|
|
||||||
'''
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -44,6 +44,7 @@ CONFIGURATION
|
|||||||
- manages the main alloy pipeline for loki and prometheus
|
- manages the main alloy pipeline for loki and prometheus
|
||||||
- manages log rotation for rsyslog to allow adm membership
|
- manages log rotation for rsyslog to allow adm membership
|
||||||
- manage service
|
- manage service
|
||||||
|
- optional: include nagios target for the alloy service (set `ay_manage_nagios`to `true`)
|
||||||
|
|
||||||
## Repo Documentation
|
## Repo Documentation
|
||||||
|
|
||||||
@@ -53,6 +54,8 @@ See the full Puppet documentation including parameters in `docs/index.html`
|
|||||||
|
|
||||||
All dependencies must be included in the catalogue.
|
All dependencies must be included in the catalogue.
|
||||||
|
|
||||||
|
- [confdroid_nagios](https://sourcecode.confdroid.com/confdroid/confdroid_nagios) if nagios monitoring is desired
|
||||||
|
|
||||||
## Deployment
|
## Deployment
|
||||||
|
|
||||||
- native Puppet deployment
|
- native Puppet deployment
|
||||||
|
|||||||
@@ -103,6 +103,11 @@
|
|||||||
|
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
|
<li>
|
||||||
|
<span class='object_link'><a href="puppet_classes/confdroid_alloy_3A_3Amonitoring_3A_3Atarget.html" title="puppet_classes::confdroid_alloy::monitoring::target (puppet_class)">confdroid_alloy::monitoring::target</a></span>
|
||||||
|
|
||||||
|
</li>
|
||||||
|
|
||||||
<li>
|
<li>
|
||||||
<span class='object_link'><a href="puppet_classes/confdroid_alloy_3A_3Aparams.html" title="puppet_classes::confdroid_alloy::params (puppet_class)">confdroid_alloy::params</a></span>
|
<span class='object_link'><a href="puppet_classes/confdroid_alloy_3A_3Aparams.html" title="puppet_classes::confdroid_alloy::params (puppet_class)">confdroid_alloy::params</a></span>
|
||||||
|
|
||||||
|
|||||||
@@ -119,6 +119,8 @@
|
|||||||
<p>manages log rotation for rsyslog to allow adm membership</p>
|
<p>manages log rotation for rsyslog to allow adm membership</p>
|
||||||
</li><li>
|
</li><li>
|
||||||
<p>manage service</p>
|
<p>manage service</p>
|
||||||
|
</li><li>
|
||||||
|
<p>optional: include nagios target for the alloy service (set <code>ay_manage_nagios</code>to <code>true</code>)</p>
|
||||||
</li></ul>
|
</li></ul>
|
||||||
|
|
||||||
<h2 id="label-Repo+Documentation">Repo Documentation</h2>
|
<h2 id="label-Repo+Documentation">Repo Documentation</h2>
|
||||||
@@ -128,6 +130,9 @@
|
|||||||
<h2 id="label-Dependencies">Dependencies</h2>
|
<h2 id="label-Dependencies">Dependencies</h2>
|
||||||
|
|
||||||
<p>All dependencies must be included in the catalogue.</p>
|
<p>All dependencies must be included in the catalogue.</p>
|
||||||
|
<ul><li>
|
||||||
|
<p><a href="https://sourcecode.confdroid.com/confdroid/confdroid_nagios">confdroid_nagios</a> if nagios monitoring is desired</p>
|
||||||
|
</li></ul>
|
||||||
|
|
||||||
<h2 id="label-Deployment">Deployment</h2>
|
<h2 id="label-Deployment">Deployment</h2>
|
||||||
<ul><li>
|
<ul><li>
|
||||||
|
|||||||
@@ -119,6 +119,8 @@
|
|||||||
<p>manages log rotation for rsyslog to allow adm membership</p>
|
<p>manages log rotation for rsyslog to allow adm membership</p>
|
||||||
</li><li>
|
</li><li>
|
||||||
<p>manage service</p>
|
<p>manage service</p>
|
||||||
|
</li><li>
|
||||||
|
<p>optional: include nagios target for the alloy service (set <code>ay_manage_nagios</code>to <code>true</code>)</p>
|
||||||
</li></ul>
|
</li></ul>
|
||||||
|
|
||||||
<h2 id="label-Repo+Documentation">Repo Documentation</h2>
|
<h2 id="label-Repo+Documentation">Repo Documentation</h2>
|
||||||
@@ -128,6 +130,9 @@
|
|||||||
<h2 id="label-Dependencies">Dependencies</h2>
|
<h2 id="label-Dependencies">Dependencies</h2>
|
||||||
|
|
||||||
<p>All dependencies must be included in the catalogue.</p>
|
<p>All dependencies must be included in the catalogue.</p>
|
||||||
|
<ul><li>
|
||||||
|
<p><a href="https://sourcecode.confdroid.com/confdroid/confdroid_nagios">confdroid_nagios</a> if nagios monitoring is desired</p>
|
||||||
|
</li></ul>
|
||||||
|
|
||||||
<h2 id="label-Deployment">Deployment</h2>
|
<h2 id="label-Deployment">Deployment</h2>
|
||||||
<ul><li>
|
<ul><li>
|
||||||
|
|||||||
@@ -85,7 +85,14 @@
|
|||||||
</li>
|
</li>
|
||||||
|
|
||||||
|
|
||||||
<li id="object_puppet_classes::confdroid_alloy::params" class="even">
|
<li id="object_puppet_classes::confdroid_alloy::monitoring::target" class="even">
|
||||||
|
<div class="item">
|
||||||
|
<span class='object_link'><a href="puppet_classes/confdroid_alloy_3A_3Amonitoring_3A_3Atarget.html" title="puppet_classes::confdroid_alloy::monitoring::target (puppet_class)">confdroid_alloy::monitoring::target</a></span>
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
|
||||||
|
<li id="object_puppet_classes::confdroid_alloy::params" class="odd">
|
||||||
<div class="item">
|
<div class="item">
|
||||||
<span class='object_link'><a href="puppet_classes/confdroid_alloy_3A_3Aparams.html" title="puppet_classes::confdroid_alloy::params (puppet_class)">confdroid_alloy::params</a></span>
|
<span class='object_link'><a href="puppet_classes/confdroid_alloy_3A_3Aparams.html" title="puppet_classes::confdroid_alloy::params (puppet_class)">confdroid_alloy::params</a></span>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -105,7 +105,11 @@
|
|||||||
7
|
7
|
||||||
8
|
8
|
||||||
9
|
9
|
||||||
10</pre>
|
10
|
||||||
|
11
|
||||||
|
12
|
||||||
|
13
|
||||||
|
14</pre>
|
||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
<pre class="code"><span class="info file"># File 'manifests/main/config.pp', line 6</span>
|
<pre class="code"><span class="info file"># File 'manifests/main/config.pp', line 6</span>
|
||||||
@@ -114,6 +118,10 @@ class confdroid_alloy::main::config (
|
|||||||
|
|
||||||
) inherits confdroid_alloy::params {
|
) inherits confdroid_alloy::params {
|
||||||
include confdroid_alloy::main::service
|
include confdroid_alloy::main::service
|
||||||
|
|
||||||
|
if $ay_manage_nagios == true {
|
||||||
|
include confdroid_alloy::monitoring::target
|
||||||
|
}
|
||||||
}</pre>
|
}</pre>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|||||||
@@ -0,0 +1,156 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
<title>
|
||||||
|
Puppet Class: confdroid_alloy::monitoring::target
|
||||||
|
|
||||||
|
— Documentation by YARD 0.9.36
|
||||||
|
|
||||||
|
</title>
|
||||||
|
|
||||||
|
<link rel="stylesheet" href="../css/style.css" type="text/css" />
|
||||||
|
|
||||||
|
<link rel="stylesheet" href="../css/common.css" type="text/css" />
|
||||||
|
|
||||||
|
<script type="text/javascript">
|
||||||
|
pathId = "puppet_classes::confdroid_alloy::monitoring::target";
|
||||||
|
relpath = '../';
|
||||||
|
</script>
|
||||||
|
|
||||||
|
|
||||||
|
<script type="text/javascript" charset="utf-8" src="../js/jquery.js"></script>
|
||||||
|
|
||||||
|
<script type="text/javascript" charset="utf-8" src="../js/app.js"></script>
|
||||||
|
|
||||||
|
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div class="nav_wrap">
|
||||||
|
<iframe id="nav" src="../puppet_class_list.html?1"></iframe>
|
||||||
|
<div id="resizer"></div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="main" tabindex="-1">
|
||||||
|
<div id="header">
|
||||||
|
<div id="menu">
|
||||||
|
|
||||||
|
<a href="../_index.html">Index (c)</a> »
|
||||||
|
<span class='title'><span class='object_link'>Puppet Classes</span></span>
|
||||||
|
»
|
||||||
|
<span class="title">confdroid_alloy::monitoring::target</span>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="search">
|
||||||
|
|
||||||
|
<a class="full_list_link" id="puppet_class_list_link"
|
||||||
|
href="../puppet_class_list.html">
|
||||||
|
|
||||||
|
<svg width="24" height="24">
|
||||||
|
<rect x="0" y="4" width="24" height="4" rx="1" ry="1"></rect>
|
||||||
|
<rect x="0" y="12" width="24" height="4" rx="1" ry="1"></rect>
|
||||||
|
<rect x="0" y="20" width="24" height="4" rx="1" ry="1"></rect>
|
||||||
|
</svg>
|
||||||
|
</a>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<div class="clear"></div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="content"><h1>Puppet Class: confdroid_alloy::monitoring::target</h1>
|
||||||
|
<div class="box_info">
|
||||||
|
|
||||||
|
<dl>
|
||||||
|
<dt>Inherits:</dt>
|
||||||
|
<dd><span class='object_link'><a href="confdroid_alloy_3A_3Aparams.html" title="puppet_classes::confdroid_alloy::params (puppet_class)">confdroid_alloy::params</a></span></dd>
|
||||||
|
</dl>
|
||||||
|
|
||||||
|
|
||||||
|
<dl>
|
||||||
|
<dt>Defined in:</dt>
|
||||||
|
<dd>
|
||||||
|
manifests/monitoring/target.pp
|
||||||
|
</dd>
|
||||||
|
</dl>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<h2>Summary</h2>
|
||||||
|
class manages exports for nagios monitoring
|
||||||
|
|
||||||
|
<h2>Overview</h2>
|
||||||
|
<div class="docstring">
|
||||||
|
<div class="discussion">
|
||||||
|
|
||||||
|
<p>confdroid_alloy::monitoring::target.pp Module name: confdroid_alloy Author: 12ww1160 (12ww1160@puppetsoft.com)</p>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<div class="tags">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</div><div class="method_details_list">
|
||||||
|
<table class="source_code">
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<pre class="lines">
|
||||||
|
|
||||||
|
|
||||||
|
6
|
||||||
|
7
|
||||||
|
8
|
||||||
|
9
|
||||||
|
10
|
||||||
|
11
|
||||||
|
12
|
||||||
|
13
|
||||||
|
14
|
||||||
|
15
|
||||||
|
16
|
||||||
|
17
|
||||||
|
18
|
||||||
|
19
|
||||||
|
20
|
||||||
|
21
|
||||||
|
22
|
||||||
|
23</pre>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<pre class="code"><span class="info file"># File 'manifests/monitoring/target.pp', line 6</span>
|
||||||
|
|
||||||
|
class confdroid_alloy::monitoring::target (
|
||||||
|
|
||||||
|
) inherits confdroid_alloy::params {
|
||||||
|
if $ay_manage_nagios == true {
|
||||||
|
@@nagios_service { "check_alloy_${fqdn}":
|
||||||
|
check_command => "check_nrpe!check_alloy!${ay_procs_allowed}!alloy",
|
||||||
|
use => 'generic-service',
|
||||||
|
host_name => $fqdn,
|
||||||
|
notification_period => '24x7',
|
||||||
|
service_description => "${fqdn}_check_alloy",
|
||||||
|
target => $ay_target_service,
|
||||||
|
owner => 'nagios',
|
||||||
|
group => 'nagios',
|
||||||
|
mode => '0640',
|
||||||
|
contacts => $ay_target_contacts,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}</pre>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="footer">
|
||||||
|
Generated by <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>.
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@@ -79,6 +79,8 @@
|
|||||||
|
|
||||||
<span class='object_link'><a href="confdroid_alloy_3A_3Amain_3A_3Ayumrepo.html" title="puppet_classes::confdroid_alloy::main::yumrepo (puppet_class)">confdroid_alloy::main::yumrepo</a></span><br/>
|
<span class='object_link'><a href="confdroid_alloy_3A_3Amain_3A_3Ayumrepo.html" title="puppet_classes::confdroid_alloy::main::yumrepo (puppet_class)">confdroid_alloy::main::yumrepo</a></span><br/>
|
||||||
|
|
||||||
|
<span class='object_link'><a href="confdroid_alloy_3A_3Amonitoring_3A_3Atarget.html" title="puppet_classes::confdroid_alloy::monitoring::target (puppet_class)">confdroid_alloy::monitoring::target</a></span><br/>
|
||||||
|
|
||||||
</dd>
|
</dd>
|
||||||
</dl>
|
</dl>
|
||||||
|
|
||||||
@@ -302,6 +304,132 @@
|
|||||||
—
|
—
|
||||||
<div class='inline'>
|
<div class='inline'>
|
||||||
<p>whether to track timestamps staleness in prometheus metrics</p>
|
<p>whether to track timestamps staleness in prometheus metrics</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li>
|
||||||
|
|
||||||
|
<span class='name'>ay_prom_max_shards</span>
|
||||||
|
|
||||||
|
|
||||||
|
<span class='type'>(<tt>String</tt>)</span>
|
||||||
|
|
||||||
|
|
||||||
|
<em class="default">(defaults to: <tt>'10'</tt>)</em>
|
||||||
|
|
||||||
|
|
||||||
|
—
|
||||||
|
<div class='inline'>
|
||||||
|
<p>the maximum number of shards to use for prometheus metrics</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li>
|
||||||
|
|
||||||
|
<span class='name'>ay_prom_max_samples_per_send</span>
|
||||||
|
|
||||||
|
|
||||||
|
<span class='type'>(<tt>String</tt>)</span>
|
||||||
|
|
||||||
|
|
||||||
|
<em class="default">(defaults to: <tt>'2000'</tt>)</em>
|
||||||
|
|
||||||
|
|
||||||
|
—
|
||||||
|
<div class='inline'>
|
||||||
|
<p>the maximum number of samples to send</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li>
|
||||||
|
|
||||||
|
<span class='name'>ay_prom_batch_send_deadline</span>
|
||||||
|
|
||||||
|
|
||||||
|
<span class='type'>(<tt>String</tt>)</span>
|
||||||
|
|
||||||
|
|
||||||
|
<em class="default">(defaults to: <tt>'5s'</tt>)</em>
|
||||||
|
|
||||||
|
|
||||||
|
—
|
||||||
|
<div class='inline'>
|
||||||
|
<p>the maximum time to wait before sending</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li>
|
||||||
|
|
||||||
|
<span class='name'>ay_manage_nagios</span>
|
||||||
|
|
||||||
|
|
||||||
|
<span class='type'>(<tt>Boolean</tt>)</span>
|
||||||
|
|
||||||
|
|
||||||
|
<em class="default">(defaults to: <tt>false</tt>)</em>
|
||||||
|
|
||||||
|
|
||||||
|
—
|
||||||
|
<div class='inline'>
|
||||||
|
<p>whether to manage nagios service exports</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li>
|
||||||
|
|
||||||
|
<span class='name'>ay_target_service</span>
|
||||||
|
|
||||||
|
|
||||||
|
<span class='type'>(<tt>String</tt>)</span>
|
||||||
|
|
||||||
|
|
||||||
|
<em class="default">(defaults to: <tt>'/etc/nagios/conf.d/alloy_service.cfg'</tt>)</em>
|
||||||
|
|
||||||
|
|
||||||
|
—
|
||||||
|
<div class='inline'>
|
||||||
|
<p>the target file for nagios service exports</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li>
|
||||||
|
|
||||||
|
<span class='name'>ay_target_contacts</span>
|
||||||
|
|
||||||
|
|
||||||
|
<span class='type'>(<tt>Array</tt>)</span>
|
||||||
|
|
||||||
|
|
||||||
|
<em class="default">(defaults to: <tt>['nagiosadmin']</tt>)</em>
|
||||||
|
|
||||||
|
|
||||||
|
—
|
||||||
|
<div class='inline'>
|
||||||
|
<p>the contacts for nagios service exports</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li>
|
||||||
|
|
||||||
|
<span class='name'>ay_procs_allowed</span>
|
||||||
|
|
||||||
|
|
||||||
|
<span class='type'>(<tt>String</tt>)</span>
|
||||||
|
|
||||||
|
|
||||||
|
<em class="default">(defaults to: <tt>'1:'</tt>)</em>
|
||||||
|
|
||||||
|
|
||||||
|
—
|
||||||
|
<div class='inline'>
|
||||||
|
<p>the allowed number of processes for nagios service exports</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</li>
|
</li>
|
||||||
@@ -317,13 +445,6 @@
|
|||||||
<pre class="lines">
|
<pre class="lines">
|
||||||
|
|
||||||
|
|
||||||
19
|
|
||||||
20
|
|
||||||
21
|
|
||||||
22
|
|
||||||
23
|
|
||||||
24
|
|
||||||
25
|
|
||||||
26
|
26
|
||||||
27
|
27
|
||||||
28
|
28
|
||||||
@@ -347,10 +468,29 @@
|
|||||||
46
|
46
|
||||||
47
|
47
|
||||||
48
|
48
|
||||||
49</pre>
|
49
|
||||||
|
50
|
||||||
|
51
|
||||||
|
52
|
||||||
|
53
|
||||||
|
54
|
||||||
|
55
|
||||||
|
56
|
||||||
|
57
|
||||||
|
58
|
||||||
|
59
|
||||||
|
60
|
||||||
|
61
|
||||||
|
62
|
||||||
|
63
|
||||||
|
64
|
||||||
|
65
|
||||||
|
66
|
||||||
|
67
|
||||||
|
68</pre>
|
||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
<pre class="code"><span class="info file"># File 'manifests/params.pp', line 19</span>
|
<pre class="code"><span class="info file"># File 'manifests/params.pp', line 26</span>
|
||||||
|
|
||||||
class confdroid_alloy::params (
|
class confdroid_alloy::params (
|
||||||
|
|
||||||
@@ -369,8 +509,20 @@ class confdroid_alloy::params (
|
|||||||
String $ay_prom_url = 'https://prometheus.example.net/api/v1/write',
|
String $ay_prom_url = 'https://prometheus.example.net/api/v1/write',
|
||||||
Boolean $ay_prom_honor_timestamps = true,
|
Boolean $ay_prom_honor_timestamps = true,
|
||||||
Boolean $ay_prom_track_timestamps_staleness = true,
|
Boolean $ay_prom_track_timestamps_staleness = true,
|
||||||
|
String $ay_prom_max_shards = '10',
|
||||||
|
String $ay_prom_max_samples_per_send = '2000',
|
||||||
|
String $ay_prom_batch_send_deadline = '5s',
|
||||||
|
|
||||||
|
# nagios
|
||||||
|
Boolean $ay_manage_nagios = false,
|
||||||
|
String $ay_target_service = '/etc/nagios/conf.d/alloy_service.cfg',
|
||||||
|
Array $ay_target_contacts = ['nagiosadmin'],
|
||||||
|
String $ay_procs_allowed = '1:'
|
||||||
|
|
||||||
) {
|
) {
|
||||||
|
# defaults
|
||||||
|
$fqdn = $facts['networking']['fqdn']
|
||||||
|
|
||||||
# service
|
# service
|
||||||
$ay_service = 'alloy'
|
$ay_service = 'alloy'
|
||||||
|
|
||||||
|
|||||||
@@ -7,4 +7,8 @@ class confdroid_alloy::main::config (
|
|||||||
|
|
||||||
) inherits confdroid_alloy::params {
|
) inherits confdroid_alloy::params {
|
||||||
include confdroid_alloy::main::service
|
include confdroid_alloy::main::service
|
||||||
|
|
||||||
|
if $ay_manage_nagios == true {
|
||||||
|
include confdroid_alloy::monitoring::target
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
23
manifests/monitoring/target.pp
Normal file
23
manifests/monitoring/target.pp
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
## confdroid_alloy::monitoring::target.pp
|
||||||
|
# Module name: confdroid_alloy
|
||||||
|
# Author: 12ww1160 (12ww1160@puppetsoft.com)
|
||||||
|
# @summary class manages exports for nagios monitoring
|
||||||
|
##############################################################################
|
||||||
|
class confdroid_alloy::monitoring::target (
|
||||||
|
|
||||||
|
) inherits confdroid_alloy::params {
|
||||||
|
if $ay_manage_nagios == true {
|
||||||
|
@@nagios_service { "check_alloy_${fqdn}":
|
||||||
|
check_command => "check_nrpe!check_alloy!${ay_procs_allowed}!alloy",
|
||||||
|
use => 'generic-service',
|
||||||
|
host_name => $fqdn,
|
||||||
|
notification_period => '24x7',
|
||||||
|
service_description => "${fqdn}_check_alloy",
|
||||||
|
target => $ay_target_service,
|
||||||
|
owner => 'nagios',
|
||||||
|
group => 'nagios',
|
||||||
|
mode => '0640',
|
||||||
|
contacts => $ay_target_contacts,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -17,6 +17,10 @@
|
|||||||
# @param [String] ay_prom_max_shards the maximum number of shards to use for prometheus metrics
|
# @param [String] ay_prom_max_shards the maximum number of shards to use for prometheus metrics
|
||||||
# @param [String] ay_prom_max_samples_per_send the maximum number of samples to send
|
# @param [String] ay_prom_max_samples_per_send the maximum number of samples to send
|
||||||
# @param [String] ay_prom_batch_send_deadline the maximum time to wait before sending
|
# @param [String] ay_prom_batch_send_deadline the maximum time to wait before sending
|
||||||
|
# @param [Boolean] ay_manage_nagios whether to manage nagios service exports
|
||||||
|
# @param [String] ay_target_service the target file for nagios service exports
|
||||||
|
# @param [Array] ay_target_contacts the contacts for nagios service exports
|
||||||
|
# @param [String] ay_procs_allowed the allowed number of processes for nagios service exports
|
||||||
# @summary Class contains all parameters for the confdroid_alloy module.
|
# @summary Class contains all parameters for the confdroid_alloy module.
|
||||||
##############################################################################
|
##############################################################################
|
||||||
class confdroid_alloy::params (
|
class confdroid_alloy::params (
|
||||||
@@ -40,7 +44,16 @@ class confdroid_alloy::params (
|
|||||||
String $ay_prom_max_samples_per_send = '2000',
|
String $ay_prom_max_samples_per_send = '2000',
|
||||||
String $ay_prom_batch_send_deadline = '5s',
|
String $ay_prom_batch_send_deadline = '5s',
|
||||||
|
|
||||||
|
# nagios
|
||||||
|
Boolean $ay_manage_nagios = false,
|
||||||
|
String $ay_target_service = '/etc/nagios/conf.d/alloy_service.cfg',
|
||||||
|
Array $ay_target_contacts = ['nagiosadmin'],
|
||||||
|
String $ay_procs_allowed = '1:'
|
||||||
|
|
||||||
) {
|
) {
|
||||||
|
# defaults
|
||||||
|
$fqdn = $facts['networking']['fqdn']
|
||||||
|
|
||||||
# service
|
# service
|
||||||
$ay_service = 'alloy'
|
$ay_service = 'alloy'
|
||||||
|
|
||||||
|
|||||||
@@ -97,7 +97,7 @@ prometheus.remote_write "prometheus" {
|
|||||||
queue_config {
|
queue_config {
|
||||||
max_shards = <%= @ay_prom_max_shards %>
|
max_shards = <%= @ay_prom_max_shards %>
|
||||||
max_samples_per_send = <%= @ay_prom_max_samples_per_send %>
|
max_samples_per_send = <%= @ay_prom_max_samples_per_send %>
|
||||||
batch_send_deadline = <%= @ay_prom_batch_send_deadline %>
|
batch_send_deadline = "<%= @ay_prom_batch_send_deadline %>"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user