AnyCollect  1.1.2

This project aims to collect metrics by reading files or executing commands, and parsing their contents/outputs with regular expressions. It is designed to work with Snap Telemetry.

This repo is organized as the following:

The Snap plugins require a special version of the C++ Snap plugin library.

Refer to USAGE.md for more information on how to use these programs.

AnyCollect's documentation is available on GitHub pages.

Readme Contents

Getting started

Operating systems

All OSs currently supported by plugin:

  • Linux/amd64

System Requirements

A C++ 17 compiler such as GCC 7 is required.

The libraries and standalone interfaces do not have additional dependencies. The Snap plugin interface requires the C++ Snap plugin library and its dependencies, which should be installed on the system first. AnyCollect uses static linking of those libraries for the programs to be portable.

Refer to the DEPENDENCIES.md file for more information.

Compiling

If the Snap and its dependencies are built in the /usr/local/lib, execute ldconfig /usr/local/lib/ to allow the ld linker to look for installed libraries there.

Then you can compile with CMake:

cd AnyCollect
mkdir -p build
cd build
cmake .. -DCMAKE_BUILD_TYPE=Release
make
make install

Other build configured types are Debug, Release, and RelWithDebInfo (to profile with Linux Perf or GPerfTools).

Compiling dependencies

The buildall.sh script can be used to build AnyCollect Snap Plugin library and its dependencies automatically. It can either download the dependencies from GitHub or use local ones in the third_party folder.

Configuration and Usage

Refer to USAGE.md. Please be careful about the metric instantiation rules detailed in this usage file.

Documentation

The documentation can be built with Doxygen from the build directory. It is installed in doc/html.

cd AnyCollect
mkdir -p build
cd build
cmake .. -DCMAKE_BUILD_TYPE=Release
make doc
make install

Community Support

This repository is one of many plugins in Snap, a powerful telemetry framework. The full project is at http://github.com/intelsdi-x/snap. To reach out on other use cases, visit Slack.

License

Snap, along with this plugin, is an Open Source software released under the Apache 2.0 [License](LICENSE).

Acknowledgements