[container][latest] Rename and update barometer-collectd-latest
[barometer.git] / docker / README_collectd
1 ==============================================================================
2 Readme for collectd docker container in barometer project
3 ==============================================================================
4
5 This text file includes information about environment preparation and
6 deployment collectd in docker container
7
8 Table of content:
9 1. DESCRIPTION
10 2. SYSTEM REQUIREMENTS
11 3. INSTALLATION NOTES - barometer-collectd
12 4. INSTALLATION NOTES - barometer-collectd-latest
13 5. ADDITIONAL STEPS
14
15 ------------------------------------------------------------------------------
16 1. DESCRIPTION
17
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
25
26 ------------------------------------------------------------------------------
27 2. SYSTEM REQUIREMENTS
28
29   Docker >= 17.06.0-ce
30
31 ------------------------------------------------------------------------------
32 3. INSTALLATION NOTES: barometer-collectd (stable container)
33
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.
37
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>
41
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>
45
46 /opt/collectd/sbin/collectd -f
47
48 ------------------------------------------------------------------------------
49 4. INSTALLATION NOTES: barometer-collectd-latest (development container)
50
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.
54
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>
59
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)
62
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>
66
67 /opt/collectd/sbin/collectd -f
68
69 ------------------------------------------------------------------------------
70 5. ADDITIONAL STEPS
71
72 To check if container works properly additional packages should be installed
73 on host system.
74
75 DEVELOPMENT TOOLS
76 sudo yum group install "Development Tools"
77
78 MCELOG
79 To simulate mcelog message use instruction in http://artifacts.opnfv.org/barometer/docs/index.html#mcelog-plugin
80
81 git clone https://github.com/andikleen/mce-inject
82 cd mce-inject/
83 make
84 sudo make install
85 modprobe mce-inject
86
87 go to mcelog folder
88 sudo make test
89
90 if runs multiple times mcelog service shoud be restarted(cause mcelog make test exits closes mcelog)
91
92 VIRT
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
96 virsh list
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
106
107 OVS
108 To successfuly run ovs plugins in Docker you need an ovs instance to connect to
109
110 sudo yum install -y openvswitch-switch
111 sudo service openvswitch-switch start
112 sudo ovs-vsctl set-manager ptcp:6640
113
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
124 cd ../RPMS/x86_64/
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
128
129 To check if connection is successfull please check
130 sudo ovs-vsctl show
131 319efc53-b321-49a9-b628-e8d70f9bd8a9
132     Manager "ptcp:6640"
133         is_connected: true - can be a marker that ovs plugins successfully connected
134     ovs_version: "2.5.3"
135 on the host.