NAS Service - How to detect if it's running

bhalpinbhalpin Member Posts: 309
Hi.

We have a situation where NAS 'hangs' periodically. MS has suggested a fix, but it will be a while before we can implement it.

In the meantime, it would be helpfull to know when NAS hangs. By 'hang', I mean that it simply stops processing. When you login to the server an error comes up that say's there was a problem - but you have to login to get the message.

Does anyone know of a simple way to detect if the service is running? (And, by running, I mean actually running?)

One approach may come from this: NAS (is supposed to) poll for files to process every ten minutes. And, every polling interval it generates events that can be seen in the Event Viewer. Maybe it is possible to write something to poll the event log and raise an alarm if no NAS events are seen in the last ten minutes or so. (Idon't need a complete soluton, just a 'nudge in the right direction would be great.)

Thanks in advance!

Comments

  • ara3nara3n Member Posts: 9,256
    Check the session table. There is idle time. If it goes beyond 1 min, then it hangs.
    Ahmed Rashed Amini
    Independent Consultant/Developer


    blog: https://dynamicsuser.net/nav/b/ara3n
  • kinekine Member Posts: 12,562
    1) Which OS you are using?
    2) Which DB? SQL or Native?

    We experienced some "hanging" with NAS on 64bit OS communicating with MS SQL 2005 64bit on same machine. After we disabled the Shared memory protocol on the MS SQL and forced SQL to use only TCP/IP, the problems was gone...
    Kamil Sacek
    MVP - Dynamics NAV
    My BLOG
    NAVERTICA a.s.
  • bhalpinbhalpin Member Posts: 309
    Hi.

    It's running on Win server 2003 and it's the NAV database server.

    The issue is NAS hanging while executing an XMLPort, and MS has provided an update to 5.1 which they say has solved similar problems for other users.
  • DenSterDenSter Member Posts: 8,304
    You could put a MESSAGE in the timer event with the system time. This will write to the event log, so that would be easy to check.
  • bhalpinbhalpin Member Posts: 309
    The idea was to implement someting to automatically detect if NAS had died, and notify someone when it happened.

    I guess I could run a 2nd instance of NAS and have it monitor the sessions table - but that's getting kinda silly... :mrgreen:
  • ara3nara3n Member Posts: 9,256
    you can write a sql job that looks at the session view and sends an email.
    Ahmed Rashed Amini
    Independent Consultant/Developer


    blog: https://dynamicsuser.net/nav/b/ara3n
  • garakgarak Member Posts: 3,263
    so, if your NAS use the timer.dll you can send a message into the Eventlog (for example every 30 min) and check when was the last eventlog entry (with a little 3rd script vbs, wsh, or what else)

    If you doesn't use the timer, for example because u use Port communication you can check with a little "Hello NAS" routine (for example every 30min) if your NAS work or is hanging.

    There are some ways to solve this. One other is the solution with the session view, but here you doesn't know if the NAS run or not (because he hangs for example in a confirm ](*,) ) u know only that he has a session.

    In one of my customer solutions i created 2 NAS. These two NAS talk. If NAS two, in status "IAMTheGuardianNow", check that NAS one (in Status "IAMTheWorkerNow") doesn't answer after some questions, he kill the NAS one and change his own status to "IAMTheWorkerNow".
    Then Nas one restart and is now in status "IAMTheGuardianNow". So i simulate a NAS cluster. If NAS two kill NAS one (or NAS one kills NAS two) he send a sms and mail to the admin. If the Kill -> Start -> Kill -> Start situation comes ever again, for example 3x successively (because both NAS run into the same error) , bot NAS stop his work or cancel the job and send also a mail / sms that a specific job create a error.

    Regards
    Do you make it right, it works too!
Sign In or Register to comment.