1 ==============================================================================
2 Readme for collectd docker container in barometer project
3 ==============================================================================
5 This text file includes information about environment preparation and
6 deployment collectd in docker container
10 2. SYSTEM REQUIREMENTS
11 3. INSTALLATION NOTES - barometer-collectd
12 4. INSTALLATION NOTES - barometer-collectd-latest
15 ------------------------------------------------------------------------------
18 This Dockerfile provides instruction for building collect in isolated container.
19 There are currently two variants of collectd container:
20 - barometer-collectd - it is based on stable collect release
21 - barometer-collectd-latest - development container that is based on
22 latest 'main' branch for collectd project. It contains all available
23 collectd plugins and features that are available on 'main' branch but
24 some issues with configuration or stability may occur
26 ------------------------------------------------------------------------------
27 2. SYSTEM REQUIREMENTS
31 ------------------------------------------------------------------------------
32 3. INSTALLATION NOTES: barometer-collectd (stable container)
34 To build docker container, that is based on stable collectd release, run:
35 sudo docker build -f ./docker/barometer-collectd/Dockerfile ./docker/barometer-collectd
36 from barometer folder.
38 sudo docker images # get docker image id
39 sudo docker run -ti --net=host -v `pwd`/src/collectd/collectd_sample_configs:/opt/collectd/etc/collectd.conf.d \
40 -v /var/run:/var/run -v /tmp:/tmp --privileged <image id>
42 To make some changes run
43 sudo docker run -ti --net=host -v `pwd`/src/collectd/collectd_sample_configs:/opt/collectd/etc/collectd.conf.d \
44 -v /var/run:/var/run -v /tmp:/tmp --privileged --entrypoint=/bin/bash <image id>
46 /opt/collectd/sbin/collectd -f
48 ------------------------------------------------------------------------------
49 4. INSTALLATION NOTES: barometer-collectd-latest (development container)
51 To build docker barometer-collectd-latest container run (it is based on main branch from collectd):
52 sudo docker build -f ./docker/barometer-collectd-latest/Dockerfile .
53 from root barometer folder.
55 To run builded image run
56 sudo docker images # get docker image id
57 sudo docker run -ti --net=host -v `pwd`/src/collectd/collectd_sample_configs-latest:/opt/collectd/etc/collectd.conf.d \
58 -v /var/run:/var/run -v /tmp:/tmp --privileged <image id>
60 NOTE: barometer-collectd-latest container uses a different sample configurations files
61 compared to regular barometer-collectd container (src/collectd/collectd_sample_configs-latest)
63 To make some changes run
64 sudo docker run -ti --net=host -v `pwd`/src/collectd/collectd_sample_configs-latest:/opt/collectd/etc/collectd.conf.d \
65 -v /var/run:/var/run -v /tmp:/tmp --privileged --entrypoint=/bin/bash <image id>
67 /opt/collectd/sbin/collectd -f
69 ------------------------------------------------------------------------------
72 To check if container works properly additional packages should be installed
76 sudo yum group install "Development Tools"
79 To simulate mcelog message use instruction in http://artifacts.opnfv.org/barometer/docs/index.html#mcelog-plugin
81 git clone https://github.com/andikleen/mce-inject
90 if runs multiple times mcelog service shoud be restarted(cause mcelog make test exits closes mcelog)
93 http://artifacts.opnfv.org/barometer/docs/index.html#virt-plugin
94 Check that libvirtd is running on the remote host
95 systemctl status libvirtd
97 virsh perf instance-00000003
98 sudo virsh perf instance-00000003 --enable cpu_cycles --live
99 sudo virsh perf instance-00000003 --enable cmt --live
100 sudo virsh perf instance-00000003 --enable mbmt --live
101 sudo virsh perf instance-00000003 --enable mbml --live
102 sudo virsh perf instance-00000003 --enable instructions --live
103 sudo virsh perf instance-00000003 --enable cache_references --live
104 sudo virsh perf instance-00000003 --enable cache_mises --live
105 sudo virsh perf instance-00000003 --enable cache_misses --live
108 To successfuly run ovs plugins in Docker you need an ovs instance to connect to
110 sudo yum install -y openvswitch-switch
111 sudo service openvswitch-switch start
112 sudo ovs-vsctl set-manager ptcp:6640
114 Alternatively you can build ovs from source
115 yum -y install make gcc openssl-devel autoconf automake rpm-build \
116 redhat-rpm-config python-devel openssl-devel kernel-devel \
117 kernel-debug-devel libtool wget python-six selinux-policy-devel
118 mkdir -p ~/rpmbuild/SOURCES
119 cd ~/rpmbuild/SOURCES
120 wget http://openvswitch.org/releases/openvswitch-2.5.3.tar.gz
121 tar xfz openvswitch-2.5.3.tar.gz
122 sed 's/openvswitch-kmod, //g' rhel/openvswitch.spec > rhel/openvswitch_no_kmod.spec
123 rpmbuild -bb --nocheck rhel/openvswitch_no_kmod.spec
125 yum install -y openvswitch-2.5.3-1.x86_64.rpm
126 sudo systemctl start openvswitch.service
127 sudo ovs-vsctl set-manager ptcp:6640
129 To check if connection is successfull please check
131 319efc53-b321-49a9-b628-e8d70f9bd8a9
133 is_connected: true - can be a marker that ovs plugins successfully connected