- This work is licensed under a Creative Commons Attribution 4.0 International License.
- http://creativecommons.org/licenses/by/4.0
Note: this repository provides a demo implementation. It is not intended
for unmodified use in production. It has not been tested for production.
The ability to monitor the Network Function Virtualization Infrastructure (NFVI) where VNFs are in operation will be a key part of Service Assurance within an NFV environment, in order to enforce SLAs or to detect violations, faults or degradation in the performance of NFVI resources so that events and relevant metrics are reported to higher level fault management systems. If fixed function appliances are going to be replaced by virtualized appliances the service levels, manageability and service assurance needs to remain consistent or improve on what is available today.
As such, the NFVI needs to support the ability to monitor:
#. Traffic monitoring and performance monitoring of the components that provide networking functionality to the VNF, including: physical interfaces, virtual switch interfaces and flows, as well as the virtual interfaces themselves and their status, etc. #. Platform monitoring including: CPU, memory, load, cache, thermals, fan speeds, voltages and machine check exceptions, etc.
All of the statistics and events gathered must be collected in-service and must be capable of being reported by standard Telco mechanisms (e.g. SNMP, REST), for potential enforcement or correction actions. In addition, this information could be fed to analytics systems to enable failure prediction, and can also be used for intelligent workload placement.
git clone https://github.com/Yuandjom/Intel-barometer.git
sudo apt install python3-pip
sudo pip install "ansible==2.10.8"
After clone the repository check the version of ansible
ansible --version
ansible 2.10.8
config file = /home/Ayush/barometer/docker/ansible/ansible.cfg
configured module search path = ['/root/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
ansible python module location = /usr/lib/python3/dist-packages/ansible
executable location = /usr/bin/ansible
python version = 3.10.12 (main, Jun 11 2023, 05:26:28) [GCC 11.4.0]
Name: Jinja2
Version: 3.0.3
Summary: A very fast and expressive template engine.
Home-page: https://palletsprojects.com/p/jinja/
Author: Armin Ronacher
Author-email: armin.ronacher@active-4.com
License: BSD-3-Clause
Location: /usr/local/lib/python3.10/dist-packages
Requires: MarkupSafe
Required-by: ansible-core
Verison
Ansible: 2.10.8
Jinja 3.0.3 (note that this has to be <3.1, pip install jinja2<3.1)
Run the configurations and ansible script
ansible-galaxy install -r requirements.yml
cd /barometer/docker/ansible
sudo ansible-playbook -i default.inv collectd_service.yml
Problem:
root@spr22:/home/Ayush/barometer/docker/ansible# docker logs bar-collectd
[2023-11-23 03:29:32] plugin_load: plugin "logfile" successfully loaded.
[2023-11-23 03:29:32] plugin_load: plugin "capabilities" successfully loaded.
[2023-11-23 03:29:32] plugin_load: plugin "contextswitch" successfully loaded.
[2023-11-23 03:29:32] plugin_load: plugin "cpu" successfully loaded.
[2023-11-23 03:29:32] plugin_load: plugin "cpufreq" successfully loaded.
[2023-11-23 03:29:32] plugin_load: plugin "csv" successfully loaded.
[2023-11-23 03:29:32] plugin_load: plugin "df" successfully loaded.
[2023-11-23 03:29:32] plugin_load: plugin "disk" successfully loaded.
[2023-11-23 03:29:32] plugin_load: plugin "dpdk_telemetry" successfully loaded.
[2023-11-23 03:29:32] plugin_load: plugin "ethstat" successfully loaded.
[2023-11-23 03:29:32] plugin_load: plugin "exec" successfully loaded.
[2023-11-23 03:29:32] plugin_load: plugin "hugepages" successfully loaded.
[2023-11-23 03:29:32] plugin_load: Could not find plugin "intel_pmu" in /opt/collectd/lib/collectd
[2023-11-23 03:29:32] There is configuration for the `intel_pmu' plugin, but the plugin isn't loaded. Please check your configuration.
[2023-11-23 03:29:32] plugin_load: plugin "intel_rdt" successfully loaded.
[2023-11-23 03:29:32] intel_rdt: No core groups configured. Default core groups created.
[2023-11-23 03:29:32] plugin_load: plugin "ipc" successfully loaded.
[2023-11-23 03:29:32] plugin_load: plugin "ipmi" successfully loaded.
[2023-11-23 03:29:32] plugin_load: plugin "irq" successfully loaded.
[2023-11-23 03:29:32] plugin_load: plugin "load" successfully loaded.
Warning: Failed to connect to the agentx master agent ([NIL]):
Error: Parsing the config file failed!
fatal: [192.168.2.67]: FAILED! => {"msg": "template error while templating string: cannot import name 'environmentfilter' from 'jinja2.filters' (/usr/local/lib/python3.10/dist-packages/jinja2/filters.py)\n line 0. String: {{ collectd_plugins | union(['capabilities']) | unique }}"}
Solution: ansible/ansible#77413
pip install jinja2<3.1
Ansible script unable to run collectd container
Solution
cd barometer
ansible-galaxy install -r requirements.yml