Giter Site home page Giter Site logo

concertim-metric-reporting-daemon's Introduction

Alces Concertim Metric Reporting Daemon

Overview

Concertim Metric Reporting Daemon (ct-metric-reporting-daemon) provides a HTTP API for metrics to be reported to Concertim.

The reported metrics are periodically processed by Metric Reporting Daemon. The processing creates various summaries of the reported metrics and saves them in RRD files.

The metrics and the associated views are made available over a HTTP API.

Quick start

  1. Clone the repository
    git clone https://github.com/openflighthpc/concertim-metric-reporting-daemon.git
  2. Build the docker image
    docker build --network=host --tag concertim-metric-reporting-daemon:latest .
  3. Start the docker container
    docker run -d --name concertim-metric-reporting-daemon \
    	--network=host \
    	concertim-metric-reporting-daemon

Use Concertim OpenStack Service to collect and report metrics and use Concertim Visualisation App to view the reported metrics.

Building the docker image

Concertim Metric Reporting Daemon is intended to be deployed as a Docker container. There is a Dockerfile in this repo for building the image.

  1. Clone the repository
    git clone https://github.com/openflighthpc/concertim-metric-reporting-daemon.git
  2. Build the docker image
    docker build --network=host --tag concertim-metric-reporting-daemon:latest .

Configuration

Peristent RRD files

The metrics reported to Metric Reporting Daemon are stored in RRD files. To ensure that the RRD files outlive the container a volume should be used. The example below uses the host directory /var/lib/metric-reporting-daemon/rrds.

sudo mkdir -p /var/lib/metric-reporting-daemon/rrds

Mount the directory /var/lib/metric-reporting-daemon/rrds to /var/lib/metric-reporting-daemon/rrds when starting the docker container.

docker run --name concertim-metric-reporting-daemon \
    --network=host \
    --volume /var/lib/metric-reporting-daemon/rrds:/var/lib/metric-reporting-daemon/rrds \
    concertim-metric-reporting-daemon

Configuration file

You can optionally, copy the configuration file to the host, make changes to it and mount it to the container.

sudo cp -a config/config.prod.yml /etc/metric-reporting-daemon/config.yml
$EDITOR /etc/metric-reporting-daemon/config.yml

Mount the configuration file to /opt/concertim/etc/metric-reporting-daemon/config.yml when starting the container.

docker run --name concertim-metric-reporting-daemon \
    --network=host \
    --volume /etc/metric-reporting-daemon/config.yml:/opt/concertim/etc/metric-reporting-daemon/config.yml \
    concertim-metric-reporting-daemon

Usage

Once the docker image has been built, the RRD persistent storage created and the config file copied to the host, the container can be started with the following command.

docker run -d --name concertim-metric-reporting-daemon \
    --network=host \
    --volume /var/lib/metric-reporting-daemon/rrds/:/var/lib/metric-reporting-daemon/rrds/ \
    --volume /etc/metric-reporting-daemon/config.yml:/opt/concertim/etc/metric-reporting-daemon/config.yml \
    concertim-metric-reporting-daemon

HTTP API

See the usage docs for details on the HTTP API for reporting and querying metrics.

Development

See the development docs for details on development and getting started with development.

Deployment

Concertim Metric Reporting Daemon is deployed as part of the Concertim appliance using the Concertim ansible playbook.

Contributing

Fork the project. Make your feature addition or bug fix. Send a pull request. Bonus points for topic branches.

Read CONTRIBUTING.md for more details.

Copyright and License

Eclipse Public License 2.0, see LICENSE.txt for details.

Copyright (C) 2024-present Alces Flight Ltd.

This program and the accompanying materials are made available under the terms of the Eclipse Public License 2.0 which is available at https://www.eclipse.org/legal/epl-2.0, or alternative license terms made available by Alces Flight Ltd - please direct inquiries about licensing to [email protected].

Concertim Metric Reporting Daemon is distributed in the hope that it will be useful, but WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. See the Eclipse Public License 2.0 for more details.

concertim-metric-reporting-daemon's People

Contributors

benarmston avatar dependabot[bot] avatar timalces avatar

Watchers

Mark J. Titorenko avatar  avatar Steve Norledge avatar

concertim-metric-reporting-daemon's Issues

Check that metric TTL is respected

  • not something new to the branch, and could be my mistake, but does the TTL functionality work correctly? I've tried altering the value in the example scripts but doesn't seem to have any obvious impact

Originally posted by @timalces in #55 (comment)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.