X-Git-Url: https://iankelling.org/git/?p=buildscripts;a=blobdiff_plain;f=prom-node-exporter;h=c75b4965bb4e473543a379a3e7110dcaf336d259;hp=61fe700a6e6b5b29d623f14a6be816a916db9d53;hb=HEAD;hpb=b248f5ddb1971417a4a67c428efed3495b355187 diff --git a/prom-node-exporter b/prom-node-exporter deleted file mode 100755 index 61fe700..0000000 --- a/prom-node-exporter +++ /dev/null @@ -1,290 +0,0 @@ -#!/bin/bash - -if ! test "$BASH_VERSION"; then echo "error: shell is not bash" >&2; exit 1; fi -shopt -s inherit_errexit 2>/dev/null ||: # ignore fail in bash < 4.4 -set -eE -o pipefail -trap 'echo "$0:$LINENO:error: \"$BASH_COMMAND\" exit status: $?, PIPESTATUS: ${PIPESTATUS[*]}" >&2' ERR - -[[ $EUID == 0 ]] || exec sudo -E "${BASH_SOURCE[0]}" "$@" - - -usage() { - cat </dev/null; then - apt-get -y install $p - fi - done -fi -if $do_setup && ! type -t rsync &>/dev/null; then - # note: we could use diff or cmp instead. - apt-get -y install rsync -fi - -sysd_reload=false -installed_file=false - -i() { # install file - local tmp tmpdir dest="$1" - local base="${dest##*/}" - local dir="${dest%/*}" - if [[ $dir != "$base" ]]; then - # dest has a directory component - mkdir -p "$dir" - fi - tmpdir=$(mktemp -d) - cat >$tmpdir/"$base" - tmp=$(rsync -ic $tmpdir/"$base" "$dest") - if [[ $tmp ]]; then - printf "%s\n" "$tmp" - installed_file=true - if [[ $dest == /etc/systemd/system/* ]]; then - sysd_reload=true - fi - fi - rm -rf $tmpdir -} - - -if $dl_bin; then - if [[ -s /usr/local/src/node-exporter-url ]]; then - installed_url=$(cat /usr/local/src/node-exporter-url) - fi - url=$(curl -s https://api.github.com/repos/prometheus/node_exporter/releases/latest | jq -r '.assets[].browser_download_url | match(".*linux-amd64.tar.gz$").string') - if [[ ! $url ]]; then - echo $0: error failed to get url - exit 1 - fi - if [[ $url != "$installed_url" ]]; then - tmpdir=$(mktemp -d) - cd $tmpdir - f=${url##*/} - wget -nv $url - tar -xf $f - dir=${f%.tar.gz} - install $dir/node_exporter /usr/local/bin/prometheus-node-exporter - printf "%s\n" "$url" >/usr/local/src/node-exporter-url - cd - rm -rf $tmpdir - fi -fi - -if ! $do_setup; then - exit 0 -fi - -# taken from postinstall script -if ! getent passwd prometheus &>/dev/null; then - adduser --quiet --system --home /var/lib/prometheus --no-create-home \ - --group --gecos "Prometheus daemon" prometheus -fi - - -# textfile collector dir -mkdir -p /var/lib/prometheus/node-exporter - -chown prometheus:prometheus /var/lib/prometheus - - -i /etc/default/prometheus-node-exporter < -# Author: Guillem Jover - -DESC="Prometheus exporter for machine metrics" -NAME=prometheus-node-exporter -USER=prometheus -GROUP=$USER -DAEMON=/usr/bin/$NAME -PIDFILE=/run/prometheus/$NAME.pid -LOGFILE=/var/log/prometheus/$NAME.log - -START_ARGS="--no-close --background --make-pidfile" -STOP_ARGS="--remove-pidfile" - -do_start_prepare() -{ - mkdir -p $(dirname $PIDFILE) -} - -do_start_cmd_override() -{ - start-stop-daemon --start --quiet --oknodo \ - --exec $DAEMON --pidfile $PIDFILE --user $USER --group $GROUP \ - --chuid $USER:$GROUP $START_ARGS -- $ARGS >>$LOGFILE 2>&1 -} - -do_stop_cmd_override() -{ - start-stop-daemon --stop --quiet --oknodo --retry=TERM/30/KILL/5 \ - --exec $DAEMON --pidfile $PIDFILE --user $USER $STOP_ARGS -} - -alias do_reload=do_reload_sigusr1 -EOF - chmod +x /etc/init.d/prometheus-node-exporter - - mkdir -p /var/log/prometheus - chown prometheus:prometheus /var/log/prometheus - update-rc.d prometheus-node-exporter defaults - - running=false - if type -t pgrep &>/dev/null && pgrep -f prometheus-node-exporter &>/dev/null; then - running=true - fi - if $installed_file || ! $running; then - /etc/init.d/prometheus-node-exporter restart - fi - - i /etc/logrotate.d/prometheus-node-exporter <<'EOF' -/var/log/prometheus/prometheus-node-exporter.log { - weekly - rotate 10 - copytruncate - compress - delaycompress - notifempty - missingok -} -EOF - -fi