summaryrefslogtreecommitdiff
path: root/node-exporter/install.sh
blob: 3ae73ddf71993ba35b060564db9b5da0c82c4038 (plain)
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
#!/bin/bash

if [ "$(uname -s)" != "Linux" ]; then
	echo "This script is not designed for $(uname -s)!"
	exit 1
fi
if [ "$(uname -m)" != "x86_64" ]; then
	echo "This script can't install binaries for $(uname -m)!"
	exit 1
fi

SCRIPT="`pwd`/$0"
SCRIPT_PATH="`dirname $SCRIPT`"
SCRIPT_FILES="$SCRIPT_PATH/files"
NODE_EXPORTER="node_exporter-0.14.0.linux-amd64"
if [ -e "/usr/bin/systemctl" ]; then
	EXPORTER_OPTS="--collectors.enabled=bonding,cpu,diskstats,edac,filefd,filesystem,loadavg,meminfo,netdev,netstat,sockstat,stat,tcpstat,time,vmstat,systemd"
else
	EXPORTER_OPTS="--collectors.enabled=bonding,cpu,diskstats,edac,filefd,filesystem,loadavg,meminfo,netdev,netstat,sockstat,stat,tcpstat,time,vmstat"
fi

# cp -r $NODE_EXPORTER /opt/
#
# ln -sf /opt/$NODE_EXPORTER /opt/node_exporter
# mkdir $SCRIPT_PATH/tmp
#

install -o root -g wheel -m 0775 --backup=t -d /opt/$NODE_EXPORTER
install -o root -g wheel -m 0770 --backup=t $NODE_EXPORTER/node_exporter /opt/$NODE_EXPORTER
ln -sf /opt/$NODE_EXPORTER /opt/node_exporter

if [ -e "/usr/bin/systemctl" ]; then
	mkdir -p $SCRIPT_PATH/tmp
	sed 's|##PROG##|/final/path/to/node_expoter|g' < $SCRIPT_FILES/systemd.service | \
	sed "s|##OPTS##|$EXPORTER_OPTS|g" > $SCRIPT_PATH/tmp/node_exporter.service
	install -o root -m 644 $SCRIPT_PATH/tmp/node_exporter.service /usr/lib/systemd/system
	systemctl daemon-reload
	systemctl enable node_exporter
	systemctl start node_exporter
else
	mkdir -p $SCRIPT_PATH/tmp
	sed 's|##PROG##|/final/path/to/node_expoter|g' < $SCRIPT_FILES/initd | \
	sed "s|##OPTS##|$EXPORTER_OPTS|g" > $SCRIPT_PATH/tmp/node_exporter
	install -o root -m 755 $SCRIPT_PATH/tmp/node_exporter /etc/init.d
	chkconfig --add node_exporter
fi