From b20fa77aef9d184afa2dadba619afc12878ae67b Mon Sep 17 00:00:00 2001 From: Radoslaw Jablonski Date: Fri, 27 Jul 2018 15:32:54 +0100 Subject: Add support for 'collectd-master' container 'collectd-master' contains development versions of collectd with the latest features. It is based on master branch from collect repository. Change-Id: I720b5e5938b402281674ee73851c5f611e4d1178 Signed-off-by: Radoslaw Jablonski --- src/collectd/Makefile | 10 +- .../collectd_sample_configs-master/csv.conf | 19 + .../default_plugins.conf | 31 + .../collectd_sample_configs-master/dpdkevents.conf | 35 + .../collectd_sample_configs-master/dpdkstat.conf | 23 + .../collectd_sample_configs-master/exec.conf | 20 + .../collectd_sample_configs-master/hugepages.conf | 22 + .../collectd_sample_configs-master/intel_pmu.conf | 23 + .../collectd_sample_configs-master/kafka.conf | 21 + .../collectd_sample_configs-master/mcelog.conf | 24 + .../collectd_sample_configs-master/network.conf | 18 + .../collectd_sample_configs-master/ovs_events.conf | 24 + .../ovs_pmd_stats.sh | 15 + .../collectd_sample_configs-master/ovs_stats.conf | 23 + .../collectd_sample_configs-master/rdt.conf | 20 + .../collectd_sample_configs-master/snmp_agent.conf | 785 +++++++++++++++++++++ .../collectd_sample_configs-master/virt.conf | 30 + .../write_notification.sh | 19 + src/collectd/include_config.sh | 24 +- src/package-list.mk | 9 +- 20 files changed, 1191 insertions(+), 4 deletions(-) create mode 100644 src/collectd/collectd_sample_configs-master/csv.conf create mode 100644 src/collectd/collectd_sample_configs-master/default_plugins.conf create mode 100644 src/collectd/collectd_sample_configs-master/dpdkevents.conf create mode 100644 src/collectd/collectd_sample_configs-master/dpdkstat.conf create mode 100644 src/collectd/collectd_sample_configs-master/exec.conf create mode 100644 src/collectd/collectd_sample_configs-master/hugepages.conf create mode 100644 src/collectd/collectd_sample_configs-master/intel_pmu.conf create mode 100644 src/collectd/collectd_sample_configs-master/kafka.conf create mode 100644 src/collectd/collectd_sample_configs-master/mcelog.conf create mode 100644 src/collectd/collectd_sample_configs-master/network.conf create mode 100644 src/collectd/collectd_sample_configs-master/ovs_events.conf create mode 100755 src/collectd/collectd_sample_configs-master/ovs_pmd_stats.sh create mode 100644 src/collectd/collectd_sample_configs-master/ovs_stats.conf create mode 100644 src/collectd/collectd_sample_configs-master/rdt.conf create mode 100644 src/collectd/collectd_sample_configs-master/snmp_agent.conf create mode 100644 src/collectd/collectd_sample_configs-master/virt.conf create mode 100755 src/collectd/collectd_sample_configs-master/write_notification.sh (limited to 'src') diff --git a/src/collectd/Makefile b/src/collectd/Makefile index 670c14fa..13121700 100644 --- a/src/collectd/Makefile +++ b/src/collectd/Makefile @@ -39,6 +39,11 @@ ifeq ($(XDG_CACHE_HOME_DIR),) XDG_CACHE_HOME_DIR = $(shell echo $$HOME) endif +SAMPLE_CONF_VARIANT_NAME = collectd_sample_configs +ifdef COLLECTD_USE_MASTER +SAMPLE_CONF_VARIANT_NAME = collectd_sample_configs-master +endif + CONFIG_CMD += --enable-syslog CONFIG_CMD += --enable-logfile CONFIG_CMD += --with-libpqos=$(LIBPQOS_DIR) @@ -82,7 +87,9 @@ ifndef DOCKER endif $(AT)sudo ./ovs_pmd_stats_config.sh $(AT)sudo ./snmp_mib_config.sh - $(AT)sudo ./include_config.sh + + @echo "Using sample configs: $(SAMPLE_CONF_VARIANT_NAME)" + $(AT)sudo ./include_config.sh $(SAMPLE_CONF_VARIANT_NAME) @echo "Make install done" install: force_install @@ -118,6 +125,7 @@ $(WORK_DIR): $(AT)git clone $(COLLECTD_URL) $(TAG_DONE_FLAG): $(WORK_DIR) + @echo "Checking out collectd from tag: $(COLLECTD_TAG)" $(AT)cd collectd; git checkout $(COLLECTD_TAG) ifneq ($(PATCH_FILE),) $(AT)cd $(WORK_DIR); patch -p1 < ../$(PATCH_FILE) diff --git a/src/collectd/collectd_sample_configs-master/csv.conf b/src/collectd/collectd_sample_configs-master/csv.conf new file mode 100644 index 00000000..99a8498d --- /dev/null +++ b/src/collectd/collectd_sample_configs-master/csv.conf @@ -0,0 +1,19 @@ +# Copyright 2017 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 + + DataDir "/tmp/collectd/csv" + StoreRates false + diff --git a/src/collectd/collectd_sample_configs-master/default_plugins.conf b/src/collectd/collectd_sample_configs-master/default_plugins.conf new file mode 100644 index 00000000..c96b0076 --- /dev/null +++ b/src/collectd/collectd_sample_configs-master/default_plugins.conf @@ -0,0 +1,31 @@ +# Copyright 2017 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. +#Hostname "" + +LoadPlugin cpufreq +LoadPlugin disk +LoadPlugin ethstat +LoadPlugin ipc +LoadPlugin ipmi +LoadPlugin load +LoadPlugin memory +LoadPlugin numa +LoadPlugin processes +LoadPlugin df +LoadPlugin turbostat +LoadPlugin uptime +LoadPlugin contextswitch +LoadPlugin irq +LoadPlugin df +LoadPlugin swap diff --git a/src/collectd/collectd_sample_configs-master/dpdkevents.conf b/src/collectd/collectd_sample_configs-master/dpdkevents.conf new file mode 100644 index 00000000..fdb6f3db --- /dev/null +++ b/src/collectd/collectd_sample_configs-master/dpdkevents.conf @@ -0,0 +1,35 @@ +# Copyright 2017 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. + + Interval 1 + + + + +# Coremask "0x1" +# MemoryChannels "4" +# FilePrefix "rte" + + + SendEventsOnUpdate false + EnabledPortMask 0xffff + SendNotification true + + + SendEventsOnUpdate false + LCoreMask "0xf" + KeepAliveShmName "/dpdk_keepalive_shm_name" + SendNotification true + + diff --git a/src/collectd/collectd_sample_configs-master/dpdkstat.conf b/src/collectd/collectd_sample_configs-master/dpdkstat.conf new file mode 100644 index 00000000..59906d4e --- /dev/null +++ b/src/collectd/collectd_sample_configs-master/dpdkstat.conf @@ -0,0 +1,23 @@ +# Copyright 2017 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 + + +# Coremask "0xf" +# ProcessType "secondary" +# FilePrefix "rte" + EnabledPortMask 0xffff +# PortName "interface1" +# PortName "interface2" + diff --git a/src/collectd/collectd_sample_configs-master/exec.conf b/src/collectd/collectd_sample_configs-master/exec.conf new file mode 100644 index 00000000..0a291bdb --- /dev/null +++ b/src/collectd/collectd_sample_configs-master/exec.conf @@ -0,0 +1,20 @@ +# Copyright 2017 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 + + + # For OVS PMD stats plugin + Exec "collectd_exec" "/opt/collectd/etc/collectd.conf.d/ovs_pmd_stats.sh" + NotificationExec "collectd_exec" "/opt/collectd/etc/collectd.conf.d/write_notification.sh" + diff --git a/src/collectd/collectd_sample_configs-master/hugepages.conf b/src/collectd/collectd_sample_configs-master/hugepages.conf new file mode 100644 index 00000000..97cd2d17 --- /dev/null +++ b/src/collectd/collectd_sample_configs-master/hugepages.conf @@ -0,0 +1,22 @@ +# Copyright 2017 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 + + + ReportPerNodeHP true + ReportRootHP true + ValuesPages true + ValuesBytes false + ValuesPercentage false + diff --git a/src/collectd/collectd_sample_configs-master/intel_pmu.conf b/src/collectd/collectd_sample_configs-master/intel_pmu.conf new file mode 100644 index 00000000..959fb8a1 --- /dev/null +++ b/src/collectd/collectd_sample_configs-master/intel_pmu.conf @@ -0,0 +1,23 @@ +# Copyright 2017 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_pmu + + + ReportHardwareCacheEvents true + ReportKernelPMUEvents true + ReportSoftwareEvents true +# EventList "/var/cache/pmu/GenuineIntel-6-2D-core.json" +# HardwareEvents "L2_RQSTS.CODE_RD_HIT,L2_RQSTS.CODE_RD_MISS" "L2_RQSTS.ALL_CODE_RD" + Cores "[0-4]" + diff --git a/src/collectd/collectd_sample_configs-master/kafka.conf b/src/collectd/collectd_sample_configs-master/kafka.conf new file mode 100644 index 00000000..f81e87fd --- /dev/null +++ b/src/collectd/collectd_sample_configs-master/kafka.conf @@ -0,0 +1,21 @@ +# Copyright 2017 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 write_kafka + + + Property "metadata.broker.list" "localhost:9092" + + Format JSON + + diff --git a/src/collectd/collectd_sample_configs-master/mcelog.conf b/src/collectd/collectd_sample_configs-master/mcelog.conf new file mode 100644 index 00000000..633a3bcd --- /dev/null +++ b/src/collectd/collectd_sample_configs-master/mcelog.conf @@ -0,0 +1,24 @@ +# Copyright 2017 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. + + Interval 1 + + + + + McelogClientSocket "/var/run/mcelog-client" + PersistentNotification false + +## McelogLogfile "/var/log/mcelog" + diff --git a/src/collectd/collectd_sample_configs-master/network.conf b/src/collectd/collectd_sample_configs-master/network.conf new file mode 100644 index 00000000..4309ed86 --- /dev/null +++ b/src/collectd/collectd_sample_configs-master/network.conf @@ -0,0 +1,18 @@ +# Copyright 2017 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 network + + Server "127.0.0.1" "25826" + diff --git a/src/collectd/collectd_sample_configs-master/ovs_events.conf b/src/collectd/collectd_sample_configs-master/ovs_events.conf new file mode 100644 index 00000000..250e1e43 --- /dev/null +++ b/src/collectd/collectd_sample_configs-master/ovs_events.conf @@ -0,0 +1,24 @@ +# Copyright 2017 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. + + Interval 1 + + + +# Port "6640" +# Address "127.0.0.1" +# Socket "/var/run/openvswitch/db.sock" +# Interfaces "br0" "veth0" + SendNotification true + diff --git a/src/collectd/collectd_sample_configs-master/ovs_pmd_stats.sh b/src/collectd/collectd_sample_configs-master/ovs_pmd_stats.sh new file mode 100755 index 00000000..0517717f --- /dev/null +++ b/src/collectd/collectd_sample_configs-master/ovs_pmd_stats.sh @@ -0,0 +1,15 @@ +#!/bin/bash +# Copyright 2017 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. +sudo python /usr/local/src/ovs_pmd_stats.py --socket-pid-file /var/run/openvswitch/ovs-vswitchd.pid diff --git a/src/collectd/collectd_sample_configs-master/ovs_stats.conf b/src/collectd/collectd_sample_configs-master/ovs_stats.conf new file mode 100644 index 00000000..2a6d2fb2 --- /dev/null +++ b/src/collectd/collectd_sample_configs-master/ovs_stats.conf @@ -0,0 +1,23 @@ +# Copyright 2017 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 + + + Interval 1 + + +# Port "6640" +# Address "127.0.0.1" +# Socket "/var/run/openvswitch/db.sock" +# Bridges "br0" + diff --git a/src/collectd/collectd_sample_configs-master/rdt.conf b/src/collectd/collectd_sample_configs-master/rdt.conf new file mode 100644 index 00000000..ae983dc0 --- /dev/null +++ b/src/collectd/collectd_sample_configs-master/rdt.conf @@ -0,0 +1,20 @@ +# Copyright 2017 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. + + Interval 1 + + + + Cores "" + diff --git a/src/collectd/collectd_sample_configs-master/snmp_agent.conf b/src/collectd/collectd_sample_configs-master/snmp_agent.conf new file mode 100644 index 00000000..7cbde816 --- /dev/null +++ b/src/collectd/collectd_sample_configs-master/snmp_agent.conf @@ -0,0 +1,785 @@ +# Copyright 2017 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 snmp_agent + +# Intel PMU MIB + + IndexOID "INTEL-PMU-MIB::pmuGroupIndex" + + + Source "PluginInstance" + + Plugin "intel_pmu" + OIDs "INTEL-PMU-MIB::pmuGroupDescr" + + + Plugin "intel_pmu" + Type "counter" + TypeInstance "L1-dcache-loads" + OIDs "INTEL-PMU-MIB::pmuL1DCacheLoads" + + + Plugin "intel_pmu" + Type "counter" + TypeInstance "L1-dcache-load-misses" + OIDs "INTEL-PMU-MIB::pmuL1DCacheLoadMisses" + + + Plugin "intel_pmu" + Type "counter" + TypeInstance "L1-dcache-stores" + OIDs "INTEL-PMU-MIB::pmuL1DCacheStores" + + + Plugin "intel_pmu" + Type "counter" + TypeInstance "L1-dcache-store-misses" + OIDs "INTEL-PMU-MIB::pmuL1DCacheStoreMisses" + + + Plugin "intel_pmu" + Type "counter" + TypeInstance "L1-dcache-prefetches" + OIDs "INTEL-PMU-MIB::pmuL1DCachePrefetches" + + + Plugin "intel_pmu" + Type "counter" + TypeInstance "L1-dcache-prefetch-misses" + OIDs "INTEL-PMU-MIB::pmuL1DCachePrefetchMisses" + + + Plugin "intel_pmu" + Type "counter" + TypeInstance "L1-icache-loads" + OIDs "INTEL-PMU-MIB::pmuL1ICacheLoads" + + + Plugin "intel_pmu" + Type "counter" + TypeInstance "L1-icache-load-misses" + OIDs "INTEL-PMU-MIB::pmuL1ICacheLoadMisses" + + + Plugin "intel_pmu" + Type "counter" + TypeInstance "L1-icache-prefetches" + OIDs "INTEL-PMU-MIB::pmuL1ICachePrefetches" + + + Plugin "intel_pmu" + Type "counter" + TypeInstance "L1-icache-prefetch-misses" + OIDs "INTEL-PMU-MIB::pmuL1ICachePrefetchMisses" + + + Plugin "intel_pmu" + Type "counter" + TypeInstance "LLC-loads" + OIDs "INTEL-PMU-MIB::pmuLLCLoads" + + + Plugin "intel_pmu" + Type "counter" + TypeInstance "LLC-load-misses" + OIDs "INTEL-PMU-MIB::pmuLLCLoadMisses" + + + Plugin "intel_pmu" + Type "counter" + TypeInstance "LLC-stores" + OIDs "INTEL-PMU-MIB::pmuLLCStores" + + + Plugin "intel_pmu" + Type "counter" + TypeInstance "LLC-store-misses" + OIDs "INTEL-PMU-MIB::pmuLLCStoreMisses" + + + Plugin "intel_pmu" + Type "counter" + TypeInstance "LLC-prefetches" + OIDs "INTEL-PMU-MIB::pmuLLCPrefetches" + + + Plugin "intel_pmu" + Type "counter" + TypeInstance "LLC-prefetch-misses" + OIDs "INTEL-PMU-MIB::pmuLLCPrefetchMisses" + + + Plugin "intel_pmu" + Type "counter" + TypeInstance "dTLB-loads" + OIDs "INTEL-PMU-MIB::pmuDTLBLoads" + + + Plugin "intel_pmu" + Type "counter" + TypeInstance "dTLB-load-misses" + OIDs "INTEL-PMU-MIB::pmuDTLBLoadMisses" + + + Plugin "intel_pmu" + Type "counter" + TypeInstance "dTLB-stores" + OIDs "INTEL-PMU-MIB::pmuDTLBStores" + + + Plugin "intel_pmu" + Type "counter" + TypeInstance "dTLB-store-misses" + OIDs "INTEL-PMU-MIB::pmuDTLBStoreMisses" + + + Plugin "intel_pmu" + Type "counter" + TypeInstance "dTLB-prefetches" + OIDs "INTEL-PMU-MIB::pmuDTLBPrefetches" + + + Plugin "intel_pmu" + Type "counter" + TypeInstance "dTLB-prefetch-misses" + OIDs "INTEL-PMU-MIB::pmuDTLBPrefetchMisses" + + + Plugin "intel_pmu" + Type "counter" + TypeInstance "iTLB-loads" + OIDs "INTEL-PMU-MIB::pmuITLBLoads" + + + Plugin "intel_pmu" + Type "counter" + TypeInstance "iTLB-load-misses" + OIDs "INTEL-PMU-MIB::pmuITLBLoadMisses" + + + Plugin "intel_pmu" + Type "counter" + TypeInstance "branch-loads" + OIDs "INTEL-PMU-MIB::pmuBranchLoads" + + + Plugin "intel_pmu" + Type "counter" + TypeInstance "branch-load-misses" + OIDs "INTEL-PMU-MIB::pmuBranchLoadMisses" + + + Plugin "intel_pmu" + Type "counter" + TypeInstance "cpu-cycles" + OIDs "INTEL-PMU-MIB::pmuCpuCycles" + + + Plugin "intel_pmu" + Type "counter" + TypeInstance "instructions" + OIDs "INTEL-PMU-MIB::pmuInstructions" + + + Plugin "intel_pmu" + Type "counter" + TypeInstance "cache-references" + OIDs "INTEL-PMU-MIB::pmuCacheReferences" + + + Plugin "intel_pmu" + Type "counter" + TypeInstance "cache-misses" + OIDs "INTEL-PMU-MIB::pmuCacheMisses" + + + Plugin "intel_pmu" + Type "counter" + TypeInstance "branches" + OIDs "INTEL-PMU-MIB::pmuBranches" + + + Plugin "intel_pmu" + Type "counter" + TypeInstance "branch-misses" + OIDs "INTEL-PMU-MIB::pmuBranchMisses" + + + Plugin "intel_pmu" + Type "counter" + TypeInstance "bus-cycles" + OIDs "INTEL-PMU-MIB::pmuBusCycles" + + + Plugin "intel_pmu" + Type "counter" + TypeInstance "cpu-clock" + OIDs "INTEL-PMU-MIB::pmuCpuClock" + + + Plugin "intel_pmu" + Type "counter" + TypeInstance "task-clock" + OIDs "INTEL-PMU-MIB::pmuTaskClock" + + + Plugin "intel_pmu" + Type "counter" + TypeInstance "context-switches" + OIDs "INTEL-PMU-MIB::pmuContextSwitches" + + + Plugin "intel_pmu" + Type "counter" + TypeInstance "cpu-migrations" + OIDs "INTEL-PMU-MIB::pmuCpuMigrations" + + + Plugin "intel_pmu" + Type "counter" + TypeInstance "page-faults" + OIDs "INTEL-PMU-MIB::pmuPageFaults" + + + Plugin "intel_pmu" + Type "counter" + TypeInstance "minor-faults" + OIDs "INTEL-PMU-MIB::pmuMinorFaults" + + + Plugin "intel_pmu" + Type "counter" + TypeInstance "major-faults" + OIDs "INTEL-PMU-MIB::pmuMajorFaults" + + + Plugin "intel_pmu" + Type "counter" + TypeInstance "alignment-faults" + OIDs "INTEL-PMU-MIB::pmuAlignmentFaults" + + + Plugin "intel_pmu" + Type "counter" + TypeInstance "emulation-faults" + OIDs "INTEL-PMU-MIB::pmuEmulationFaults" + +
+# Intel RDT MIB + + IndexOID "INTEL-RDT-MIB::rdtGroupIndex" + SizeOID "INTEL-RDT-MIB::rdtGroupNumber" + + + Source "PluginInstance" + + Plugin "intel_rdt" + OIDs "INTEL-RDT-MIB::rdtGroupDescr" + + + Plugin "intel_rdt" + Type "bytes" + TypeInstance "llc" + OIDs "INTEL-RDT-MIB::rdtLlc" + + + Plugin "intel_rdt" + Type "ipc" + OIDs "INTEL-RDT-MIB::rdtIpc" + + + Plugin "intel_rdt" + Type "memory_bandwidth" + TypeInstance "remote" + OIDs "INTEL-RDT-MIB::rdtMbmRemote" + + + Plugin "intel_rdt" + Type "memory_bandwidth" + TypeInstance "local" + OIDs "INTEL-RDT-MIB::rdtMbmLocal" + +
+# Intel Mcelog MIB + + IndexOID "INTEL-MCELOG-MIB::memoryGroupIndex" + + + Source "PluginInstance" + + Plugin "mcelog" + OIDs "INTEL-MCELOG-MIB::memoryGroupDescr" + + + Plugin "mcelog" + Type "errors" + TypeInstance "corrected_memory_errors" + OIDs "INTEL-MCELOG-MIB::memoryCorrectedErrors" + + + Plugin "mcelog" + Type "errors" + TypeInstance "corrected_memory_errors_in_24h" + OIDs "INTEL-MCELOG-MIB::memoryCorrectedTimedErrors" + + + Plugin "mcelog" + Type "errors" + TypeInstance "uncorrected_memory_errors" + OIDs "INTEL-MCELOG-MIB::memoryUncorrectedErrors" + + + Plugin "mcelog" + Type "errors" + TypeInstance "uncorrected_memory_errors_in_24h" + OIDs "INTEL-MCELOG-MIB::memoryUncorrectedTimedErrors" + +
+# Hugepages + + + + Source "PluginInstance" + + Plugin "hugepages" + OIDs "INTEL-HUGEPAGES-MIB::hugepagesNode" + + + Plugin "hugepages" + Type "memory" + TypeInstance "free" + OIDs "INTEL-HUGEPAGES-MIB::hugepagesMemoryFree" + + + Plugin "hugepages" + Type "memory" + TypeInstance "used" + OIDs "INTEL-HUGEPAGES-MIB::hugepagesMemoryUsed" + + + Plugin "hugepages" + Type "vmpage_number" + TypeInstance "free" + OIDs "INTEL-HUGEPAGES-MIB::hugepagesPagesFree" + + + Plugin "hugepages" + Type "vmpage_number" + TypeInstance "used" + OIDs "INTEL-HUGEPAGES-MIB::hugepagesPagesUsed" + + + Plugin "hugepages" + Type "percent" + TypeInstance "free" + OIDs "INTEL-HUGEPAGES-MIB::hugepagesPercentFree" + + + Plugin "hugepages" + Type "percent" + TypeInstance "used" + OIDs "INTEL-HUGEPAGES-MIB::hugepagesPercentUsed" + +
+ # Libvirt MIB + + + + Source "PluginInstance" + + Plugin "virt" + OIDs "LIBVIRT-HYPERVISOR-MIB::lvhDomainName" + + + Plugin "virt" + Type "ps_cputime" + OIDs "LIBVIRT-HYPERVISOR-MIB::lvhCPUTotalTimeUser" "LIBVIRT-HYPERVISOR-MIB::lvhCPUTotalTimeSystem" + + + Plugin "virt" + Type "percent" + TypeInstance "virt_cpu_total" + OIDs "LIBVIRT-HYPERVISOR-MIB::lvhVirtCPUTotal" + + + Plugin "virt" + Type "memory" + TypeInstance "total" + OIDs "LIBVIRT-HYPERVISOR-MIB::lvhMemoryTotal" + +
+ + + + Source "PluginInstance" + + Plugin "virt" + OIDs "LIBVIRT-HYPERVISOR-MIB::lvhMemoryDomainName" + + + Plugin "virt" + Type "memory" + TypeInstance "swap_in" + OIDs "LIBVIRT-HYPERVISOR-MIB::lvhMemorySwapIn" + + + Plugin "virt" + Type "memory" + TypeInstance "swap_out" + OIDs "LIBVIRT-HYPERVISOR-MIB::lvhMemorySwapOut" + + + Plugin "virt" + Type "memory" + TypeInstance "major_fault" + OIDs "LIBVIRT-HYPERVISOR-MIB::lvhMemoryMajorFault" + + + Plugin "virt" + Type "memory" + TypeInstance "minor_fault" + OIDs "LIBVIRT-HYPERVISOR-MIB::lvhMemoryMinorFault" + + + Plugin "virt" + Type "memory" + TypeInstance "unused" + OIDs "LIBVIRT-HYPERVISOR-MIB::lvhMemoryUnused" + + + Plugin "virt" + Type "memory" + TypeInstance "available" + OIDs "LIBVIRT-HYPERVISOR-MIB::lvhMemoryAvailable" + + + Plugin "virt" + Type "memory" + TypeInstance "actual_balloon" + OIDs "LIBVIRT-HYPERVISOR-MIB::lvhMemoryActualBalloon" + + + Plugin "virt" + Type "memory" + TypeInstance "rss" + OIDs "LIBVIRT-HYPERVISOR-MIB::lvhMemoryRss" + + + Plugin "virt" + Type "memory" + TypeInstance "last_update" + OIDs "LIBVIRT-HYPERVISOR-MIB::lvhMemoryLastUpdate" + +
+ + + + Source "PluginInstance" + + Plugin "virt" + OIDs "LIBVIRT-HYPERVISOR-MIB::lvhPerfDomainName" + + + Plugin "virt" + Type "perf" + TypeInstance "perf_alignment_faults" + OIDs "LIBVIRT-HYPERVISOR-MIB::lvhPerfAlignmentFaults" + + + Plugin "virt" + Type "perf" + TypeInstance "perf_branch_instructions" + OIDs "LIBVIRT-HYPERVISOR-MIB::lvhPerfBranchInstructions" + + + Plugin "virt" + Type "perf" + TypeInstance "perf_branch_misses" + OIDs "LIBVIRT-HYPERVISOR-MIB::lvhPerfBranchMisses" + + + Plugin "virt" + Type "perf" + TypeInstance "perf_bus_cycles" + OIDs "LIBVIRT-HYPERVISOR-MIB::lvhPerfBusCycles" + + + Plugin "virt" + Type "perf" + TypeInstance "perf_cache_misses" + OIDs "LIBVIRT-HYPERVISOR-MIB::lvhPerfCacheMisses" + + + Plugin "virt" + Type "perf" + TypeInstance "perf_cache_references" + OIDs "LIBVIRT-HYPERVISOR-MIB::lvhPerfCacheReferences" + + + Plugin "virt" + Type "perf" + TypeInstance "perf_cmt" + OIDs "LIBVIRT-HYPERVISOR-MIB::lvhPerfCmt" + + + Plugin "virt" + Type "perf" + TypeInstance "perf_context_switches" + OIDs "LIBVIRT-HYPERVISOR-MIB::lvhPerfContextSwitches" + + + Plugin "virt" + Type "perf" + TypeInstance "perf_cpu_clock" + OIDs "LIBVIRT-HYPERVISOR-MIB::lvhPerfCPUClock" + + + Plugin "virt" + Type "perf" + TypeInstance "perf_cpu_cycles" + OIDs "LIBVIRT-HYPERVISOR-MIB::lvhPerfCPUCycles" + + + Plugin "virt" + Type "perf" + TypeInstance "perf_cpu_migrations" + OIDs "LIBVIRT-HYPERVISOR-MIB::lvhPerfCPUMigrations" + + + Plugin "virt" + Type "perf" + TypeInstance "perf_emulation_faults" + OIDs "LIBVIRT-HYPERVISOR-MIB::lvhPerfEmulationFaults" + + + Plugin "virt" + Type "perf" + TypeInstance "perf_instructions" + OIDs "LIBVIRT-HYPERVISOR-MIB::lvhPerfInstructions" + + + Plugin "virt" + Type "perf" + TypeInstance "perf_mbml" + OIDs "LIBVIRT-HYPERVISOR-MIB::lvhPerfMbml" + + + Plugin "virt" + Type "perf" + TypeInstance "perf_mbmt" + OIDs "LIBVIRT-HYPERVISOR-MIB::lvhPerfMbmt" + + + Plugin "virt" + Type "perf" + TypeInstance "perf_page_faults" + OIDs "LIBVIRT-HYPERVISOR-MIB::lvhPerfPageFaults" + + + Plugin "virt" + Type "perf" + TypeInstance "perf_page_faults_maj" + OIDs "LIBVIRT-HYPERVISOR-MIB::lvhPerfPageFaultsMaj" + + + Plugin "virt" + Type "perf" + TypeInstance "perf_page_faults_min" + OIDs "LIBVIRT-HYPERVISOR-MIB::lvhPerfPageFaultsMin" + + + Plugin "virt" + Type "perf" + TypeInstance "perf_ref_cpu_cycles" + OIDs "LIBVIRT-HYPERVISOR-MIB::lvhPerfRefCPUCycles" + + + Plugin "virt" + Type "perf" + TypeInstance "perf_task_clock" + OIDs "LIBVIRT-HYPERVISOR-MIB::lvhPerfTaskClock" + +
+ + + + Source "PluginInstance" + + Plugin "virt" + OIDs "LIBVIRT-HYPERVISOR-MIB::lvhAffinityDomainName" + + + Plugin "virt" + + Source "TypeInstance" + Regex "^vcpu_([0-9]{1,3})-cpu_[0-9]{1,3}$" + Group 1 + + OIDs "LIBVIRT-HYPERVISOR-MIB::lvhVCPUIndex" + + + Plugin "virt" + + Source "TypeInstance" + Regex "^vcpu_[0-9]{1,3}-cpu_([0-9]{1,3})$" + Group 1 + + OIDs "LIBVIRT-HYPERVISOR-MIB::lvhCPUIndex" + + + Plugin "virt" + Type "cpu_affinity" + OIDs "LIBVIRT-HYPERVISOR-MIB::lvhCPUAffinity" + +
+ + + + Source "PluginInstance" + + Plugin "virt" + OIDs "LIBVIRT-HYPERVISOR-MIB::lvhVCPUDomainName" + + + + Source "TypeInstance" + Regex "^([0-9]{1,3})$" + Group 1 + + Plugin "virt" + OIDs "LIBVIRT-HYPERVISOR-MIB::lvhVCPUVCPUIndex" + + + Plugin "virt" + Type "virt_vcpu" + OIDs "LIBVIRT-HYPERVISOR-MIB::lvhVirtVCPU" + +
+ + + + Source "PluginInstance" + + Plugin "virt" + OIDs "LIBVIRT-HYPERVISOR-MIB::lvhDiskDomainName" + + + + Source "TypeInstance" + + Plugin "virt" + OIDs "LIBVIRT-HYPERVISOR-MIB::lvhDiskName" + + + Plugin "virt" + Type "disk_error" + OIDs "LIBVIRT-HYPERVISOR-MIB::lvhDiskError" + +
+ + + + Source "PluginInstance" + + Plugin "virt" + OIDs "LIBVIRT-HYPERVISOR-MIB::lvhBlockDomainName" + + + + Source "TypeInstance" + + Plugin "virt" + OIDs "LIBVIRT-HYPERVISOR-MIB::lvhBlockDeviceName" + + + Plugin "virt" + Type "disk_ops" + OIDs "LIBVIRT-HYPERVISOR-MIB::lvhDiskOpsRead" "LIBVIRT-HYPERVISOR-MIB::lvhDiskOpsWrite" + + + Plugin "virt" + Type "disk_octets" + OIDs "LIBVIRT-HYPERVISOR-MIB::lvhDiskOctetsRead" "LIBVIRT-HYPERVISOR-MIB::lvhDiskOctetsWrite" + + + Plugin "virt" + Type "disk_time" + OIDs "LIBVIRT-HYPERVISOR-MIB::lvhDiskTimeCacheRead" "LIBVIRT-HYPERVISOR-MIB::lvhDiskTimeCacheWrite" + +
+ + + + Source "PluginInstance" + + Plugin "virt" + OIDs "LIBVIRT-HYPERVISOR-MIB::lvhBlockDevFlushDomainName" + + + + Source "TypeInstance" + Regex "^flush-(.*)$" + Group 1 + + Plugin "virt" + OIDs "LIBVIRT-HYPERVISOR-MIB::lvhBlockDevFlushDeviceName" + + + Plugin "virt" + Type "total_requests" + OIDs "LIBVIRT-HYPERVISOR-MIB::lvhTotalRequestsFlush" + + + Plugin "virt" + Type "total_time_in_ms" + OIDs "LIBVIRT-HYPERVISOR-MIB::lvhTotalTimeInMsFlush" + +
+ + + + Source "PluginInstance" + + Plugin "virt" + OIDs "LIBVIRT-HYPERVISOR-MIB::lvhNetIfDomainName" + + + + Source "TypeInstance" + + Plugin "virt" + OIDs "LIBVIRT-HYPERVISOR-MIB::lvhInterfaceName" + + + Plugin "virt" + Type "if_octets" + OIDs "LIBVIRT-HYPERVISOR-MIB::lvhIfBytesReceived" "LIBVIRT-HYPERVISOR-MIB::lvhIfBytesTransmitted" + + + Plugin "virt" + Type "if_packets" + OIDs "LIBVIRT-HYPERVISOR-MIB::lvhIfPacketsReceived" "LIBVIRT-HYPERVISOR-MIB::lvhIfPacketsTransmitted" + + + Plugin "virt" + Type "if_errors" + OIDs "LIBVIRT-HYPERVISOR-MIB::lvhIfErrorsReceive" "LIBVIRT-HYPERVISOR-MIB::lvhIfErrorsTransmission" + + + Plugin "virt" + Type "if_dropped" + OIDs "LIBVIRT-HYPERVISOR-MIB::lvhIfDroppedReceive" "LIBVIRT-HYPERVISOR-MIB::lvhIfDroppedTransmit" + +
+
diff --git a/src/collectd/collectd_sample_configs-master/virt.conf b/src/collectd/collectd_sample_configs-master/virt.conf new file mode 100644 index 00000000..88229e3c --- /dev/null +++ b/src/collectd/collectd_sample_configs-master/virt.conf @@ -0,0 +1,30 @@ +# Copyright 2017 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 virt + +# Connection "xen:///" + RefreshInterval 60 +# Domain "name" +# BlockDevice "name:device" +# BlockDeviceFormat target +# BlockDeviceFormatBasename false +# InterfaceDevice "name:device" +# IgnoreSelected false +# HostnameFormat name +# InterfaceFormat name +# PluginInstanceFormat name +# Instances 1 + ExtraStats "cpu_util disk disk_err domain_state fs_info job_stats_background pcpu perf vcpupin" + diff --git a/src/collectd/collectd_sample_configs-master/write_notification.sh b/src/collectd/collectd_sample_configs-master/write_notification.sh new file mode 100755 index 00000000..ed6ed9e2 --- /dev/null +++ b/src/collectd/collectd_sample_configs-master/write_notification.sh @@ -0,0 +1,19 @@ +#!/bin/bash +# Copyright 2017 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 index dd20893d..4f91a453 100755 --- a/src/collectd/include_config.sh +++ b/src/collectd/include_config.sh @@ -13,12 +13,31 @@ # See the License for the specific language governing permissions and # limitations under the License. +# Config file options are changing between releases so we have to store both +# configurations variants and choose correct one for target collectd version + +if [ -z "$1" ]; then + echo "Error! Please sample configs variant name as a param!"\ + "(name of directory with sample-configs)" + echo "Usage:" + echo "$0 SAMPLE_CONFIGS_VARIANT_NAME" + echo "e.g. $0 'collectd_sample_configs'" + exit 1 +fi + +SAMPLE_CONF_VARIANT="$1" COLLECTD_CONF_FILE=/opt/collectd/etc/collectd.conf COLLECTD_CONF_DIR=/opt/collectd/etc/collectd.conf.d INCLUDE_CONF="" CURR_DIR=`pwd` HOSTNAME=`hostname` -SAMPLE_CONF_DIR=$CURR_DIR/collectd_sample_configs/* +SAMPLE_CONF_DIR=$CURR_DIR/$SAMPLE_CONF_VARIANT + +if [ ! -d "$SAMPLE_CONF_DIR" ]; then + echo "$SAMPLE_CONF_DIR does not exits!"\ + "Probably passed bad variant name as a param: $SAMPLE_CONF_VARIANT" + exit 1 +fi function write_include { echo "Hostname \"$HOSTNAME\"" | sudo tee -a $COLLECTD_CONF_FILE; @@ -31,7 +50,8 @@ grep -qe '' $COLLECTD_CONF_FILE; [ `mkdir -p $COLLECTD_CONF_DIR` -for F in $SAMPLE_CONF_DIR; do +SAMPLE_CONF_FILES=$SAMPLE_CONF_DIR/* +for F in $SAMPLE_CONF_FILES; do FILE=$(basename $F) [ -f $COLLECTD_CONF_DIR/$FILE ] && echo "File $COLLECTD_CONF_DIR/$FILE exists" || cp $F $COLLECTD_CONF_DIR done diff --git a/src/package-list.mk b/src/package-list.mk index 975a79e8..b58e092a 100644 --- a/src/package-list.mk +++ b/src/package-list.mk @@ -19,7 +19,14 @@ KAFKA_TAG ?= v0.9.5 # collectd section COLLECTD_URL ?= https://github.com/collectd/collectd -COLLECTD_TAG ?= collectd-5.8 +# there are 2 collectd flavors: +# -"collectd" - based on stable collect release +# -"collectd-master" - development version, based on master branch +ifdef COLLECTD_USE_MASTER + COLLECTD_TAG ?= master +else + COLLECTD_TAG ?= collectd-5.8 +endif COLLECTD_OPENSTACK_URL ?= https://github.com/openstack/collectd-openstack-plugins COLLECTD_OPENSTACK_TAG ?= stable/pike -- cgit 1.2.3-korg