diff options
Diffstat (limited to 'docs/release')
-rw-r--r-- | docs/release/configguide/featureconfig.rst | 8 | ||||
-rw-r--r-- | docs/release/configguide/postinstall.rst | 74 | ||||
-rw-r--r-- | docs/release/release-notes/notes/add_unix_sock-e29efe16156c5c8e.yaml | 11 | ||||
-rw-r--r-- | docs/release/userguide/feature.userguide.rst | 191 | ||||
-rw-r--r-- | docs/release/userguide/installguide.docker.rst | 8 | ||||
-rw-r--r-- | docs/release/userguide/installguide.oneclick.rst | 6 |
6 files changed, 148 insertions, 150 deletions
diff --git a/docs/release/configguide/featureconfig.rst b/docs/release/configguide/featureconfig.rst new file mode 100644 index 00000000..f9e197b7 --- /dev/null +++ b/docs/release/configguide/featureconfig.rst @@ -0,0 +1,8 @@ +.. This work is licensed under a Creative Commons Attribution 4.0 International License. +.. http://creativecommons.org/licenses/by/4.0 + +============================= +Barometer Configuration Guide +============================= +Information on configuring Barometer are included in the :ref:`feature userguide <feature-userguide>`. + diff --git a/docs/release/configguide/postinstall.rst b/docs/release/configguide/postinstall.rst index 7424cec7..dad56b99 100644 --- a/docs/release/configguide/postinstall.rst +++ b/docs/release/configguide/postinstall.rst @@ -1,3 +1,5 @@ +.. _barometer-postinstall: + .. This work is licensed under a Creative Commons Attribution 4.0 International License. .. http://creativecommons.org/licenses/by/4.0 @@ -10,6 +12,14 @@ This document describes briefly the methods of validating the Barometer installa Automated post installation activities -------------------------------------- +.. This section will include how to run plugin validation tests, when they are created/merged. +.. This section will also include some troubleshooting and debugging information. + +.. note:: This section is outdated and needs to be updated. + +.. TODO: Update this section; post-installation/verification shouldn't be in + the config guide. It should be in testing. + The Barometer test-suite in Functest is called ``barometercollectd`` and is part of the ``Features`` tier. Running these tests is done automatically by the OPNFV deployment pipeline on the supported scenarios. The testing consists of basic verifications that each plugin is functional per their @@ -19,7 +29,65 @@ default configurations. Inside the Functest container, the detailed results can Barometer post configuration procedures --------------------------------------- The functionality for each plugin (such as enabling/disabling and configuring its capabilities) -is controlled as described in the User Guide through their individual ``.conf`` file located in -the ``/etc/collectd/collectd.conf.d/`` folder on the compute node(s). In order for any changes to -take effect, the collectd service must be stopped and then started again. +is controlled as described in the :ref:`User Guide <barometer-userguide>` through their individual +``.conf`` file located in the ``/etc/collectd/collectd.conf.d/`` on the host(s). In order for any +changes to take effect, the collectd service must be stopped and then started again. + +Plugin verification +~~~~~~~~~~~~~~~~~~~ +Once collectd has been installed and deployed, you will see metrics from most plugins immediately. However, in some cases, you may want to verify that the configuration is correct and that the plugion is functioning as intended (particularly during development, or when testing an experimental version). The following sections provide some verification steps to make sure the plugins are working as expected. + +MCElog +^^^^^^ +On the collectd host, you can induce an event monitored by the plugins; e.g. a corrected memory error: + +.. code:: bash + + $ git clone https://git.kernel.org/pub/scm/utils/cpu/mce/mce-inject.git + $ cd mce-inject + $ make + $ modprobe mce-inject + +Modify the test/corrected script to include the following: + +.. code:: bash + + CPU 0 BANK 0 + STATUS 0xcc00008000010090 + ADDR 0x0010FFFFFFF + +Inject the error: + +.. code:: bash + + $ ./mce-inject < test/corrected + +.. TODO: How to check that the event was propogated to collectd + +.. _barometer-docker-verification: + +Barometer post installation verification on barometer-collectd container +------------------------------------------------------------------------ + +The following steps describe how to perform simple "manual" testing of the Barometer components +after :ref:`successfully deploying the barometer-collectd container<barometer-docker-userguide>`: + +1. Connect to any compute node and ensure that the collectd container is running. + + .. code:: bash + + root@host2:~# docker ps | grep collectd + + You should see the container ``opnfv/barometer-collectd`` running. + +2. Use a web browser to connect to Grafana at ``http://<serverip>:3000/``, using the hostname or + IP of your server and port 3000. Log in with admin/admin. You will see ``collectd`` + InfluxDB database in the ``Data Sources``. Also, you will notice metrics coming in the several + dashboards such as ``CPU Usage`` and ``Host Overview``. + +For more details on the Barometer containers, Grafana and InfluxDB, please refer to +the following documentation links: + +`Barometer Containers wiki page <https://wiki.opnfv.org/display/fastpath/Barometer+Containers#BarometerContainers-barometer-collectdcontainer>`_ +:ref:`Barometer Docker install guide<barometer-docker-userguide>` diff --git a/docs/release/release-notes/notes/add_unix_sock-e29efe16156c5c8e.yaml b/docs/release/release-notes/notes/add_unix_sock-e29efe16156c5c8e.yaml new file mode 100644 index 00000000..7ba83afe --- /dev/null +++ b/docs/release/release-notes/notes/add_unix_sock-e29efe16156c5c8e.yaml @@ -0,0 +1,11 @@ +release_summary: > + Added unixsock plugin to one-click install. +ansible: + - | + Added `unixsock <https://collectd.org/documentation/manpages/collectd-unixsock.5.shtml>`_ + plugin to one-click install, which allows the user to interact with collectd using the + ``collectdctl`` command in the bar-collectd-* containers. + The unixsock plugin is useful for debugging issues in collectd, and can + be used to verify that metrics are being collected without having to + create CSV files or log into the container. + diff --git a/docs/release/userguide/feature.userguide.rst b/docs/release/userguide/feature.userguide.rst index c76e79a5..02f8bdaa 100644 --- a/docs/release/userguide/feature.userguide.rst +++ b/docs/release/userguide/feature.userguide.rst @@ -1,3 +1,5 @@ +.. _feature-userguide: + .. This work is licensed under a Creative Commons Attribution 4.0 International License. .. http://creativecommons.org/licenses/by/4.0 .. (c) Anuket and others @@ -212,48 +214,18 @@ Example of specifying custom paths to DPDK headers and libraries: This will install collectd to default folder ``/opt/collectd``. The collectd configuration file (``collectd.conf``) can be found at ``/opt/collectd/etc``. To configure the dpdkstats plugin you need to modify the configuration file to -include: - -.. code:: bash - - LoadPlugin dpdkstat - <Plugin dpdkstat> - Coremask "0xf" - ProcessType "secondary" - FilePrefix "rte" - EnabledPortMask 0xffff - PortName "interface1" - PortName "interface2" - </Plugin> +include (uncomment lines as appropriate): +.. literalinclude:: ../../../src/collectd/collectd_sample_configs/dpdkstat.conf + :start-at: LoadPlugin + :language: bash To configure the dpdkevents plugin you need to modify the configuration file to -include: +include (uncomment lines as appropriate): -.. code:: bash - - <LoadPlugin dpdkevents> - Interval 1 - </LoadPlugin> - - <Plugin "dpdkevents"> - <EAL> - Coremask "0x1" - MemoryChannels "4" - FilePrefix "rte" - </EAL> - <Event "link_status"> - SendEventsOnUpdate false - EnabledPortMask 0xffff - SendNotification true - </Event> - <Event "keep_alive"> - SendEventsOnUpdate false - LCoreMask "0xf" - KeepAliveShmName "/dpdk_keepalive_shm_name" - SendNotification true - </Event> - </Plugin> +.. literalinclude:: ../../../src/collectd/collectd_sample_configs/dpdkevents.conf + :start-at: LoadPlugin + :language: bash .. note:: Currently, the DPDK library doesn’t support API to de-initialize the DPDK resources allocated on the initialization. It means, the collectd @@ -352,16 +324,9 @@ configuration file (``collectd.conf``) can be found at ``/opt/collectd/etc``. To configure the hugepages plugin you need to modify the configuration file to include: -.. code:: bash - - LoadPlugin hugepages - <Plugin hugepages> - ReportPerNodeHP true - ReportRootHP true - ValuesPages true - ValuesBytes false - ValuesPercentage false - </Plugin> +.. literalinclude:: ../../../src/collectd/collectd_sample_configs/hugepages.conf + :start-at: LoadPlugin + :language: bash For more information on the plugin parameters, please see: https://github.com/collectd/collectd/blob/main/src/collectd.conf.pod @@ -421,31 +386,12 @@ configuration file (``collectd.conf``) can be found at ``/opt/collectd/etc``. To configure the PMU plugin you need to modify the configuration file to include: -.. code:: bash - - <LoadPlugin intel_pmu> - Interval 1 - </LoadPlugin> - <Plugin "intel_pmu"> - ReportHardwareCacheEvents true - ReportKernelPMUEvents true - ReportSoftwareEvents true - Cores "" - </Plugin> - -If you want to monitor Intel CPU specific CPU events, make sure to enable the -additional two options shown below: +.. literalinclude:: ../../../src/collectd/collectd_sample_configs/intel_pmu.conf + :start-at: LoadPlugin + :language: bash -.. code:: bash - - <Plugin intel_pmu> - ReportHardwareCacheEvents true - ReportKernelPMUEvents true - ReportSoftwareEvents true - EventList "$HOME/.cache/pmu-events/GenuineIntel-6-2D-core.json" - HardwareEvents "L2_RQSTS.CODE_RD_HIT,L2_RQSTS.CODE_RD_MISS" "L2_RQSTS.ALL_CODE_RD" - Cores "" - </Plugin> +If you want to monitor Intel CPU specific CPU events, make sure to uncomment the +``EventList`` and ``HardwareEvents`` options above. .. note:: If you set XDG_CACHE_HOME to anything other than the variable above - you will need to modify @@ -513,14 +459,9 @@ configuration file (``collectd.conf``) can be found at ``/opt/collectd/etc``. To configure the RDT plugin you need to modify the configuration file to include: -.. code:: bash - - <LoadPlugin intel_rdt> - Interval 1 - </LoadPlugin> - <Plugin "intel_rdt"> - Cores "" - </Plugin> +.. literalinclude:: ../../../src/collectd/collectd_sample_configs/rdt.conf + :start-at: LoadPlugin + :language: bash For more information on the plugin parameters, please see: https://github.com/collectd/collectd/blob/main/src/collectd.conf.pod @@ -726,18 +667,9 @@ configuration file (``collectd.conf``) can be found at ``/opt/collectd/etc``. To configure the mcelog plugin you need to modify the configuration file to include: -.. code:: bash - - <LoadPlugin mcelog> - Interval 1 - </LoadPlugin> - <Plugin mcelog> - <Memory> - McelogClientSocket "/var/run/mcelog-client" - PersistentNotification false - </Memory> - #McelogLogfile "/var/log/mcelog" - </Plugin> +.. literalinclude:: ../../../src/collectd/collectd_sample_configs/mcelog.conf + :start-at: LoadPlugin + :language: bash For more information on the plugin parameters, please see: https://github.com/collectd/collectd/blob/main/src/collectd.conf.pod @@ -881,35 +813,19 @@ Clone and install the collectd ovs plugin: This will install collectd to default folder ``/opt/collectd``. The collectd configuration file (``collectd.conf``) can be found at ``/opt/collectd/etc``. -To configure the OVS events plugin you need to modify the configuration file to include: +To configure the OVS events plugin you need to modify the configuration file +(uncommenting and updating values as appropriate) to include: -.. code:: bash - - <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> +.. literalinclude:: ../../../src/collectd/collectd_sample_configs/ovs_events.conf + :start-at: LoadPlugin + :language: bash To configure the OVS stats plugin you need to modify the configuration file -to include: +(uncommenting and updating values as appropriate) to include: -.. code:: bash - - <LoadPlugin ovs_stats> - Interval 1 - </LoadPlugin> - <Plugin ovs_stats> - Port "6640" - Address "127.0.0.1" - Socket "/var/run/openvswitch/db.sock" - Bridges "br0" - </Plugin> +.. literalinclude:: ../../../src/collectd/collectd_sample_configs/ovs_stats.conf + :start-at: LoadPlugin + :language: bash For more information on the plugin parameters, please see: https://github.com/collectd/collectd/blob/main/src/collectd.conf.pod @@ -942,12 +858,11 @@ to include: .. note:: Exec plugin configuration has to be changed to use appropriate user before starting collectd service. -ovs_pmd_stat.sh calls the script for OVS PMD stats application with its argument: - -.. code:: bash +``ovs_pmd_stat.sh`` calls the script for OVS PMD stats application with its argument: - sudo python /usr/local/src/ovs_pmd_stats.py" "--socket-pid-file" - "/var/run/openvswitch/ovs-vswitchd.pid" +.. literalinclude:: ../../../src/collectd/collectd_sample_configs/ovs_pmd_stats.sh + :start-at: python + :language: bash SNMP Agent Plugin ^^^^^^^^^^^^^^^^^ @@ -1275,29 +1190,23 @@ Additional useful plugins **Exec Plugin** : Can be used to show you when notifications are being generated by calling a bash script that dumps notifications to file. (handy -for debug). Modify /opt/collectd/etc/collectd.conf: - -.. code:: bash +for debug). Modify ``/opt/collectd/etc/collectd.conf`` to include the +``NotificationExec`` config option, taking care to add the right directory path +to the ``write_notification.sh`` script: - LoadPlugin exec - <Plugin exec> - # Exec "user:group" "/path/to/exec" - NotificationExec "user" "<path to barometer>/barometer/src/collectd/collectd_sample_configs/write_notification.sh" - </Plugin> +.. literalinclude:: ../../../src/collectd/collectd_sample_configs/exec.conf + :start-at: LoadPlugin + :emphasize-lines: 6 + :language: bash -write_notification.sh (just writes the notification passed from exec through -STDIN to a file (/tmp/notifications)): - -.. code:: bash +``write_notification.sh`` writes the notification passed from exec through +STDIN to a file (``/tmp/notifications``): - #!/bin/bash - rm -f /tmp/notifications - while read x y - do - echo $x$y >> /tmp/notifications - done +.. literalinclude:: ../../../src/collectd/collectd_sample_configs/write_notification.sh + :start-at: rm -f + :language: bash -output to /tmp/notifications should look like: +output to ``/tmp/notifications`` should look like: .. code:: bash diff --git a/docs/release/userguide/installguide.docker.rst b/docs/release/userguide/installguide.docker.rst index 20836af7..38d467a4 100644 --- a/docs/release/userguide/installguide.docker.rst +++ b/docs/release/userguide/installguide.docker.rst @@ -1,7 +1,7 @@ +.. _barometer-docker-userguide: .. This work is licensed under a Creative Commons Attribution 4.0 International License. .. http://creativecommons.org/licenses/by/4.0 .. (c) Anuket and others -.. _barometer-docker-userguide: ===================================== Anuket Barometer Docker Install Guide @@ -31,7 +31,9 @@ For steps to build and run VES and Kafka images please see section `Build and Ru For overview of running VES application with Kafka please see the :ref:`VES Application User Guide <barometer-ves-userguide>` -For an alternative installation method using ansible, please see the :ref:`Barometer One Click Install Guide <barometer-oneclick-userguide>`. +For an alternative installation method using ansible, please see the :ref:`Barometer One Click Install Guide <barometer-oneclick-userguide>`. + +For post-installation verification and troubleshooting, please see the :ref:`Barometer post installation guide <barometer-postinstall>`. Barometer Docker Images Description ----------------------------------- @@ -93,7 +95,7 @@ The Barometer project's VES application and Kafka docker images are based on a C docker image has a dependancy on `Zookeeper <https://zookeeper.apache.org/>`_. Kafka must be able to connect and register with an instance of Zookeeper that is either running on local or remote host. Kafka recieves and stores metrics recieved from Collectd. VES application pulls latest metrics from Kafka -which it normalizes into VES format for sending to a VES collector. Please see details in +which it normalizes into VES format for sending to a VES collector. Please see details in :ref:`VES Application User Guide <barometer-ves-userguide>` Installing Docker diff --git a/docs/release/userguide/installguide.oneclick.rst b/docs/release/userguide/installguide.oneclick.rst index 9007874c..d236b5b1 100644 --- a/docs/release/userguide/installguide.oneclick.rst +++ b/docs/release/userguide/installguide.oneclick.rst @@ -382,7 +382,7 @@ List of available tags: ``contextswitch``, ``cpu``, ``cpufreq``, ``df``, ``disk,`` ``ethstat``, ``ipc``, ``irq``, ``load``, ``memory``, ``numa``, ``processes``, ``swap``, ``turbostat``, ``uptime``, ``exec``, ``hugepages``, ``ipmi``, ``kafka``, - ``logfile``, ``mcelogs``, ``network``, ``pmu``, ``rdt``, ``rrdtool``, - ``snmp``, ``syslog``, ``virt``, ``ovs_stats``, ``ovs_events``, ``uuid``, - ``dpdkevents``, ``dpdkstat``, ``dpdk_telemetry``. + ``logfile``, ``mcelog``, ``network``, ``pmu``, ``rdt``, ``rrdtool``, + ``snmp``, ``syslog``, ``unixsock``, ``virt``, ``ovs_stats``, ``ovs_events``, + ``uuid``, ``dpdkevents``, ``dpdkstat``, ``dpdk_telemetry``. |