Another way instead SNMP - monitoring

Is there an other way of monitoring the system threshold values (RAM, CPU) instead of SNMP?
There should be as simple way as client-server interaction since defining TRAP in SNMP is not easy at the beginning?
Thanks in advance.

Well if you're quering a Windows machine you can use WMI. It is really powerfull and there is also a Linux porting if you are quering from a Linux machine. For example if you want to monitor RAM usage you can execute the following query:
select FreePhysicalMemory from Win32_OperatingSystem
Now if you want more information I need to know your platform system and what language you will use.

Related

is there a simple way to port linux drivers to L4?

I want to build a system over seL4 and I do not want to write the drivers from scratch. I know that L4linux managaged to raise an entire linux kernel, drivers included, over fiasco.OC.
Ideally I want a driver wrapper that would allow me to run linux drivers as standalone tasks over sel4.
I am willing to code much. but I want to avoid reading hardware spec sheets and rewriting drivers.
I last looked at L4 in depth many years ago.
Based on my understanding the answer to your question should be in general a no. The reasons for this are mainly in two aspects: For one is because a fully bloated linux driver needs to take care of too many aspects to integrate into the kernel subsystems. The another reason is the two kernels are different.
If the specific driver you are looking at does not heavily integrate into the kernel subsystems, it may be not a huge task for you to develop a wrapper.

remote data & query to OpenVMS RMS files

What options exist to query RMS files in OpenVMS? The context for the query/access would be for BI & reporting. Currently, a very old FOCUS (Infomation Builders, v. 6.9.8) is in use, and that only from within the native OpenVMS command line shell.
My challenge working within the VMS environment is that output is intended for off-platform consumption & analysis in Excel, R, and Business Objects/Crystal Reports, and Splunk/Hunk. On-platform, I'm limited in what I can use by whatever I can compile &/or run from within my own user space, and the CONNX & similar tools all look to require a server process in the VMS environment.
Edit: I have accepted a comprehensive answer which, given organizational constraints, may not be feasible. My likely path will be to write additional data extractions jobs in FOCUS, and incur the latency & maintenance overhead that goes along with that.
Do you want to the reporting to be on-platform, or off-platform (for example with Excel)?
On-platform, after 30+ years, I still really really like Datatrieve, as mentions in a comment.
This tool was created before SQL became all the rage, so its query language takes a little getting use. It knows show to used just about every RMS option (keys, RFA's for collections, joins, locks and sharing,...)
I'm sure there are multiple commercial tools like Focus you mention, and perhaps the IGH tool Vselect for data extraction, column shuffling, sorting. Some would even recommend OpenVMS native SORT but now you are still in Command Line space.
For a (green screen) windows approach, and command line, perhaps check out the freeware tool DIX: http://www.oooovms.dyndns.org/dix/
Off-platform google for "openVMS odbc" (jdbc). You'll find tools from Connx, Easysoft and "Connect" from the company I work for : Attunity.
Those will allow you to use (windows, linux) tools like DBvizualizer or Excell to get to the OpenVMS sourced data.
Perhaps an interesting hybrid could be Attunity's Connect ( "AIS" ) solution which allows for SQL language RMS file access, but on platform (NAV_UTIL) and off-platform, ("Studio, Nav_util, Oracle db-link, ODBC, JDBC, XML, ... )
For better help, please clearify the query still better. Notably the remark " only from within the native OpenVMS command line shell". What's wrong with that? :-). What alternative access did you envision? fake-gui, DECwindows? Native API? Remote API? ...
Hope this helps some already,
Hein
You could consider writing code in a native language such as C or Java. The company I work for uses Apache, DCL scripts in cgi-bin, and the Userbase 4GL to put an Intranet reporting front-end over an OpenVMS legacy system. As long as you wrap the output in HTML etc Apache will stream it back to a browser which will interpret it accordingly. However, with the impending move to Itanium we're faced with no support for porting Userbase. If anyone knows who holds the source code could they tag a reply onto the end of this. We're looking for a terminal (character mode) reporting solution for Itanium as not all users have PCs. If it weren't for this we'd just slap Crystal over CONNX and call it a day. Many thanks.
Further to my previous answer I'm now evaluating R as a reporting solution, using the RODBC to interrogate the RMS database via CONNX using R's RODBC library.

Communication between luajit2 processes?

I can easily launch two or more separate Lua programs (running on LuaJIT2) on the same machine. But is there any way how these programs can communicate?
The best solution I can come up with is that each program can write a text file that orher program can read. But this is ree-aalllyyy slow solution (even if text files are saved on virtual RAM disks).
I know that thera are zeromq and other things that may help with this... The problem is that instructions are just too long and complicated / confusing (for me at least).
Any recommendations? Especially some working code example would be appreciated, no matter how simple. Even how to pass value of one variable from one LuaJIT2 process to another.
(I'm using Windows XP SP3, if that matters...)
Essentially, they keyword you should be looking for is "IPC" (Inter-Process Communication).
Some of the options you might want to explore:
Shared files
Shared memory
Network Sockets
Pipes (on POSIX systems)
Middleware utilizing one of the above
I can't really say that one of them is the best. The choice would depend on the other factors (needed speed, latency, what do you want to communicate), that you didn't provide. I just hope I pointed you in the right direction.
Also, if ZeroMQ is too complicated, i highly recommend you more reading, rather than looking for even simpler code examples. Lua is "do-it-yourself" language.
If you aren't really stick to Lua, take a look at PyRo (Python Remote Objects). Or you might want to implement something like this yourself.

How to run Erlang based robot? Is it possible to convert it into .hex and run over microcontroller?

I am working on Erlang robotic project. I have made a wallfollower robot program which has two files 1. a C program to communicate with hardware(I think we can not directly use Erlang for this) and 2. Erlang program to call these functions. I want to know where(platforms) I can run this robot.
Is it possible to run this robot over micro-controller (8051 or ARM7) based hardware?
Is it possible to convert Erlang program into C code or directly into .hex file?
You might want to have a look to this project:
http://erlang-embedded.com/
They presented it today at the Erlang Factory Conference in London.
Also, you might want to contact someone from the DMI (formerly DIIT) from Catania, Italy. They spent many years working on Erlang powered robots:
http://eurobot.dmi.unict.it/?p=16
Hope this helps.
To the best of my knowledge:
there isn't any port of Erlang VM over micro-controllers (assuming it would even make sense)
there isn't any way to turn Erlang BEAM code to .hex format: BEAM VM code needs a virtual machine to operate in.
If you want something lightweight with task/threading capability for micro-controllers, why not consider TinyOS ?
The Erlang VM does a lot more than just interpret the erlang bytecode for you. It also handles the interprocess messaging, and does a lot of the heavy lifting that makes erlang so robust and fault tolerant. translating erlang code to machine code would require translating a good portion of the vm code as well. You'd be better off porting the vm itself to a micro-controller and running the apps on that.

Most suitable Unix platform for developing device drivers

I completely newbie in device drivers, so I hope my question is in place, but I need to develop a driver to control some equipment. I was thinking on using Linux as the host OS, but not sure if it is such good idea. I've heard some horror stories about the mess of developing device drivers under Linux. Is there a better alternative under the *Nix world? Or maybe should I check other OSes?
Linux documentation is basically non-existent (similar to other platforms). However, there are a few books which do cover enough information to get started, and the trickier kernel bits can borrowed from other drivers (yay for Open Source).
However, it is one of the easiest current platforms to develop drivers for. There are cleaner models, such as QNX, but that product is sadly near the end (and doesn't support 1/10th as much as hardware as Linux)
What type of device is the driver targetting? Many times you can avoid writing in-kernel drivers (for instance, using libusb in userspace, or the user space IO framework)

Resources