BASH скрипт установки Telegraf

За вечер установил себе мониторинг на связке InfluxDB+Telegraf+Grafana+Nginx

Для быстрого развертывания Telegraf накидал bash скрипт, который добавляет репозитарий InfluxDB с Telegraf, устанавливает Telegraf, по переменным в скрипте создает конфиг для него и запускает. Через минуту новый хост будет уже в Grafana.

Собственно сам скрипт простой. Следует только учесть, что InfluxDB я сделал с авторизацией и TLS подключением. У вас может быть иначе. Input плагины — по минимуму — те что требовались для Telegraf Metrics Dashboard

#!/bin/bash
apt update -y
apt install wget gpg tee -y
wget -q https://repos.influxdata.com/influxdb.key
echo '23a1c8836f0afc5ed24e0486339d7cc8f6790b83886c4c96995b88a061c5bb5d influxdb.key' | sha256sum -c && cat influxdb.key | gpg --dearmor | tee /etc/apt/trusted.gpg.d/influxdb.gpg > /dev/null
echo 'deb [signed-by=/etc/apt/trusted.gpg.d/influxdb.gpg] https://repos.influxdata.com/debian stable main' | tee /etc/apt/sources.list.d/influxdata.list
apt update && apt install telegraf -y

HOST="$(hostname -A)"
if [ -z "${HOST}" ]; then
HOST="$(hostname)"
fi

##Field with your data
USER="username_for_influxdb_auth"
PASSWORD="password_for_influxdb_auth"
DB="database_in_influxdb"
DBURL="https://your_influxdb_url_there:8086"

cat > /etc/telegraf/telegraf.conf << EOF
[global_tags]
[agent]
interval = "10s"
round_interval = true
metric_batch_size = 1000
metric_buffer_limit = 10000
collection_jitter = "0s"
flush_interval = "10s"
flush_jitter = "0s"
precision = "0s"
hostname = "$HOST"
omit_hostname = false
[[outputs.influxdb]]
urls = ["$DBURL"]
database = "$DB"
username = "$USER"
password = "$PASSWORD"
insecure_skip_verify = true
[[inputs.cpu]]
percpu = true
totalcpu = true
collect_cpu_time = false
report_active = false
[[inputs.disk]]
ignore_fs = ["tmpfs", "devtmpfs", "devfs", "iso9660", "overlay", "aufs", "squashfs"]
[[inputs.diskio]]
[[inputs.kernel]]
[[inputs.mem]]
[[inputs.net]]
[[inputs.processes]]
[[inputs.swap]]
[[inputs.system]]
EOF

service telegraf restart

Достаточно создать файл, скопировать туда этот код, дать команду:

chmod +x script.sh

И запустить

./script.sh

Поделиться ссылкой: