Monitoring Liebert DS CRAC via Modbus

This support forum board is for support questions relating to Nagios XI, our flagship commercial network monitoring solution.
Locked
cfgriffith
Posts: 83
Joined: Tue Jan 15, 2013 4:22 pm

Monitoring Liebert DS CRAC via Modbus

Post by cfgriffith »

Hi All.

I am having some difficulty (mainly do to lack of knowledge of modbus) in monitoring some a Liebert DS CRAC via modbus.

In documentation these are the things I want to monitor:

Index, Register(Num), Data Label, Unit, Scale, Access
36, 30100(1), System Operating State, , x1, RO
37, 30102(1), System Status, , x1, RO
54, 30130(1), Return Humidity, % RH, x10, RO
90, 30279(1), System Status, , x1, RO
203, 30743(1), Return Air Temperature, deg F, x10, RO
204, 30744(1), Supply Air Temperature, deg F, x10, RO
205, 30745(1), Supply Air Temperature Set Point, deg F, x10, RO
380, 10025(1), Fan State
381, 10026(1), Cooling State
390, 10037(1), Compressor High Head Pressure (Compressors->Compressor [1])
391, 10038(1), Compressor Low Suction Pressure (Compressors->Compressor [1])
392, 10039(1), Compressor Thermal Overload (Compressors->Compressor [1])
393, 10040(1), Compressor Pump Down Issue (Compressors->Compressor [1])
394, 10041(1), Compressor High Head Pressure (Compressors->Compressor [2])
395, 10042(1), Compressor Low Suction Pressure (Compressors->Compressor [2])
396, 10043(1), Compressor Thermal Overload (Compressors->Compressor [2])
397, 10044(1), Compressor Pump Down Issue (Compressors->Compressor [2])
469, 10232(1), Unit Off
470, 10233(1), Unit On
471, 10234(1), Unit Partial Shutdown
472, 10235(1), Unit Shutdown
473, 10236(1), High Power Shutdown
474, 10237(1), Unit Standby


I have successfully installed, and have a wrapper for, check_modbus. However I am unsure how to use the above information in the modbus check command. It looks like I need an address but I don't have anything called an "address" in the above fields. When I try to use the registers as the address it comes up with invalid address.

check_modbus -H 10.4.2.14 -F 7 -f 4 -a 10233
Read failed: Illegal data address

Is there some number somewhere I need to get that I am missing? Thanks. I know this is not exactly related to Nagios XI as it is more related to the check_modbus plugin. I still hope I can get some assistance with this though. Thanks in advanced.

I can upload the attachment I got the registers from if needed.
User avatar
tgriep
Madmin
Posts: 9190
Joined: Thu Oct 30, 2014 9:02 am

Re: Monitoring Liebert DS CRAC via Modbus

Post by tgriep »

Try running the check with verbose turned on to get additional debug information and post the output.
Run this

Code: Select all

check_modbus -H 10.4.2.14 -F 7 -f 4 -a 10233 --verbose
Be sure to check out our Knowledgebase for helpful articles and solutions!
cfgriffith
Posts: 83
Joined: Tue Jan 15, 2013 4:22 pm

Re: Monitoring Liebert DS CRAC via Modbus

Post by cfgriffith »

Code: Select all

check_modbus -H 10.4.2.14 -F 7 -f 4 -a 30739 --verbose
---------------------------------------------
Settings:
ip:          10.4.2.14
port:        502

verbosity:   1
device:      1
address:     30738
function:    4
tries:       1

inverse:     0
format:      7
swap bytes:  0

warning:     0.000000
critical:    0.000000
null:        0
not null:    0

perf_data:   0
perf_label:  NULL
perf_min:    0.000000
perf_max:    0.000000

dump:        0
dump_format: 0
dump_size:   0
dump_file :  stdout

lock_file_in :NULL
lock_file_out:NULL
---------------------------------------------
process
init_connection
init_connection rc: 0
read_data
read_data rc: 8
Read failed: Illegal data address
process rc: 8
After trying random address numbers I found one that seems to give a response:

Code: Select all

[cfgriffith@nagiosxi0 ~]$ check_modbus -H 10.4.2.14 -F 7 -f 4 -a 30 --verbose
---------------------------------------------
Settings:
ip:          10.4.2.14
port:        502

verbosity:   1
device:      1
address:     29
function:    4
tries:       1

inverse:     0
format:      7
swap bytes:  0

warning:     0.000000
critical:    0.000000
null:        0
not null:    0

perf_data:   0
perf_label:  NULL
perf_min:    0.000000
perf_max:    0.000000

dump:        0
dump_format: 0
dump_size:   0
dump_file :  stdout

lock_file_in :NULL
lock_file_out:NULL
---------------------------------------------
process
init_connection
init_connection rc: 0
read_data
read_data rc: 0
print_result
Critical: print_result rc: 2
0.000000
process rc: 2
cfgriffith
Posts: 83
Joined: Tue Jan 15, 2013 4:22 pm

Re: Monitoring Liebert DS CRAC via Modbus

Post by cfgriffith »

I can't seem to find documentation that has the "address" I need to get. However as far as I can tell there is not a flag to add the registar or index numbers as listed in my first post.
User avatar
tgriep
Madmin
Posts: 9190
Joined: Thu Oct 30, 2014 9:02 am

Re: Monitoring Liebert DS CRAC via Modbus

Post by tgriep »

The register numbers that you provided look like they are right in the documentation I found but the plugin doesn't provide much information on it's usage.
You may have to contact the author for more help.
Be sure to check out our Knowledgebase for helpful articles and solutions!
jdalrymple
Skynet Drone
Posts: 2620
Joined: Wed Feb 11, 2015 1:56 pm

Re: Monitoring Liebert DS CRAC via Modbus

Post by jdalrymple »

I don't have an answer to the question, but I can explain why I don't have an answer. In an enterprise environment I setup some monitoring for we had some Liebert UPSs that supported modbus. As I understood it modbus was kind of its own interface requiring its own special cabling and some 1U device I would have had to implement that spoke directly to the interface on the units, but I could then (theoretically) talk IP (Nagios language) to that whacky 1U unit. I think that modbus was more intended to be used/consumed by folks that have the job of changing oil in diesel generators and the solution is setup by the vendor then not touched or interacted with in any way by the end user.

In favor of that mess we went with what I knew, SNMP cards. If memory serves me it was a downtime for each unit, and at a pretty substantial cost, but when they got done I could speak SNMP directly to the UPSs and more importantly they were happy to send SNMP traps straight to me/Nagios. They were never implemented but I was told that the (Liebert also) air handlers on the raised floor could also accept a similar card that spoke IP/SNMP.

It sounds like you must already have all the modbus bits in place so my suggestion is not a really great (cost effective) solution - but I will say that it was the right solution for me.
cfgriffith
Posts: 83
Joined: Tue Jan 15, 2013 4:22 pm

Re: Monitoring Liebert DS CRAC via Modbus

Post by cfgriffith »

Alright sounds like some decent options. Thank you both for your help.
User avatar
tgriep
Madmin
Posts: 9190
Joined: Thu Oct 30, 2014 9:02 am

Re: Monitoring Liebert DS CRAC via Modbus

Post by tgriep »

Sorry we couldn't help much. Is it alright to close this post?
Be sure to check out our Knowledgebase for helpful articles and solutions!
cfgriffith
Posts: 83
Joined: Tue Jan 15, 2013 4:22 pm

Re: Monitoring Liebert DS CRAC via Modbus

Post by cfgriffith »

Yep that is fine. I actually did get most of it working. Problem was several of the sensors were broken which would explain why I was seeing such weird results. Fixed now. Here is a link to the thread that I worked through it incase anyone else is interested:

http://hvac-talk.com/vbb/showthread.php ... st20479551
User avatar
lmiltchev
Bugs find me
Posts: 13589
Joined: Mon May 23, 2011 12:15 pm

Re: Monitoring Liebert DS CRAC via Modbus

Post by lmiltchev »

Thanks for the feedback, cfgriffith! I am locking the topic and marking it as "resolved".
Be sure to check out our Knowledgebase for helpful articles and solutions!
Locked