summaryrefslogtreecommitdiff
path: root/node-exporter/install.sh
blob: e6ca181043225f426badb1abd146a5d5130147dc (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
50
51
52
#!/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_b7cc6fbea7d90eddb66776b56d3d6d5712c9ddd0.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 -C -o root -g wheel -m 0770 --backup=t $NODE_EXPORTER/node_exporter /opt/$NODE_EXPORTER
if [ -h "/opt/node_exporter" ]; then
	unlink "/opt/node_exporter"
fi
ln -vsf /opt/$NODE_EXPORTER/ /opt/node_exporter

if [ -e "/usr/bin/systemctl" ]; then
	mkdir -p $SCRIPT_PATH/tmp
	sed 's|##PROG##|/opt/node_exporter/node_exporter|g' < $SCRIPT_FILES/systemd.service | \
	sed "s|##OPTS##|$EXPORTER_OPTS|g" > $SCRIPT_PATH/tmp/node_exporter.service
	install -C -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##|/opt/node_exporter/node_exporter|g' < $SCRIPT_FILES/initd | \
	sed "s|##OPTS##|$EXPORTER_OPTS|g" > $SCRIPT_PATH/tmp/node-exporter
	install -C -o root -m 755 $SCRIPT_PATH/tmp/node-exporter /etc/init.d
	chkconfig --add node-exporter
fi