aboutsummaryrefslogtreecommitdiffstats
path: root/src/collectd
diff options
context:
space:
mode:
Diffstat (limited to 'src/collectd')
-rw-r--r--src/collectd/Makefile27
-rw-r--r--src/collectd/collectd_sample_configs/csv.conf19
-rw-r--r--src/collectd/collectd_sample_configs/dpdkstat.conf24
-rw-r--r--src/collectd/collectd_sample_configs/exec.conf20
-rw-r--r--src/collectd/collectd_sample_configs/hugepages.conf23
-rw-r--r--src/collectd/collectd_sample_configs/ovs_events.conf25
-rw-r--r--src/collectd/collectd_sample_configs/rdt.conf20
-rwxr-xr-xsrc/collectd/collectd_sample_configs/write_notification.sh19
-rwxr-xr-xsrc/collectd/include_config.sh12
9 files changed, 186 insertions, 3 deletions
diff --git a/src/collectd/Makefile b/src/collectd/Makefile
index 1cff9364..0e16cfac 100644
--- a/src/collectd/Makefile
+++ b/src/collectd/Makefile
@@ -24,6 +24,7 @@ include ../mk/master.mk
include ../package-list.mk
WORK_DIR = collectd
+SAMPLE_CONFIG = $(CURDIR)/collectd_sample_configs
TAG_DONE_FLAG = $(WORK_DIR)/.$(COLLECTD_TAG).done
BUILD_CMD = ./build.sh
CONFIG_CMD =
@@ -35,14 +36,25 @@ ifeq ($(DPDK_DIR),)
DPDK_DIR = /usr
endif
+LIBPQOS_DIR = $(shell echo $$LIBPQOS_DIR)
+ifeq ($(LIBPQOS_DIR),)
+LIBPQOS_DIR = /usr
+endif
+
+
CONFIG_CMD += --enable-syslog
CONFIG_CMD += --enable-logfile
CONFIG_CMD += --with-libdpdk=$(DPDK_DIR)
+CONFIG_CMD += --with-libpqos=$(LIBPQOS_DIR)
+CONFIG_CMD += --with-hugepages
+CONFIG_CMD += --enable-exec
+CONFIG_CMD += --enable-python
+CONFIG_CMD += --enable-threshold
.PHONY: install force_install config force_make
# install depends on make
-force_install: force_make
+#force_install: force_make
all: force_make
@echo "Finished making $(WORK_DIR) "
@@ -56,11 +68,20 @@ INSTALL_TARGET = force_install force_make
force_make: $(WORK_DIR)/Makefile
$(AT)cd $(WORK_DIR) && git pull $(COLLECTD_URL) $(COLLECTD_TAG)
@echo "git pull done"
- $(AT)$(MAKE) -C $(WORK_DIR) $(MORE_MAKE_FLAGS)
+ $(AT) $(MAKE) -C $(WORK_DIR) $(MORE_MAKE_FLAGS)
@echo "Make done"
force_install:
- $(AT)sudo $(MAKE) -C $(WORK_DIR) install
+ $(AT)$(MAKE) -C $(WORK_DIR) install
+ $(AT)cp $(WORK_DIR)/contrib/systemd.collectd.service /etc/systemd/system/
+ $(AT)mv /etc/systemd/system/systemd.collectd.service /etc/systemd/system/collectd.service
+ $(AT)chmod +x /etc/systemd/system/collectd.service
+ $(AT)sed -i -e 's/ExecStart=\/usr\/sbin\/collectd/ExecStart=\/opt\/collectd\/sbin\/collectd/g' /etc/systemd/system/collectd.service
+ $(AT)sed -i -e 's/CapabilityBoundingSet=/CapabilityBoundingSet=CAP_SETUID CAP_SETGID/g' /etc/systemd/system/collectd.service
+ $(AT)systemctl daemon-reload
+ $(AT)sudo mkdir -p /opt/collectd/etc/collectd.conf.d
+ $(AT)sudo cp $(SAMPLE_CONFIG)/* /opt/collectd/etc/collectd.conf.d
+ $(AT)sudo ./include_config.sh
install: $(INSTALL_TARGET)
diff --git a/src/collectd/collectd_sample_configs/csv.conf b/src/collectd/collectd_sample_configs/csv.conf
new file mode 100644
index 00000000..e2350039
--- /dev/null
+++ b/src/collectd/collectd_sample_configs/csv.conf
@@ -0,0 +1,19 @@
+# Copyright 2016 OPNFV
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+LoadPlugin csv
+<Plugin csv>
+ DataDir "/tmp/collectd/csv"
+ StoreRates false
+</Plugin>
diff --git a/src/collectd/collectd_sample_configs/dpdkstat.conf b/src/collectd/collectd_sample_configs/dpdkstat.conf
new file mode 100644
index 00000000..201f9d37
--- /dev/null
+++ b/src/collectd/collectd_sample_configs/dpdkstat.conf
@@ -0,0 +1,24 @@
+# Copyright 2016 OPNFV
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+LoadPlugin dpdkstat
+
+<Plugin dpdkstat>
+# Coremask "0xf"
+# ProcessType "secondary"
+# FilePrefix "rte"
+ EnabledPortMask 0xffff
+# PortName "interface1"
+# PortName "interface2"
+</Plugin>
+
diff --git a/src/collectd/collectd_sample_configs/exec.conf b/src/collectd/collectd_sample_configs/exec.conf
new file mode 100644
index 00000000..5b11fd94
--- /dev/null
+++ b/src/collectd/collectd_sample_configs/exec.conf
@@ -0,0 +1,20 @@
+# Copyright 2016 OPNFV
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+
+LoadPlugin exec
+<Plugin exec>
+# Exec "user:group" "/path/to/exec"
+ NotificationExec "" "write_notification.sh"
+</Plugin>
diff --git a/src/collectd/collectd_sample_configs/hugepages.conf b/src/collectd/collectd_sample_configs/hugepages.conf
new file mode 100644
index 00000000..4e4d9152
--- /dev/null
+++ b/src/collectd/collectd_sample_configs/hugepages.conf
@@ -0,0 +1,23 @@
+# Copyright 2016 OPNFV
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+LoadPlugin hugepages
+
+<Plugin hugepages>
+ ReportPerNodeHP true
+ ReportRootHP true
+ ValuesPages true
+ ValuesBytes false
+ ValuesPercentage false
+</Plugin>
+
diff --git a/src/collectd/collectd_sample_configs/ovs_events.conf b/src/collectd/collectd_sample_configs/ovs_events.conf
new file mode 100644
index 00000000..a52842ca
--- /dev/null
+++ b/src/collectd/collectd_sample_configs/ovs_events.conf
@@ -0,0 +1,25 @@
+# Copyright 2016 OPNFV
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+<LoadPlugin ovs_events>
+ Interval 1
+</LoadPlugin>
+
+<Plugin ovs_events>
+# Port "6640"
+# Address "127.0.0.1"
+# Socket "/var/run/openvswitch/db.sock"
+# Interfaces "br0" "veth0"
+ SendNotification true
+</Plugin>
diff --git a/src/collectd/collectd_sample_configs/rdt.conf b/src/collectd/collectd_sample_configs/rdt.conf
new file mode 100644
index 00000000..4ff0a77a
--- /dev/null
+++ b/src/collectd/collectd_sample_configs/rdt.conf
@@ -0,0 +1,20 @@
+# Copyright 2016 OPNFV
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+<LoadPlugin intel_rdt>
+ Interval 1
+</LoadPlugin>
+
+<Plugin "intel_rdt">
+ Cores ""
+</Plugin>
diff --git a/src/collectd/collectd_sample_configs/write_notification.sh b/src/collectd/collectd_sample_configs/write_notification.sh
new file mode 100755
index 00000000..28198f9d
--- /dev/null
+++ b/src/collectd/collectd_sample_configs/write_notification.sh
@@ -0,0 +1,19 @@
+#!/bin/bash
+# Copyright 2016 OPNFV
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+rm -f /tmp/notifications
+while read x y
+do
+ echo $x$y >> /tmp/notifications
+done
diff --git a/src/collectd/include_config.sh b/src/collectd/include_config.sh
new file mode 100755
index 00000000..95b052f3
--- /dev/null
+++ b/src/collectd/include_config.sh
@@ -0,0 +1,12 @@
+#!/bin/bash
+COLLECTD_CONF_FILE=/opt/collectd/etc/collectd.conf
+INCLUDE_CONF="<Include \"/opt/collectd/etc/collectd.conf.d\">"
+
+function write_include {
+ echo $INCLUDE_CONF | sudo tee -a $COLLECTD_CONF_FILE;
+ echo " Filter \"*.conf\"" | sudo tee -a $COLLECTD_CONF_FILE;
+ echo -e "</Include>" | sudo tee -a /opt/collectd/etc/collectd.conf
+}
+
+grep -qe '<Include "/opt/collectd/etc/collectd.conf.d">' $COLLECTD_CONF_FILE; [ $? -ne 0 ] && write_include
+