Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/voxpupuli/puppet-smokeping
Puppet module to install and configure smokeping. Including target and slave definition
https://github.com/voxpupuli/puppet-smokeping
centos-puppet-module debian-puppet-module hacktoberfest linux-puppet-module puppet redhat-puppet-module ubuntu-puppet-module
Last synced: 3 days ago
JSON representation
Puppet module to install and configure smokeping. Including target and slave definition
- Host: GitHub
- URL: https://github.com/voxpupuli/puppet-smokeping
- Owner: voxpupuli
- License: apache-2.0
- Created: 2013-01-30T16:41:04.000Z (almost 12 years ago)
- Default Branch: master
- Last Pushed: 2024-09-17T00:39:33.000Z (4 months ago)
- Last Synced: 2024-10-29T14:22:42.493Z (2 months ago)
- Topics: centos-puppet-module, debian-puppet-module, hacktoberfest, linux-puppet-module, puppet, redhat-puppet-module, ubuntu-puppet-module
- Language: Puppet
- Size: 416 KB
- Stars: 13
- Watchers: 42
- Forks: 49
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: .github/CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
# SmokePing Puppet module
Puppet module to completely manage a SmokePing installation.
Includes managing of Master/Slave or Standalone installation, and the menu hierarchy.Some background information can be found here: [Puppet module to manage SmokePing](http://tobrunet.ch/2013/02/puppet-module-to-manage-smokeping/)
## Features
- Master/Slave/Standalone SmokePing configuration possible
- Menu hierarchy implemented
- Define Probes and Alert patterns
- Config files managed with templates
- Uses exported resources to configure Slaves on the Master (tag: smokeping-slave)
- Automatically generates a shared secret for Master/Slave configuration (tag: smokeping-slave-secret)## Supported Platforms
Fully supported:
- Debian, Ubuntu
Standalone only (no master/slave support yet):
- Fedora 22+
- CentOS 7+ (Note: requires third party repository to provide smokeping package).## Dependencies
- [puppetlabs-concat](https://github.com/puppetlabs/puppet-concat)
- [puppetlabs-stdlib](https://github.com/puppetlabs/puppet-stdlib)
- [puppet-systemd](https://github.com/voxpupuli/puppet-systemd)## Example
### Standalone SmokePing instance
```puppet
# install a standalone instance on a server with default values (see init.pp for
# parameter documentation
class { 'smokeping':
mode => 'standalone',
}
```### Master SmokePing instance
```puppet
# install a master instance on a server with default values (see init.pp for
# parameter documentation. You must have a slave, or this will not work!
class { 'smokeping':
mode => 'master',
}
```### Slave SmokePing instance
```puppet
class { 'smokeping':
mode => 'slave',
slave_name => $facts['hostname'],
master_url => 'http://myserver.tld/smokeping/smokeping.cgi',
slave_location => 'zurich',
}
```This configures the server as slaves and adds the slave definition automatically to the
master using exported resources.### Probes
```puppet
Class['smokeping'] {
probes => [
{
name => 'FPing',
binary => '/usr/bin/fping',
},
{
name => 'FPing6',
binary => '/usr/bin/fping6',
},
],
}
```### Alerts
```puppet
$alerts = [
{
name => 'bigloss',
alert_type => 'loss',
pattern => '==0%,==0%,==0%,==0%,>0%,>0%,>0%',
comment => 'suddenly there is packet loss',
},{
name => 'startloss',
alert_type => 'loss',
pattern => '==S,>0%,>0%,>0%',
comment => 'loss at startup',
},{
name => 'noloss',
alert_type => 'loss',
pattern => '>0%,>0%,>0%,==0%,==0%,==0%,==0%',
edgetrigger => true,
comment => 'there was loss and now its reachable again',
},
]
Class['smokeping'] {
alerts => $alerts,
}
```### Targets
```puppet
# Top Level
smokeping::target { 'World':
menu => 'World',
pagetitle => 'Connection to the World',
alerts => [ 'bigloss', 'noloss' ],
}smokeping::target { 'GoogleCH':
hierarchy_parent => 'World',
hierarchy_level => 2,
menu => 'google.ch',
pagetitle => 'Google',
}smokeping::target { 'GoogleCHIPv4':
hierarchy_parent => 'GoogleCH',
hierarchy_level => 3,
menu => 'google.ch IPv4',
host => 'google.ch',
slaves => ['slave1'],
}smokeping::target { 'GoogleCHIPv6':
hierarchy_parent => 'GoogleCH',
hierarchy_level => 3,
menu => 'google.ch IPv6',
host => 'google.ch',
probe => 'FPing6',
slaves => ['slave1'],
}smokeping::target { 'GoogleCHCurl':
hierarchy_parent => 'GoogleCH',
hierarchy_level => 3,
menu => 'google.ch Curl',
host => 'google.ch',
probe => 'Curl',
options => {
urlformat => 'http://%host%/',
},
}
```## License / Author
The module is written by
- Tobias Brunner
Licensed under Apache License, Version 2.0, Copyright 2015 by Tobias Brunner
## Contibutors
See: [Github Contributors](https://github.com/voxpupuli/puppet-smokeping/graphs/contributors)