Giter Club home page Giter Club logo

Comments (13)

jeffaco avatar jeffaco commented on July 3, 2024

Note that OMS-Agent is dependent on Ruby, and I have no idea if Ruby runs on the Rasberry Pi.

Our primary dependencies are Ruby and Fluentd (Fluentd runs on top of Ruby), as well as a little bit of shell code (not much) and OpenSSL dependencies (for security).

If you can get Ruby and Fluentd going, I'll try and help you out the rest of the way!

from oms-agent-for-linux.

webash avatar webash commented on July 3, 2024

I have zero experience with ruby, but this article seems to suggest its possible. If I get some time tonight, I'll see if I can get Ruby installed. Any suggestion for a hello-world-type script that would determine whether I have Ruby running sufficiently?

from oms-agent-for-linux.

andyleejordan avatar andyleejordan commented on July 3, 2024

Fluentd supports Raspberry Pi devices (at least those running Raspbian). At that point, they're not much different from a normal Debian machine, which means it will have OpenSSL as well.

We actually used Fluentd on a Pi at OneWeek to aggregate sniffed packets of some archaic protocols.

from oms-agent-for-linux.

webash avatar webash commented on July 3, 2024

Great! I'll install Ruby and Fluentd tonight... what would I need to do from there to get OMS installed/running?

from oms-agent-for-linux.

andyleejordan avatar andyleejordan commented on July 3, 2024

That's a good question. @jeffaco do you know where OMS's build-from-source instructions are? I couldn't find them.

from oms-agent-for-linux.

jeffaco avatar jeffaco commented on July 3, 2024

It turns out that you don't need to install Ruby as such, or Fluentd as such. We build it as part of the OMS build (we own the packages, so we build them and install in our directory). This means that the kits that we provide won't work on the Raspberry Pi, as our kits are based on the PC architecture.

You need to build from source. And, unfortunately, we haven't posted instructions on how to build from source because the bits we need aren't fully open source yet. Project Build-OMS-Agent-for-Linux is actually a superproject to grab all of our dependencies so you can build, but a few of those are still private pending legal approval to open them up.

I've been asking @agup006 about this (he's talking to legal) every few days.

Anurag, what do the lawyers have to say? What do we tell folks that need to be able to build?

If worse comes to worse, you could actually install Ruby and Fluentd, and then take our fluentd plugins and make minor edits (path and stuff) to make them work in that environment. But if you did that, you wouldn't have our machine stats. All you'd really be able to do is log things, I think (no cpu statistics, for example).

What, exactly, would you like to do with the Raspberry Pi? What sort of information do you want to log?

from oms-agent-for-linux.

webash avatar webash commented on July 3, 2024

I'm looking to provision Raspberry Pis as a 'micro-server' in low power/commodity environments, but I still need to ensure the device is online, performant and be able to collate its error messages to somewhere useful. OMS is the first service I turned to for this since I have a heavily Microsoft infrastructure background. Plus, this trial with Raspberry Pi should give me the insight I need to be able to recommend it to my clients at work; or possibly even use it for our Managed Services offering ourselves.

from oms-agent-for-linux.

jeffaco avatar jeffaco commented on July 3, 2024

I'd like to better understand exactly what you're looking for from OMS-Agent on the Raspberry Pi.

You say that you need to ensure that the device:

  • Is online
  • Is Performant
  • Is able to collate its error messages to somewhere useful

By "performant", you mean that do you do want statistical information (memory & cpu statistics) uploaded to OMS? Or were you after something else here?

As far as "is online", OMS won't give real-time information on that. But you could deduce issues in this area by lack of data being collected, but only if you're collecting data at some regular interval (like via performance statistics). Is this what you were looking for, or did you want something different?

The last part (able to collate its error messages), that's much easier, and you wouldn't need to build us from source for that. You could just install our plugins on top of fluentd itself (without installing our version of it).

Let me know the answers to my questions, and I can advise you further. Thanks.

from oms-agent-for-linux.

webash avatar webash commented on July 3, 2024

You're correct on the definition of performant - I need to have historical statistical data showing CPU and memory usage over time.

Deducing that an object is offline simply by a lack of data is enough for now, but ideally 'missed heartbeat' alerts would be useful.

The latter (error messages) is the most useful to me, so if there's a way I can proceed to achieving that first, then I'm all ears 👂

from oms-agent-for-linux.

jeffaco avatar jeffaco commented on July 3, 2024

For the error messages, what I would suggest is compiling both Ruby and fluentd for the Raspberry Pi, and getting both of those running on the platform. The fluentd project has some basic consistency tests that you can run to make sure that it's basically operating correctly. Once that is done, then you'll need to:

  1. Copy our plugins to the fluentd plugin directory. These are available on GitHub,
  2. Get a fluentd configuration file in place. Start with something similar to what runs on Linux on our OMS agent, but you'll need to change paths since you'll likely be running out of it's default directories,
  3. Try running it. I'd expect to see errors, if you did everything properly, because you weren't on-boarded. If you get that far, you're doing great!
  4. You'll need to manually onboard. This is done via omsadmin.sh. Edit that script due to changes in paths, then run it via the -w <workspace id> -s <shared key> qualifiers. You'll need to get the workspace_id and shared_key from the OMS website.

Note that what we provide streamlines all of this into a nice shell bundle that you can install. And we do provide other stuff (performance stats, etc). But for error logging, that's all you need.

I can answer specific questions if you get stuck somewhere and want to spend the time figuring it out. Your work will likely not be in vein, as you may need to deal with some of these issues anyway even if you compile our stuff from source.

@agup006, any progress on open source efforts?

from oms-agent-for-linux.

jeffaco avatar jeffaco commented on July 3, 2024

Have we answered your questions? I'd like to close this issue if we have. You can reopen it later if further questions come up relating to this.

Please let us know, thanks!

from oms-agent-for-linux.

webash avatar webash commented on July 3, 2024

Unfortunately that's a bit more involved than I can be with this at the moment. But I'm hoping to get the agent rolled out on some Windows machines instead soon. I'll come back to the RPi issue specifically when I have some better time to thrash it out. Thanks for your help so far and let's hope you're able to Open Source the other bits that prevent full build/deploy on non AMD64 architectures. :)

from oms-agent-for-linux.

jeffaco avatar jeffaco commented on July 3, 2024

I'm going to close this issue out. If you have time to look into this more closely, and if you need more help, please feel free to re-open this issue with specific questions. Thanks.

from oms-agent-for-linux.

Related Issues (20)

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.