9 Replies Latest reply on Apr 28, 2011 1:44 PM by Garland Smith

    False alerts on FSMount parameter

      Share This:

      Hi,

       

      I am getting False alerts on FSMount parameter even though file systems are physically mounted.

       

      Product  :      Patrol Classic Console Version 3.5.62i and Patrol Agent Version is 3.7.30i

       

      Could anyone help me resolving this problem?

       

      Thanks & Regards

      Mahesh

        • 1. Re: False alerts on FSMount parameter

          Hello Mahesh,

           

          What is the operating system ?

           

          Is it HP-UX or Solaris ? If yes please ensure that the "mount" command is in the $PATH variable of the patrol default account.  If not, it causes the FILESYSTEM discovery logic to fail when executing the "mount" command.

           

          The fact that any filesystem instances were created indicates that the "mount" command was in the $PATH of the PatrolAgent defaultAccount some time or the "/PUK/FILESYSTEM/moniList" variable was manually configured.  This is true because the FILESYSTEM.km uses the "mount" command for discovery.

           

          Let me know how it goes.

           

          Octon

          • 2. Re: False alerts on FSMount parameter
            Garland Smith

            PKM for Unix uses the Unix "mount" command to "discover" filesystems.  A "persistence"

            feature was added some time back to produce an alert when a previously discovered filesystem

            is subsequently found to be unmounted (i.e. it doesn't show up on the mount list).  In your

            case, if the filesystems for which you are actually mounted, you'll probably need to open a

            Support case for this.

             

            The PSL script below may be useful for diagnosing this.  Cut and paste into a PSL Task,

            execute the Task.  Output will be directed to /tmp/FSDiag_.txt.

             

            #+++ Begin Script FSDiag.psl +++

            1. This script will generate a formatted list containing comprehensive diagnosics

            2. for use in diagnosing problems with the PKM for Unix FILESYSTEM KM.

            3. The output will go to "/tmp/FSDiag_<host>.txt".

            #

            host_name = get("/hostname");

            header = asctime(time()).": Capturing FILESYSTEM diagnostics for '".host_name."'";

             

            outfile = "/tmp/FSDiag_".host_name.".txt";

            chan = fopen(outfile,"w");

             

            print(header."\n");

            print("Wait for script to finish...\n");

            write(chan,header);

            write(chan,"PatrolAgent version is ".get("/patrolVersion")."\n");

             

            mach = get("/appType");

             

            df_cmd = "df -k";

            mnt_cmd = "/etc/mount";

            if (mach == "OSF1") {

                    df_cmd = "df -k";

                    mnt_cmd = "/usr/sbin/mount";

            } elsif (mach =="HP") {

                    df_cmd = "bdf -i";

                    mnt_cmd = "mount -p";

            } elsif (mach == "RS6000") {

                    df_cmd = "df -v";

                    mnt_cmd = "/usr/sbin/mount";

            } elsif (index(["SOLARIS","SINIX"],mach)) {

                    df_cmd = "df -k";

                    mnt_cmd = "mount -v";

            } elsif (mach == "Linux") {  # LINUX

                    df_cmd = "df -ak";

                    mnt_cmd = "/bin/mount -v";

            }

             

            defaultAccount=get("/AgentSetup/defaultAccount");

            defaultaccountusername = nthargf(defaultAccount,1,"/"); 

            encryptedpassword = nthargf(defaultAccount,2,"/");

                    

            write(chan,"\nOutput of uname -a:\n");

            write(chan,system("uname -a"));

            write(chan,"/AgentSetup/defaultAccount: ".get("/AgentSetup/defaultAccount")."\n");

            write(chan,"id:                         ".system("id")."\n");

            env_cmd = "env";

            output = execute("OS",env_cmd,"",defaultaccountusername,encryptedpassword);

            write(chan,"Output of env for PatrolAgent defaultAccount:\n");

            write(chan,output);

            write(chan,"\n\n");

             

            phome = get("/patrolHome");

            target=substr(phome,rindex(phome, "/")+1,length(phome)-rindex(phome, "/"));

            ihome=substr(phome,1,rindex(phome, "/")-1);

            binpath=ihome."/unix/".target."/bin/statvfs";

             

            write(chan,"/FILESYSTEM/active: ".get("/FILESYSTEM/active")."\n");

            write(chan,"/DCM/DCM/DFColl/active: ".get("/DCM/DCM/DFColl/active")."\n");

            write(chan,"/COLLECTORS/COLLECTORS/DFColl/active: ".get("/COLLECTORS/COLLECTORS/DFColl/active")."\n");

             

            filterType = get("/AgentSetup/FILESYSTEM.filterType");

            filterList = get("/AgentSetup/FILESYSTEM.filterList");

             

            write(chan,"/AgentSetup/FILESYSTEM.filterType: ".filterType."\n");

            write(chan,"/AgentSetup/FILESYSTEM.filterList: ".filterList."\n");

             

            write(chan,"\n");

            write(chan,"NFSTokens:    <".get("/UNIX/FILESYSTEM/NFSTokens").">\n");

            write(chan,"CDFSTokens:   <".get("/UNIX/FILESYSTEM/CDFSTokens").">\n");

            write(chan,"PROCTokens:   <".get("/UNIX/FILESYSTEM/PROCTokens").">\n");

            write(chan,"CUSTTokens:   <".get("/UNIX/FILESYSTEM/CUSTTokens").">\n");

            write(chan,"excludeTypes:  <".get("/FILESYSTEM.excludeTypes").">.\n");

             

            write(chan,"\n\nOutput of ".mnt_cmd.":\n\n");

            write(chan,execute("OS",mnt_cmd,"",defaultaccountusername,encryptedpassword));

             

            write(chan,"\n\nOutput of ".df_cmd.":\n\n");

            write(chan,execute("OS",df_cmd,"",defaultaccountusername,encryptedpassword));

            if (mach == "Linux") {

                dfcmd = "df -ak";

                write(chan,"\n\nOutput of ".dfcmd.":\n\n");

                write(chan,execute("OS",dfcmd,"",defaultaccountusername,encryptedpassword));

                dfcmdi = "df -ai";

                write(chan,"\n\nOutput of ".dfcmdi.":\n\n");

                write(chan,execute("OS",dfcmdi,"",defaultaccountusername,encryptedpassword));

                write(chan,"\n");

            }

             

            write(chan,"\n".system("%DUMP KM_LIST")."\n\n");

             

            write(chan,"/PUK/FILESYSTEM/moniList:\n".get("/PUK/FILESYSTEM/moniList"));

            write(chan,"\n\n");

             

            foreach inst (get("/FILESYSTEM/instances"))

            {

                 write(chan,"+++++++++\n");

                 write(chan,  "Instance:  ".inst."\n");  

                 output = "Label:     ".get("/FILESYSTEM/".inst."/name")."\n";

                 write(chan,output);

                 output = "fullName:  ".get("/FILESYSTEM/".inst."/fullName")."\n";

                 write(chan,output);

                 output = "status:    ".get("/FILESYSTEM/".inst."/status")."\n";

                 write(chan,output);

                 write(chan,"statvfs: ".execute("OS",binpath." NODEBUG ".inst." ".get("/FILESYSTEM/".inst."/fullName"),"",defaultaccountusername,encryptedpassword));

                 write(chan,"df:      ".execute("OS",df_cmd." ".get("/FILESYSTEM/".inst."/fullName"),"",defaultaccountusername,encryptedpassword));

                 vars = get_vars("/FILESYSTEM/".inst,"subnodes");

                 foreach var (vars)

                 {

                     output = sprintf("%-10s %s",get("/FILESYSTEM/".inst."/".var."/status"),

                              inst."/".var."/status"."\n");

                     write(chan,output);

                     output = sprintf("%-10s %s",get("/FILESYSTEM/".inst."/FSCapacity/active"),

                              inst."/FSCapacity/active"."\n");

                     write(chan,output);

                     output = sprintf("%-10s %s",get("/FILESYSTEM/".inst."/FSCapacity/status"),

                              inst."/FSCapacity/status"."\n");

                     write(chan,output);

                     output = sprintf("%-10.2f %s",get("/FILESYSTEM/".inst."/".var."/value"),

                              inst."/".var."/value"."\n");

                     write(chan,output);

                     write(chan,get_ranges("/FILESYSTEM/".inst."/".var,"enhanced"));

                 }

                 write(chan,"\n");

            }

             

            write(chan,"\n");

            write(chan,"Done...");

            print("Done... Capture ".outfile."\n");

            #End PSL

             

            Garland Smith

            • 3. Re: False alerts on FSMount parameter

              Hi,

               

              I have verified that “mount” command is in $PATH variable of the patrol account. Please suggest us?

               

              Thanks

              Mahesh

              • 4. Re: False alerts on FSMount parameter
                Garland Smith

                The following PSL code may be of some value for investigating this issue.  Cut and paste

                into a PSL Task, execute the Task, and capture the following file:

                 

                /tmp/FSDiag_.txt

                 

                #+++ Begin Script FSDiag.psl +++

                1. This script will generate a formatted list containing comprehensive diagnosics

                2. for use in diagnosing problems with the PKM for Unix FILESYSTEM KM.

                3. The output will go to "/tmp/FSDiag_<host>.txt".

                #

                host_name = get("/hostname");

                header = asctime(time()).": Capturing FILESYSTEM diagnostics for '".host_name."'";

                 

                outfile = "/tmp/FSDiag_".host_name.".txt";

                chan = fopen(outfile,"w");

                 

                print(header."\n");

                print("Wait for script to finish...\n");

                write(chan,header);

                write(chan,"PatrolAgent version is ".get("/patrolVersion")."\n");

                 

                mach = get("/appType");

                 

                df_cmd = "df -k";

                mnt_cmd = "/etc/mount";

                if (mach == "OSF1") {

                        df_cmd = "df -k";

                        mnt_cmd = "/usr/sbin/mount";

                } elsif (mach =="HP") {

                        df_cmd = "bdf -i";

                        mnt_cmd = "mount -p";

                } elsif (mach == "RS6000") {

                        df_cmd = "df -v";

                        mnt_cmd = "/usr/sbin/mount";

                } elsif (index(["SOLARIS","SINIX"],mach)) {

                        df_cmd = "df -k";

                        mnt_cmd = "mount -v";

                } elsif (mach == "Linux") {  # LINUX

                        df_cmd = "df -ak";

                        mnt_cmd = "/bin/mount -v";

                }

                 

                defaultAccount=get("/AgentSetup/defaultAccount");

                defaultaccountusername = nthargf(defaultAccount,1,"/"); 

                encryptedpassword = nthargf(defaultAccount,2,"/");

                        

                write(chan,"\nOutput of uname -a:\n");

                write(chan,system("uname -a"));

                write(chan,"/AgentSetup/defaultAccount: ".get("/AgentSetup/defaultAccount")."\n");

                write(chan,"id:                         ".system("id")."\n");

                env_cmd = "env";

                output = execute("OS",env_cmd,"",defaultaccountusername,encryptedpassword);

                write(chan,"Output of env for PatrolAgent defaultAccount:\n");

                write(chan,output);

                write(chan,"\n\n");

                 

                phome = get("/patrolHome");

                target=substr(phome,rindex(phome, "/")+1,length(phome)-rindex(phome, "/"));

                ihome=substr(phome,1,rindex(phome, "/")-1);

                binpath=ihome."/unix/".target."/bin/statvfs";

                 

                write(chan,"/FILESYSTEM/active: ".get("/FILESYSTEM/active")."\n");

                write(chan,"/DCM/DCM/DFColl/active: ".get("/DCM/DCM/DFColl/active")."\n");

                write(chan,"/COLLECTORS/COLLECTORS/DFColl/active: ".get("/COLLECTORS/COLLECTORS/DFColl/active")."\n");

                 

                filterType = get("/AgentSetup/FILESYSTEM.filterType");

                filterList = get("/AgentSetup/FILESYSTEM.filterList");

                 

                write(chan,"/AgentSetup/FILESYSTEM.filterType: ".filterType."\n");

                write(chan,"/AgentSetup/FILESYSTEM.filterList: ".filterList."\n");

                 

                write(chan,"\n");

                write(chan,"NFSTokens:    <".get("/UNIX/FILESYSTEM/NFSTokens").">\n");

                write(chan,"CDFSTokens:   <".get("/UNIX/FILESYSTEM/CDFSTokens").">\n");

                write(chan,"PROCTokens:   <".get("/UNIX/FILESYSTEM/PROCTokens").">\n");

                write(chan,"CUSTTokens:   <".get("/UNIX/FILESYSTEM/CUSTTokens").">\n");

                write(chan,"excludeTypes:  <".get("/FILESYSTEM.excludeTypes").">.\n");

                 

                write(chan,"\n\nOutput of ".mnt_cmd.":\n\n");

                write(chan,execute("OS",mnt_cmd,"",defaultaccountusername,encryptedpassword));

                 

                write(chan,"\n\nOutput of ".df_cmd.":\n\n");

                write(chan,execute("OS",df_cmd,"",defaultaccountusername,encryptedpassword));

                if (mach == "Linux") {

                    dfcmd = "df -ak";

                    write(chan,"\n\nOutput of ".dfcmd.":\n\n");

                    write(chan,execute("OS",dfcmd,"",defaultaccountusername,encryptedpassword));

                    dfcmdi = "df -ai";

                    write(chan,"\n\nOutput of ".dfcmdi.":\n\n");

                    write(chan,execute("OS",dfcmdi,"",defaultaccountusername,encryptedpassword));

                    write(chan,"\n");

                }

                 

                write(chan,"\n".system("%DUMP KM_LIST")."\n\n");

                 

                write(chan,"/PUK/FILESYSTEM/moniList:\n".get("/PUK/FILESYSTEM/moniList"));

                write(chan,"\n\n");

                 

                foreach inst (get("/FILESYSTEM/instances"))

                {

                     write(chan,"+++++++++\n");

                     write(chan,  "Instance:  ".inst."\n");  

                     output = "Label:     ".get("/FILESYSTEM/".inst."/name")."\n";

                     write(chan,output);

                     output = "fullName:  ".get("/FILESYSTEM/".inst."/fullName")."\n";

                     write(chan,output);

                     output = "status:    ".get("/FILESYSTEM/".inst."/status")."\n";

                     write(chan,output);

                     write(chan,"statvfs: ".execute("OS",binpath." NODEBUG ".inst." ".get("/FILESYSTEM/".inst."/fullName"),"",defaultaccountusername,encryptedpassword));

                     write(chan,"df:      ".execute("OS",df_cmd." ".get("/FILESYSTEM/".inst."/fullName"),"",defaultaccountusername,encryptedpassword));

                     vars = get_vars("/FILESYSTEM/".inst,"subnodes");

                     foreach var (vars)

                     {

                         output = sprintf("%-10s %s",get("/FILESYSTEM/".inst."/".var."/status"),

                                  inst."/".var."/status"."\n");

                         write(chan,output);

                         output = sprintf("%-10s %s",get("/FILESYSTEM/".inst."/FSCapacity/active"),

                                  inst."/FSCapacity/active"."\n");

                         write(chan,output);

                         output = sprintf("%-10s %s",get("/FILESYSTEM/".inst."/FSCapacity/status"),

                                  inst."/FSCapacity/status"."\n");

                         write(chan,output);

                         output = sprintf("%-10.2f %s",get("/FILESYSTEM/".inst."/".var."/value"),

                                  inst."/".var."/value"."\n");

                         write(chan,output);

                         write(chan,get_ranges("/FILESYSTEM/".inst."/".var,"enhanced"));

                     }

                     write(chan,"\n");

                }

                 

                write(chan,"\n");

                write(chan,"Done...");

                print("Done... Capture ".outfile."\n");

                #End PSL

                 

                I hope this helps.

                 

                Garland Smith

                • 5. Re: False alerts on FSMount parameter

                  We also face the same issue.

                   

                  The Patrol Agent is installed on a SPARC based Solaris 9.

                  The specific file system is mounted, but it is alerting as not mounted.

                   

                  In the Patrol Configuration Operator, it is getting mounted & unmounted , values pushing 0 & 1, hence the alert is triggering.

                  • 6. Re: False alerts on FSMount parameter

                    cat out the contents of /etc/mnttab and grep for your filesystem.

                     

                    this sounds like it's an automount to me...can you verify whether it is or not?

                    • 7. Re: False alerts on FSMount parameter
                      Garland Smith

                      When you get an FSMountStatus alert, it means that a filesystem that had

                      previously been discovered is

                       

                      no longer mounted.  You can find related information in Knowledge Article

                      SLN000000191103.  There are

                       

                      attachments available in this knowledge article that might be used to

                      correct the problem.

                       

                       

                       

                      To do a reset and start over, delete /PUK/FILESYSTEM/moniList and then force

                      FILESYSTEM discovery.

                       

                      This can be accomplished by cutting and pasting the following PSL script

                      into a PSL Task from a PATROL

                       

                      Console and execute the Task.

                       

                       

                       

                      #

                       

                      1. PSL script to destroy all instances of FILESYSTEM application class

                       

                      1. and remove /PUK/FILESYSTEM/moniList.  This is not a standard BMC product,

                       

                      1. has not gone through formal QA, and is not supported.  It is provided for

                       

                      1. example purposes.  This logic deletes all FILESYSTEM instances, deletes

                       

                      1. /PUK/FILESYSTEM/moniList agent configuration varialble that is used by

                       

                      1. the FILESYSTEM application for persistence, and then forces discovery

                       

                      1. of FILESYSTEM in order to recreate FILESYSTEM instances.  Parameter data

                       

                      1. will be populated with the next execution of the FILESYSTEM Collector.

                       

                      1. The expected result of executing this PSL would be similar to restarting

                       

                      1. the PatrolAgent with the exception that only the FILESYSTEM application

                       

                      1. will be affected and the KM will start fresh with a new set of filesystems

                       

                      1. based on FILESYSTEM discovery.

                       

                       

                       

                      foreach inst (get("/FILESYSTEM/instances"))

                       

                      {

                       

                          destroy("/FILESYSTEM/".inst);

                       

                      }

                       

                      pconfig("DELETE","/PUK/FILESYSTEM/moniList");

                       

                      system("%REFRESH_APPL_DISC FILESYSTEM");

                       

                       

                       

                      1. End of PSL

                       

                       

                       

                      Garland Smith

                      • 8. Re: False alerts on FSMount parameter

                        judging by the question it looks like the user wants to know why he's getting false alarms...don't see them asking what fsmountstatus is, or how to reinit their fs discovery.

                         

                        patrol pulls the mount status out /etc/mntab, or its equivelant, depending on what type of system you are using.  from the symptoms you are describing, it sounds like the file systems are automounts.  please verify if this is the case or not.  also, please share how you're verifying the file system is mounted. 

                        • 9. Re: False alerts on FSMount parameter
                          Garland Smith

                          The FILESYSTEM KM uses a variation of the UNIX "mount" command to determine if

                          the filesystem is mounted.

                          I have a PSL script that can be used for investigations like this.

                           

                          Here's some stuff that might be useful:

                           

                          Based on the note that you entered, I believe you’re trying to exclude the CDROM

                          FILESYSTEM type but you’re still seeing CDROM filesystem instances.  Please

                          verify that

                          my understanding is correct.

                          If the CDROM was mounted and discovered by Patrol, then dismounted, it will be

                          registered

                          on a persistent list of filesystems kept by PKM for Unix and will not be

                          excluded based on editing

                          the exclusion list.  If this is the case, the only way to remove the CDROM

                          filesystem is to clear

                          the FILESYSTEM persistence list (i.e. delete “/PUK/FILESYSTEM/moniList”

                          variable) and

                          remove all FILESYSTEM instances.  I’ve provided PSL code that can be cut and

                          pasted into

                          a PSL Task and executed to accomplish this.

                          If the information supplied above does not answer the question, please see the

                          information below

                          and provide the information requested below:

                          When you exclude a specific FILESYSTEM type, PKM for Unix uses information from

                          the

                          UNIX “mount” command to identify the filesystem Type based on the following

                          default

                          criteria:

                          1.  NFS default types:  "NFS CACHEFS NFS3 NFSV3";

                               The Agent Configuration variable /UNIX/FILESYSTEM/NFSTokens can be used to

                          override

                               the default NFS types.

                          2.  CDFS default types:  "CDFS HSFS ISO9660 CDRFS";

                               The Agent Configuration variable /UNIX/FILESYSTEM/CDFSTokens can be used to

                          override

                               the default CDFS types.

                          3.  PROC default types:  "PROC USBDEVFS DEVPTS PROCFS";

                               The Agent Configuration variable /UNIX/FILESYSTEM/CDFSTokens can be used to

                          override

                               the default CDFS types.

                          4.  /UNIX/FILESYSTEM/CUSTTokens is used to specify CUSTOM types.

                          The Agent Configuration variable /FILESYSTEM.excludeTypes is used to specify

                          which filesystem

                          types are to be excluded.  This is a 4 binary digit flag where the first digit

                          controls NFS monitoring,

                          the 2nd digit controls CDFS monitoring, the 3rd digit controls PROC monitoring,

                          and the 4th digit

                          controls CUSTOM type specified by the user.

                          Please provide the following information and I will be glad to investigate:

                          0.  What platform/OS (uname –a)?

                          1.  Capture snapshot of Agent Configuration (pconfig +get –p  redirected

                          to a file).

                          2.  Capture output of the Unix Mount command for the platform that is being

                          monitored.

                               Execute the appropriate command and redirect to a file)

                             OSF1:     /usr/sbin/mount

                             HP:       mount -p

                             AIX:      /usr/sbin/mount

                             SOLARIS:  mount -v

                             Linux     /bin/mount -v

                             Other:    /etc/mount

                          3.  Cut and paste the following command into the Agent’s System Output Window on

                          the Console

                               and capture the results:  %PSL print(get(“/FILESYSTEM/instances”));

                           

                          Cut and paste the following PSL code into a PSL Task on the Console, execute the

                          Task, and capture

                          the resulting output.

                           

                          #+++ Begin Script FSDiag.psl +++

                          1. This script will generate a formatted list containing comprehensive diagnosics

                          2. for use in diagnosing problems with the PKM for Unix FILESYSTEM KM.

                          3. The output will go to "/tmp/FSDiag_<host>.txt".

                          #

                          host_name = get("/hostname");

                          header = asctime(time()).": Capturing FILESYSTEM diagnostics for

                          '".host_name."'";

                          outfile = "/tmp/FSDiag_".host_name.".txt";

                          chan = fopen(outfile,"w");

                          print(header."\n");

                          print("Wait for script to finish...\n");

                          write(chan,header);

                          write(chan,"PatrolAgent version is ".get("/patrolVersion")."\n");

                          mach = get("/appType");

                          df_cmd = "df -k";

                          mnt_cmd = "/etc/mount";

                          if (mach == "OSF1") {

                                  df_cmd = "df -k";

                                  mnt_cmd = "/usr/sbin/mount";

                          } elsif (mach =="HP") {

                                  df_cmd = "bdf -i";

                                  mnt_cmd = "mount -p";

                          } elsif (mach == "RS6000") {

                                  df_cmd = "df -v";

                                  mnt_cmd = "/usr/sbin/mount";

                          } elsif (index(["SOLARIS","SINIX"],mach)) {

                                  df_cmd = "df -k";

                                  mnt_cmd = "mount -v";

                          } elsif (mach == "Linux") {  # LINUX

                                  df_cmd = "df -ak";

                                  mnt_cmd = "/bin/mount -v";

                          }

                          defaultAccount=get("/AgentSetup/defaultAccount");

                          defaultaccountusername = nthargf(defaultAccount,1,"/"); 

                          encryptedpassword = nthargf(defaultAccount,2,"/");

                                

                          write(chan,"\nOutput of uname -a:\n");

                          write(chan,system("uname -a"));

                          write(chan,"/AgentSetup/defaultAccount:

                          ".get("/AgentSetup/defaultAccount")."\n");

                          write(chan,"id:                         ".system("id")."\n");

                          env_cmd = "env";

                          output = execute("OS",env_cmd,"",defaultaccountusername,encryptedpassword);

                          write(chan,"Output of env for PatrolAgent defaultAccount:\n");

                          write(chan,output);

                          write(chan,"\n\n");

                          phome = get("/patrolHome");

                          target=substr(phome,rindex(phome, "/")+1,length(phome)-rindex(phome, "/"));

                          ihome=substr(phome,1,rindex(phome, "/")-1);

                          binpath=ihome."/unix/".target."/bin/statvfs";

                          write(chan,"/FILESYSTEM/active: ".get("/FILESYSTEM/active")."\n");

                          write(chan,"/DCM/DCM/DFColl/active: ".get("/DCM/DCM/DFColl/active")."\n");

                          write(chan,"/COLLECTORS/COLLECTORS/DFColl/active:

                          ".get("/COLLECTORS/COLLECTORS/DFColl/active")."\n");

                          filterType = get("/AgentSetup/FILESYSTEM.filterType");

                          filterList = get("/AgentSetup/FILESYSTEM.filterList");

                          write(chan,"/AgentSetup/FILESYSTEM.filterType: ".filterType."\n");

                          write(chan,"/AgentSetup/FILESYSTEM.filterList: ".filterList."\n");

                          write(chan,"\n");

                          write(chan,"NFSTokens:    <".get("/UNIX/FILESYSTEM/NFSTokens").">\n");

                          write(chan,"CDFSTokens:   <".get("/UNIX/FILESYSTEM/CDFSTokens").">\n");

                          write(chan,"PROCTokens:   <".get("/UNIX/FILESYSTEM/PROCTokens").">\n");

                          write(chan,"CUSTTokens:   <".get("/UNIX/FILESYSTEM/CUSTTokens").">\n");

                          write(chan,"excludeTypes:  <".get("/FILESYSTEM.excludeTypes").">.\n");

                          write(chan,"\n\nOutput of ".mnt_cmd.":\n\n");

                          write(chan,execute("OS",mnt_cmd,"",defaultaccountusername,encryptedpassword));

                           

                          write(chan,"\n\nOutput of ".df_cmd.":\n\n");

                          write(chan,execute("OS",df_cmd,"",defaultaccountusername,encryptedpassword));

                          if (mach == "Linux") {

                              dfcmd = "df -ak";

                              write(chan,"\n\nOutput of ".dfcmd.":\n\n");

                              write(chan,execute("OS",dfcmd,"",defaultaccountusername,encryptedpassword));

                              dfcmdi = "df -ai";

                              write(chan,"\n\nOutput of ".dfcmdi.":\n\n");

                             

                          write(chan,execute("OS",dfcmdi,"",defaultaccountusername,encryptedpassword));

                              write(chan,"\n");

                          }

                          write(chan,"\n".system("%DUMP KM_LIST")."\n\n");

                          write(chan,"/PUK/FILESYSTEM/moniList:\n".get("/PUK/FILESYSTEM/moniList"));

                          write(chan,"\n\n");

                          foreach inst (get("/FILESYSTEM/instances"))

                          {

                               write(chan,"+++++++++\n");

                               write(chan,  "Instance:  ".inst."\n");  

                               output = "Label:     ".get("/FILESYSTEM/".inst."/name")."\n";

                               write(chan,output);

                               output = "fullName:  ".get("/FILESYSTEM/".inst."/fullName")."\n";

                               write(chan,output);

                               output = "status:    ".get("/FILESYSTEM/".inst."/status")."\n";

                               write(chan,output);

                               write(chan,"statvfs: ".execute("OS",binpath." NODEBUG ".inst."

                          ".get("/FILESYSTEM/".inst."/fullName"),"",defaultaccountusername,encryptedpassword));

                           

                               write(chan,"df:      ".execute("OS",df_cmd."

                          ".get("/FILESYSTEM/".inst."/fullName"),"",defaultaccountusername,encryptedpassword));

                           

                               vars = get_vars("/FILESYSTEM/".inst,"subnodes");

                               foreach var (vars)

                               {

                                   output = sprintf("%-10s %s",get("/FILESYSTEM/".inst."/".var."/status"),

                                            inst."/".var."/status"."\n");

                                   write(chan,output);

                                   output = sprintf("%-10s

                          %s",get("/FILESYSTEM/".inst."/FSCapacity/active"),

                                            inst."/FSCapacity/active"."\n");

                                   write(chan,output);

                                   output = sprintf("%-10s

                          %s",get("/FILESYSTEM/".inst."/FSCapacity/status"),

                                            inst."/FSCapacity/status"."\n");

                                   write(chan,output);

                                   output = sprintf("%-10.2f

                          %s",get("/FILESYSTEM/".inst."/".var."/value"),

                                            inst."/".var."/value"."\n");

                                   write(chan,output);

                                   write(chan,get_ranges("/FILESYSTEM/".inst."/".var,"enhanced"));

                               }

                               write(chan,"\n");

                          }

                          write(chan,"\n");

                          write(chan,"Done...");

                          print("Done... Capture ".outfile."\n");

                          #End PSL

                           

                          Let me know if you have any questions.

                           

                          Garland Smith