-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbuild_env.sh
executable file
·64 lines (51 loc) · 2.38 KB
/
build_env.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
#! /bin/sh
ALERTMANAGER_VERSION="0.26.0"
PROMETHEUS_VERSION="2.49.1"
TELEGRAF_VERSION="1.29.2"
VARDIR=var
ALERTMANAGER_ARCHIVE="alertmanager-${ALERTMANAGER_VERSION}.linux-amd64.tar.gz"
ALERTMANAGER_URL="https://github.com/prometheus/alertmanager/releases/download/v${ALERTMANAGER_VERSION}/${ALERTMANAGER_ARCHIVE}"
PROMETHEUS_ARCHIVE="prometheus-${PROMETHEUS_VERSION}.linux-amd64.tar.gz"
PROMETHEUS_URL="https://github.com/prometheus/prometheus/releases/download/v${PROMETHEUS_VERSION}/${PROMETHEUS_ARCHIVE}"
TELEGRAF_ARCHIVE="telegraf-${TELEGRAF_VERSION}_linux_amd64.tar.gz"
TELEGRAF_URL="https://dl.influxdata.com/telegraf/releases/${TELEGRAF_ARCHIVE}"
# Download
mkdir -p "${VARDIR}"
[ -e "${VARDIR}/${ALERTMANAGER_ARCHIVE}" ] || curl -sL "${ALERTMANAGER_URL}" -o "${VARDIR}/${ALERTMANAGER_ARCHIVE}"
[ -f "alertmanager" ] || (p=$(pwd); cd ${VARDIR}; tar xzf "${ALERTMANAGER_ARCHIVE}" ; mv "alertmanager-${ALERTMANAGER_VERSION}.linux-amd64/alertmanager" "${p}/alertmanager")
[ -f "amtool" ] || (p=$(pwd); cd ${VARDIR}; tar xzf "${ALERTMANAGER_ARCHIVE}" ; mv "alertmanager-${ALERTMANAGER_VERSION}.linux-amd64/amtool" "${p}/amtool")
[ -e "${VARDIR}/${PROMETHEUS_ARCHIVE}" ] || curl -sL "${PROMETHEUS_URL}" -o "${VARDIR}/${PROMETHEUS_ARCHIVE}"
[ -f "prometheus" ] || (p=$(pwd); cd ${VARDIR}; tar xzf "${PROMETHEUS_ARCHIVE}" ; mv "prometheus-${PROMETHEUS_VERSION}.linux-amd64/prometheus" "${p}/prometheus")
[ -e "${VARDIR}/${TELEGRAF_ARCHIVE}" ] || curl -sL "${TELEGRAF_URL}" -o "${VARDIR}/${TELEGRAF_ARCHIVE}"
[ -f "telegraf" ] || (p=$(pwd); cd ${VARDIR}; tar xzf "${TELEGRAF_ARCHIVE}" ; mv "telegraf-${TELEGRAF_VERSION}/usr/bin/telegraf" "${p}/telegraf")
echo "${ALERTMANAGER_VERSION}" > alertmanager_version
cat <<EOF > alertmanager.yml
route:
group_by: ['alertname']
group_wait: 30s
group_interval: 5m
repeat_interval: 1h
receiver: 'mytest'
receivers:
- name: 'mytest'
EOF
./amtool --version > amtool_version.txt
cat <<EOF > prometheus.yml
global:
scrape_interval: 15s # By default, scrape targets every 15 seconds.
scrape_configs:
- job_name: 'alertmanager'
static_configs:
- targets: ['localhost:9093']
- targets: ['localhost:9273']
EOF
cat <<EOF > telegraf.conf
[[outputs.prometheus_client]]
listen = ":9273"
[[inputs.exec]]
commands = ["$(pwd)/get_mem.sh" ]
timeout = "5s"
data_format = "prometheus"
name_override = "alertmanager"
[inputs.exec.tags]
host = "localhost"