Page Menu
Home
Software Heritage
Search
Configure Global Search
Log In
Files
F8392319
README.md
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Flag For Later
Size
4 KB
Subscribers
None
README.md
View Options
#
puppet
-
prometheus
[](https://forge.puppetlabs.com/puppet/prometheus)
[](https://forge.puppetlabs.com/puppet/prometheus)
[](https://forge.puppetlabs.com/puppet/prometheus)
##
Compatibility
|
Prometheus
Version
|
Recommended
Puppet
Module
Version
|
|
----------------
|
-----------------------------------
|
|
>=
0.16
.
2
|
latest
|
node_exporter
>=
0.15
.
0
##
Background
This
module
automates
the
install
and
configuration
of
Prometheus
monitoring
tool
:
[
Prometheus
web
site
](
https
:
//prometheus.io/docs/introduction/overview/)
###
What
This
Module
Affects
*
Installs
the
prometheus
daemon
,
alertmanager
or
exporters
(
via
url
or
package
)
*
The
package
method
was
implemented
,
but
currently
there
isn
'
t
any
package
for
prometheus
*
Optionally
installs
a
user
to
run
it
under
(
per
exporter
)
*
Installs
a
configuration
file
for
prometheus
daemon
(/
etc
/
prometheus
/
prometheus
.
yaml
)
or
for
alertmanager
(/
etc
/
prometheus
/
alert
.
rules
)
*
Manages
the
services
via
upstart
,
sysv
,
or
systemd
*
Optionally
creates
alert
rules
*
The
following
exporters
are
currently
implemented
:
node_exporter
,
statsd_exporter
,
process_exporter
,
haproxy_exporter
,
mysqld_exporter
##
Usage
To
set
up
a
prometheus
daemon
:
On
the
server
(
for
prometheus
version
<
1.0
.
0
):
```
puppet
class
{
'
::
prometheus
'
:
global_config
=>
{
'
scrape_interval
'
=>
'
15
s
'
,
'
evaluation_interval
'
=>
'
15
s
'
,
'
external_labels
'
=>
{
'
monitor
'
=>
'
master
'
}},
rule_files
=>
[
"/etc/prometheus/alert.rules"
],
scrape_configs
=>
[
{
'
job_name
'
=>
'
prometheus
'
,
'
scrape_interval
'
=>
'
10
s
'
,
'
scrape_timeout
'
=>
'
10
s
'
,
'
target_groups
'
=>
[
{
'
targets
'
=>
[
'
localhost
:
9090
'
],
'
labels
'
=>
{
'
alias
'
=>
'
Prometheus
'
}
}
]
}
]
}
```
On
the
server
(
for
prometheus
version
>=
1.0
.
0
):
```
puppet
class
{
'
prometheus
'
:
version
=>
'
1.0
.
0
'
,
scrape_configs
=>
[
{
'
job_name
'
=>
'
prometheus
','
scrape_interval
'
=>
'
30
s
','
scrape_timeout
'
=>
'
30
s
','
static_configs
'
=>
[{
'
targets
'
=>[
'
localhost
:
9090
'
],
'
labels
'
=>
{
'
alias
'
=>
'
Prometheus
'
}}]}],
extra_options
=>
'
-
alertmanager
.
url
http
:
//localhost:9093 -web.console.templates=/opt/prometheus-1.0.0.linux-amd64/consoles -web.console.libraries=/opt/prometheus-1.0.0.linux-amd64/console_libraries',
localstorage
=>
'
/
prometheus
/
prometheus
'
,
}
```
or
simply
:
```
puppet
include
::
prometheus
```
To
add
alert
rules
,
add
the
following
to
the
class
prometheus
:
```
puppet
alerts
=>
[{
'
name
'
=>
'
InstanceDown
'
,
'
condition
'
=>
'
up
==
0
'
,
'
timeduration
'
=>
'
5
m
'
,
labels
=>
[{
'
name
'
=>
'
severity
'
,
'
content
'
=>
'
page
'
}],
'
annotations
'
=>
[{
'
name
'
=>
'
summary
'
,
content
=>
'
Instance
{{
$
labels
.
instance
}}
down
'
},
{
'
name
'
=>
'
description
'
,
content
=>
'
{{
$
labels
.
instance
}}
of
job
{{
$
labels
.
job
}}
has
been
down
for
more
than
5
minutes
.
'
}]}]
```
or
in
hiera
:
```
yaml
alertrules
:
-
name
:
'
InstanceDown
'
condition
:
'
up
==
0
'
timeduration
:
'
5
m
'
labels
:
-
name
:
'
severity
'
content
:
'
critical
'
annotations
:
-
name
:
'
summary
'
content
:
'
Instance
{{
$
labels
.
instance
}}
down
'
-
name
:
'
description
'
content
:
'
{{
$
labels
.
instance
}}
of
job
{{
$
labels
.
job
}}
has
been
down
for
more
than
5
minutes
.
'
```
On
the
monitored
nodes
:
```
puppet
include
prometheus
::
node_exporter
```
or
:
```
puppet
class
{
'
prometheus
::
node_exporter
'
:
version
=>
'
0.12
.
0
'
,
collectors_disable
=>
[
'
loadavg
','
mdadm
'
],
extra_options
=>
'
--
collector
.
ntp
.
server
ntp1
.
orange
.
intra
'
,
}
```
For
more
information
regarding
class
parameters
please
take
a
look
at
class
docstring
.
##
Limitations
/
Known
issues
In
version
0.1
.
14
of
this
module
the
alertmanager
was
configured
to
run
as
the
service
`
alert_manager
`
.
This
has
been
changed
in
version
0.2
.
00
to
be
`
alertmanager
`
.
Do
not
use
version
1.0
.
0
of
Prometheus
:
https
:
//groups.google.com/forum/#!topic/prometheus-developers/vuSIxxUDff8 ; it does break the compatibility with thus module!
Even
if
the
module
has
templates
for
several
linux
distributions
,
only
RH
family
distributions
were
tested
.
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Jun 4 2025, 6:57 PM (10 w, 5 d ago)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
3279942
Attached To
R141 puppet-puppet-prometheus
Event Timeline
Log In to Comment