2727date=$( date +%Y%m%d)
2828me=$( basename $0 )
2929mydir=$( dirname $0 )
30- node_exporter_version=1.3.1
31- node_exporter_url=" https://github.com/prometheus/node_exporter/releases/download/v$node_exporter_version /node_exporter-$node_exporter_version .linux-amd64.tar.gz"
32- vm_agent_version=1.70.0
33- vm_agent_url=" https://github.com/VictoriaMetrics/VictoriaMetrics/releases/download/v$vm_agent_version /vmutils-amd64-v$vm_agent_version .tar.gz"
34- vm_agent_remote_url=' http://ardbeg.barchem.de-eekhoorn.eu:8428/api/v1/write'
3530
3631# FUNCTIONS
3732die () {
@@ -50,19 +45,35 @@ log () { printf '%s %s\n' "$(date +%F' '%T)" "$@"; }
5045[ ${UID} -gt 0 ] && die 1 " Only root may do that."
5146log " Started ${me} "
5247
48+ case $( uname -m) in
49+ x86_64) architecture=' amd64' ; node_exporter_architecture=$architecture ;;
50+ armv6l) architecture=' arm' ; node_exporter_architecture=' armv6' ;;
51+ * ) echo " Failed to detect processor architecture" ; exit 1 ;;
52+ esac
53+
54+ [ -x /usr/bin/jq ] || die 2 " JQ not found"
55+ node_exporter_tagname=$( curl -s https://api.github.com/repos/prometheus/node_exporter/releases/latest | jq -r ' .tag_name' )
56+ node_exporter_version=${node_exporter_tagname# v}
57+ node_exporter_url=" https://github.com/prometheus/node_exporter/releases/download/$node_exporter_tagname /node_exporter-$node_exporter_version .linux-$node_exporter_architecture .tar.gz"
58+ vm_agent_tagname=$( curl -s https://api.github.com/repos/VictoriaMetrics/VictoriaMetrics/releases/latest | jq -r ' .tag_name' )
59+ vm_agent_version=${vm_agent_tagname# v}
60+ vm_agent_url=" https://github.com/VictoriaMetrics/VictoriaMetrics/releases/download/$vm_agent_tagname /vmutils-linux-$architecture -$vm_agent_tagname .tar.gz"
61+ vm_agent_remote_url=' http://ardbeg.barchem.de-eekhoorn.eu:8428/api/v1/write'
62+
63+
5364# Node Exporter
5465[ -d /opt/node_exporter ] || install -dm 0755 /opt/node_exporter
5566[ -d /opt/node_exporter/textfile_collector ] || install -dm 0755 /opt/node_exporter/textfile_collector
5667curl -sLo - $node_exporter_url | tar zxvf - -C /opt/node_exporter
57- ln -s node_exporter-$node_exporter_version .linux-amd64 /node_exporter /opt/node_exporter
58- [ -s /etc/systemd/system/node_exporter.service ] || cat << EOF > /etc/systemd/system/node_exporter.service
68+ ln -sf node_exporter-$node_exporter_version .linux-$node_exporter_architecture /node_exporter /opt/node_exporter
69+ cat << EOF > /etc/systemd/system/node_exporter.service
5970[Unit]
6071Description=Node Exporter
6172After=network.target
6273
6374[Service]
6475WorkingDirectory=/opt/node_exporter
65- ExecStart=/opt/node_exporter/node_exporter --collector.textfile.directory=/opt/node_exporter/textfile_collector --collector.netstat.fields=(.*) --collector.ntp --collector.systemd
76+ ExecStart=/opt/node_exporter/node_exporter --collector.textfile.directory=/opt/node_exporter/textfile_collector --collector.netstat.fields=(.*) --collector.ntp --collector.systemd --collector.vmstat.fields=(.*) --collector.processes --collector.ethtool --collector.zfs
6677StandardOutput=syslog
6778StandardError=syslog
6879SyslogIdentifier=node_exporter
@@ -95,7 +106,7 @@ getent passwd victoriametrics > /dev/null || useradd -g victoriametrics -d /opt/
95106[ -d /opt/victoriametrics ] || install -dm 0755 -o victoriametrics -g victoriametrics /opt/victoriametrics
96107curl -sLo - $vm_agent_url | tar zxvf - -C /opt/victoriametrics
97108
98- [ -s /etc/systemd/system/vm-agent.service ] || cat << EOF > /etc/systemd/system/vm-agent.service
109+ cat << EOF > /etc/systemd/system/vm-agent.service
99110[Unit]
100111Description=Victoria Metrics Agent Service
101112After=network.target
@@ -104,7 +115,7 @@ After=network.target
104115WorkingDirectory=/opt/victoriametrics
105116User=victoriametrics
106117Group=victoriametrics
107- ExecStart=/opt/victoriametrics/vmagent-prod -promscrape.config /opt/victoriametrics/scraper.yml -remoteWrite.url=$vm_agent_remote_url -loggerDisableTimestamps
118+ ExecStart=/opt/victoriametrics/vmagent-prod -promscrape.config /opt/victoriametrics/scraper.yml -promscrape.config.strictParse=false - remoteWrite.url=$vm_agent_remote_url -loggerDisableTimestamps
108119StandardOutput=syslog
109120StandardError=syslog
110121SyslogIdentifier=vm-agent
@@ -152,6 +163,8 @@ systemctl daemon-reload
152163systemctl restart rsyslog.service
153164systemctl restart node_exporter.service
154165systemctl restart vm-agent.service
166+ systemctl enable node_exporter.service
167+ systemctl enable vm-agent.service
155168
156169log " Finished"
157170# END
0 commit comments