The eagle-eyed among us may have noticed that the “What We’re Working On” post for Network Performance Monitor (NPM) included this little nugget:
- ARM Linux® Agent - Linux Agent for ARM-based devices such as Raspberry Pi®
Well, we’re delighted to announce that with the release of NPM 12.2, you can now monitor ARM-based devices with NPM.
What exactly are ARM-based devices?
ARM (Advanced RISC Machine) processors are a family of RISC-based processors, which are designed and licensed for manufacturing by ARM Holdings.
I won’t get too bogged down in the differences between RISC (Reduced Instruction Set Computer) vs. CISC (Complex Instruction Set Computer) processors. At a very basic level, one processor type has a smaller and simpler set of instructions than the other. (This becomes quite a philosophical debate, which is why I won’t get into it, but a lot of RISC implementations are now more complex than a lot of CISC processors!)
While both types of computer architectures are common (RISC ISAs include MIPS, PowerPC®, and SPARC®, while CISC can cover the x-86 and 8080 implementations, as well as Motorola® 6800 & 68000), what I really want to focus in on is practical implementations of ARM devices.
The Internet of Things and Raspberry Pi
ARM processors are now almost ubiquitous in not only consumer electronics (vendors ranging from Apple®, Google®, Samsung®, and Sony® have all utilized ARM processors in their various smartphones, tablets, and gaming consoles), but can also be deployed in anything from sensors and cash machines, to coffee pots and children’s toys.
But from an IT professional’s perspective (or someone whose background includes computer engineering and cloud computing, as well as working with various industrial technologies in manufacturing), the main implementation of interest to me is Raspberry Pi.
If you have made it this far, I’ll assume you at least know of the single-chip computer that is available for only a few euros/dollars/your currency of choice. You may also know that it was originally (and still is excellent for) teaching kids about computers, as well as various hobbyist-type uses (such as converting an old radio into a Spotify®-playing boom box, remote-controlling the office coffee pot, or even just a Tweeting implementation for Pi Day )
However, I see many other different use cases for a Raspberry Pi, which I like to categorize into three areas:
- Something like a lightweight Postfix mail server
- Apache®®web servers
- DNS/DHCP servers
- Or even a Docker®
- Some customers use Raspberry Pi as a cheap way to have an always-on NOC display of your SolarWinds® Orion® dashboard
- Next on my personal list is an “On Air” sign
- By combining with a device like an Arduino™, you can easily control various servos, allowing not only displays, but for physical actions to be taken
However, since I’ve worked in manufacturing, I see some of the largest gains in retrofitting a Raspberry Pi to industrial equipment, to cheaply and easily create an Internet of Things (IoT) deployment of various sensors. Again, by combining with Arduinos, your networked Raspberry Pi can connect to various sensors, including:
- PIR Motion
- And motion detectors and accelerometers
(Just to name a few.)
Of course, if you do have Raspberry Pi devices dotted around you network, you will of course want to monitor them, which is where the new ARM agent comes in.
How do I deploy the ARM agent?
The good news is that the same approaches for deploying the standard Linux agent will also work for the ARM agent.
We have a number of videos that cover different ways to deploy the agent, but personally, I like to just “Download Agent Software.” Then, for the “Linux Agent,” “Manually Install by Downloading Files.”
You can select the “Raspbian Jessie 8.x” distro (in my lab I’m running Raspbian 9 (stretch), and it works fine), and generate and copy the script, before simply pasting into your SSH® session.
And that’s it! Within a few minutes, your Raspberry Pi should be registered as an Orion node.
What if I have the Server & Application Monitor (SAM) deployed, can I monitor applications on my Raspberry Pi?
The short answer is that the SAM team is working hard on the next release, and that will include the ARM agent. However, there’s good news for customers who own SAM, along with other products running the latest version of the SolarWinds Orion Core (2017.3): you can actually utilize the new ARM agent.
So, for example, if you have SAM 6.4 running on a server that also includes the latest version of NPM (12.2), then the underlying core version will also have been updated. This means that you can now assign SAM templates to the ARM agents, as opposed to monitoring those devices with just SNMP. (You could also substitute out NPM 12.2 for other products that include agents running on the 2017.3 core version, such as Virtualization Manager (VMAN) 8.0 or the VOIP & Network Quality Manager (VNQM) 4.4.1).
What can I monitor from SAM?
The same component monitor types that run on the standard Linux agent will also run on the ARM agent:
- Process Monitor
- Linux/UNIX® Script Monitor
- Nagios® Script Monitor
- JMX Monitor
- SNMP Monitor
- ODBC User Experience Monitor
- Oracle User Experience Monitor
- TCP Port Monitor
- Tomcat Server Monitor
So, templates like the Linux Memory, CPU, and disk templates that ship with SAM will work out of the box. You can even deploy Docker on your Raspberry Pi, spin up a Dockerized verion of Netflix Chaos Monkey and monitor the whole lot from SAM!
And that’s it. With a few simple steps, you can be up and running with the new ARM agent, bringing the same monitoring power to your ARM devices as your other enterprise platforms.
We would love to hear about your Raspberry Pi use cases for the Orion agent. Please share in the comments below!