The Alertmanager handles alerts sent by client applications such

as the Prometheus server. It takes care of deduplicating, grouping,
and routing them to the correct receiver integrations such as email,
PagerDuty, or OpsGenie. It also takes care of silencing and inhibition
of alerts.

WWW: https://prometheus.io/docs/alerting/alertmanager/

PR:		216119
Submitted by:	Michal Hanula <michal@hanu.la>
This commit is contained in:
Boris Samorodov 2017-07-17 21:12:41 +00:00
parent 256fe5ab5f
commit df292e75ac
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=446116
5 changed files with 116 additions and 0 deletions

View file

@ -8,6 +8,7 @@
SUBDIR += adcli
SUBDIR += aggregate
SUBDIR += aircrack-ng
SUBDIR += alertmanager
SUBDIR += ap-utils
SUBDIR += argus3
SUBDIR += argus3-clients

View file

@ -0,0 +1,38 @@
# Created by: Michal Hanula <michal@hanu.la>
# $FreeBSD$
PORTNAME= alertmanager
PORTVERSION= 0.5.1
DISTVERSIONPREFIX= v
CATEGORIES= net-mgmt
MAINTAINER= michal@hanu.la
COMMENT= Alert routing for prometheus
LICENSE= APACHE20
USES= go gmake
USE_GITHUB= yes
GH_ACCOUNT= prometheus
GO_PKGNAME= github.com/prometheus/${PORTNAME}
USE_RC_SUBR= alertmanager
USERS= alertmanager
GROUPS= alertmanager
PLIST_FILES= bin/alertmanager \
etc/alertmanager/alertmanager.yml.sample
STRIP= # stripping can break go binaries
do-build:
(cd ${GO_WRKSRC}/cmd/alertmanager ; ${SETENV} ${GO_ENV} go install)
do-install:
${INSTALL_PROGRAM} ${GO_WRKDIR_BIN}/alertmanager ${STAGEDIR}${PREFIX}/bin
${MKDIR} ${STAGEDIR}${PREFIX}/etc/alertmanager
${INSTALL_DATA} ${WRKSRC}/doc/examples/simple.yml ${STAGEDIR}${PREFIX}/etc/alertmanager/alertmanager.yml.sample
.include <bsd.port.mk>

View file

@ -0,0 +1,3 @@
TIMESTAMP = 1484488566
SHA256 (prometheus-alertmanager-v0.5.1_GH0.tar.gz) = 98a5f698896001313f2f9ad691fa75f0ae3b7220a97bbe560032b543e532d4a7
SIZE (prometheus-alertmanager-v0.5.1_GH0.tar.gz) = 1191666

View file

@ -0,0 +1,67 @@
#!/bin/sh
# PROVIDE: alertmanager
# REQUIRE: LOGIN
# KEYWORD: shutdown
#
# Add the following lines to /etc/rc.conf.local or /etc/rc.conf
# to enable this service:
#
# alertmanager_enable (bool): Set to NO by default
# Set it to YES to enable alertmanager
# alertmanager_user (string): Set user to run alertmanager
# Default is "alertmanager"
# alertmanager_group (string): Set group to run alertmanager
# Default is "alertmanager"
# alertmanager_config (string): The configuration file
# Default is "%%PREFIX%%/etc/alertmanager/alertmanager.yml"
# alertmanager_data_dir (string): The configuration file
# Default is "/var/db/alertmanager"
# alertmanager_log_file (string): Set file that alertmanager will log to
# Default is "/var/log/alertmanager.log"
# alertmanager_args (string): Set additional command line arguments
# Default is ""
. /etc/rc.subr
name=alertmanager
rcvar=alertmanager_enable
load_rc_config $name
: ${alertmanager_enable:="NO"}
: ${alertmanager_user:="alertmanager"}
: ${alertmanager_group:="alertmanager"}
: ${alertmanager_config:="%%PREFIX%%/etc/alertmanager/alertmanager.yml"}
: ${alertmanager_data_dir:="/var/db/alertmanager"}
: ${alertmanager_log_file:="/var/log/alertmanager.log"}
: ${alertmanager_args:=""}
pidfile=/var/run/alertmanager.pid
required_files="${alertmanager_config}"
command="/usr/sbin/daemon"
procname="%%PREFIX%%/bin/alertmanager"
sig_reload=HUP
extra_commands="reload"
command_args="-p ${pidfile} /usr/bin/env ${procname} \
-config.file=${alertmanager_config} \
-storage.path=${alertmanager_data_dir} \
${alertmanager_args} > ${alertmanager_log_file} 2>&1"
start_precmd=alertmanager_startprecmd
alertmanager_startprecmd()
{
if [ ! -e ${pidfile} ]; then
install -o ${alertmanager_user} -g ${alertmanager_group} /dev/null ${pidfile};
fi
if [ ! -f "${alertmanager_log_file}" ]; then
install -o ${alertmanager_user} -g ${alertmanager_group} -m 640 /dev/null ${alertmanager_log_file};
fi
if [ ! -d ${alertmanager_data_dir} ]; then
install -d -o ${alertmanager_user} -g ${alertmanager_group} -m 750 ${alertmanager_data_dir}
fi
}
load_rc_config $name
run_rc_command "$1"

View file

@ -0,0 +1,7 @@
The Alertmanager handles alerts sent by client applications such
as the Prometheus server. It takes care of deduplicating, grouping,
and routing them to the correct receiver integrations such as email,
PagerDuty, or OpsGenie. It also takes care of silencing and inhibition
of alerts.
WWW: https://prometheus.io/docs/alerting/alertmanager/