Coder Social home page Coder Social logo

multa-metrics / multa-metrics-agent Goto Github PK

View Code? Open in Web Editor NEW
1.0 2.0 0.0 76 KB

IoT Agent for system metrics collection and exporting. Runs as a Docker Container and uses the AWS IoT Device SDK to publish results to AWS IoT Cloud.

License: MIT License

Makefile 1.97% Dockerfile 6.35% Python 91.48% Shell 0.20%
aws iot aws-iot aws-iot-device-sdk-python telemetry-collection system-metrics

multa-metrics-agent's Introduction

multa-metrics-agent

  • Includes agent code that will deploy in devices. Initially as a Docker container that can be deployed in any Unix-like OS, needs to provide:

Usage

Dockerfile

  • Allows to build your own custom agent with the commands:

export VERSION=### && make build && make tag

docker run

  • Allows to run Multa Metrics Agent using docker CLI using the command:

docker run -e DEVICE_NAME=${DEVICE_NAME} -e DEVICE_CONFIGURATION_URL=https://cvm-agent.dev.multa.io/multa-agent/ --net=host --restart always --privileged -d --name multa-agent 112646120612.dkr.ecr.us-east-1.amazonaws.com/multa-agent:0.0.1

docker-compose.yml file

  • Allows to run Multa Metrics Agent using docker-compose command: docker-compose up

Other deployment methods

Development

  • If the container has not been run:
    make build && make tag && {RUN COMMAND}

  • After adding some code, for local testing execute if the container is running:
    docker container stop multa-agent && docker container rm multa-agent && make build && make tag && {RUN COMMAND}

  • To debug code running in the container:
    docker logs --tail 100 multa-agent

  • To cleanup container completely run:
    docker container stop multa-agent && docker container rm multa-agent && docker volume rm device-data

Next features

  • Will be updated later to include AWS IoT Device Defender
  • Can be later updated ot include AWS Greengrass and make it a truly reporting agent/gateway

multa-metrics-agent's People

Contributors

u93 avatar

Stargazers

 avatar

Watchers

 avatar  avatar

multa-metrics-agent's Issues

Add Internet Connection stability handler/tests

Validate how connectivity works when there are changes to:

  • Network Settings
  • DNS Settings

Validate how connectivity works when there are changes to the Internet Connection when:

  • Internet is down for more than 25 minutes and then resumed
  • Device is suspended
  • Device is rebooted
  • Device runs for more than a week

Add Manager Container

Change Multa Agent from docker-compose and instead use manager container. Manager container should allow:

  • Start (download) latest Multa Agent using data passed as Environment Variables.
  • Add remote controls to Multa Agent Start/Stop/Restart/Remove based on MQTT (API???).
  • Add default behavior to download/start Multa Agent if it's not found.
  • Add default behavior to start Multa Agent if it's stopped.
  • Add version control for Agent Container

Add Websocket Server

Add a WebSocket server that runs in the device localhost by default. Host and port should be customizable. Namespaces should be customizable.

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.