Ad Widget

Collapse

AS/400 Monitoring solutions

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • RohrbaGe
    Senior Member
    • Aug 2005
    • 167

    #91
    Kos,

    the remote agent did not stopped this weekend, so I think you solved the issues.

    I have setup now on the AS400 a subsystem according your documentation.
    This is the better way, if you have this possibily. But in most companies that is not wanted, so running the remote agent is the only way.


    Are you planning also for your agent a possibilty to start a script / CL/RPG
    like on the standard zabbix agent?
    The monitoring of spools/disks/cpu/services works already perfect,
    but I would like to check now thinks like:

    Is the remote printer started?
    Did the backup run successfull?
    How many records are in the application table?
    This is very specific and can be done with CL scripts and giving back to Zabbix the returncode.

    That would make your good solution more perfect and maybe you investigated it already.
    Or maybe you can easy adapt somehow the zabbix_sender, so that we can
    call in a CL the zabbix-sender and transport the values to the zabbix server.



    Regards

    Gerald

    Comment

    • Kos
      Senior Member
      Zabbix Certified SpecialistZabbix Certified Professional
      • Aug 2015
      • 3404

      #92
      Gerald, thank you for your update.

      I'm glad that the remote mode of agent does, finally, work.

      Of course, it could be great to have something like a startup scripts for this platforms. Unfortunatrely, I could not provide any certain schedules about that. The same is true for an additional functionality also

      If you have some sripts (CL, QSH or something other), you can use the zabbix_sender utility from the standard Zabbix agent for an AIX platform (they are binary-compatible).

      Comment

      • sancho
        Senior Member
        Zabbix Certified SpecialistZabbix Certified Professional
        • Mar 2015
        • 295

        #93
        Hi Kos,
        Is there any way to monitor only the qsysopr messages that are waiting to be answered?

        Thank you for your work

        Comment

        • Kos
          Senior Member
          Zabbix Certified SpecialistZabbix Certified Professional
          • Aug 2015
          • 3404

          #94
          sancho, I'm very sorry - I missed your question.
          At the current time - no, it's impossible.

          The version 0.7.4 was uploaded.

          Bug fixes:
          The "system.localtime" (or "system.localtime[utc]") returned incorrect value (unixtime that is in future), fixed. The "system.localtime[local]" metric worked correctly.

          New features:
          1) new as400.cpu.capacity metric returns a float value: amount (in number of physical processors) of current processing capacity of the partition.
          2) new metrics as400.systemPool.state[pool,mode] and as400.systemPool.discovery for discovering and processing of some properties of system pools. Note: I'm not sure that number of Faults is returned correctly, the testing is needed. At the moment I just use the appropriate API calls without any post-processing.

          Comment

          • sancho
            Senior Member
            Zabbix Certified SpecialistZabbix Certified Professional
            • Mar 2015
            • 295

            #95
            Thanks for the answer Kos,
            Today we will install the new version of the agent.

            As always, congratulations for your work.

            Comment

            • Kos
              Senior Member
              Zabbix Certified SpecialistZabbix Certified Professional
              • Aug 2015
              • 3404

              #96
              Thank you, sancho.

              Unfortunately, by mistake I yesterday uploaded the wrong version (the same as was before, 0.7.3). I've re-uploaded the correct version (0.7.4) now. If somebody had time to download this version yesterday/today, please download it once more now. Sorry for inconvenience.

              Comment

              • sancho
                Senior Member
                Zabbix Certified SpecialistZabbix Certified Professional
                • Mar 2015
                • 295

                #97
                Thanks to you

                Comment

                • hab
                  Junior Member
                  • Apr 2018
                  • 5

                  #98
                  Hi Kos. I registered to thank you for your effort - very cool I'm now testing this and it seems to be working. I'm now monitoring hostservers, ASP and CPU usage, subsystem status and jobs in MSGW. Do you think it is possible to return the jobname+user+jobnumber of the job(s) in status MSGW?
                  I'm currently testing on a partition running OS 7.3. Let me know if I can somehow be of help to do some testing etc.
                  PS. I sent you an email to the address in your readme before registering here, hope you got it :-).

                  Comment

                  • Kos
                    Senior Member
                    Zabbix Certified SpecialistZabbix Certified Professional
                    • Aug 2015
                    • 3404

                    #99
                    Version 0.7.5 was uploaded.
                    Small bug was found and fixed. The program writes some version information to the log files during startup. All previous versions wrote incorrect version of "jt400.jar" library: the version of library used during compilation instead of really used library version. Currently it obtains this information at run-time.

                    hab, thank you for e-mail. Sorry for some delay, I'll reply soon.

                    Comment

                    • RohrbaGe
                      Senior Member
                      • Aug 2005
                      • 167

                      #100
                      Kos,
                      your older version is running since 1 year without any issues in our production environment very reliable.
                      It helps already a lot to identify issues before user notice them.

                      Still I have some ideas to improve the monitoring.
                      Do you have any experience with zabbix_sender running von the AS400?
                      Idea is to run some scripts by schedule or special processes and get the values with zabbix_sender to the zabbix server.
                      I copied already the AIX binary to the AS400.
                      Withs strqsh I started the shell , changed to the folder and tried to start zabbix_sender.

                      But the pocess ends immediateley, without result.

                      $
                      > zabbix_sender --v
                      qsh: 001-0078 Prozess beendet durch Signal 5.
                      $

                      Maybe you have some information, how to deal with the zabbix_sender on the AS400.
                      I would like to start zabbix_sender by CL scripts.


                      Gerald

                      Comment

                      • Kos
                        Senior Member
                        Zabbix Certified SpecialistZabbix Certified Professional
                        • Aug 2015
                        • 3404

                        #101
                        Hello Gerald,

                        yes, the zabbix_sender utility does work on AS/400 in our environment about 4 years already.
                        The most probable reason of your problems is compatibility between versions of AIX binary and AS/400 system.
                        I remember that there was a compatibility matrix; however, I havn't the exact link for it now :-(

                        Update: probably, links are like that and that.
                        Last edited by Kos; 11-05-2018, 08:46.

                        Comment


                        • RohrbaGe
                          RohrbaGe commented
                          Editing a comment
                          Kos, I got it working with an older Client version. We do have 7.1 running.
                      • Kos
                        Senior Member
                        Zabbix Certified SpecialistZabbix Certified Professional
                        • Aug 2015
                        • 3404

                        #102
                        We had upgraded our Zabbix Server to version 4.0 recently, and once more bug has been revealed: wrong processing of requests using the new Zabbix server-agent protocol in the passive mode.
                        This bug has been fixed, version 0.7.6 is available.

                        Comment

                        • dknoxville
                          Junior Member
                          • Nov 2018
                          • 4

                          #103
                          Hi, I managed to install the plugin to monitor the AS400 (https://share.zabbix.com/operating-s...s-400-platform) as a subsystem on the iseries but the job ends and I get this in the logs:
                          24:20181126:144417.345 agent #-1 stopped [ZabbixAgent config]
                          27:20181126:144417.370 Procstat.updateJobinfoList() ended
                          27:20181126:144417.371 Exception in Procstat.updateJobinfoList():
                          java.util.NoSuchElementException
                          at com.ibm.as400.access.JobEnumeration.nextElement(JobEnumeration.java:79)
                          at as400.perfstat.Procstat.updateJobinfoList(Procstat.java:216)
                          at as400.thread.CollectorThrea...(CollectorThread.java:30)
                          27:20181126:144417.372 agent #1 stopped [collector]
                          26:20181126:144417.847 agent #0 stopped [Cache Controller thread]
                          28:20181126:144417.848 Thread[listener #1] interrupted in run(): java.lang.InterruptedException
                          28:20181126:144417.849 agent #2 stopped[listener #1]
                          29:20181126:144417.850 Thread[listener #2] interrupted in run(): java.lang.InterruptedException
                          29:20181126:144417.851 agent #3 stopped[listener #2]
                          30:20181126:144417.852 Thread[listener #3] interrupted in run(): java.lang.InterruptedException
                          30:20181126:144417.853 agent #4 stopped[listener #3]
                          1:20181126:144417.854 PassiveCheck.init(): finished
                          1:20181126:144417.854 Zabbix Agent stopped. v0.7.6

                          Any ideas ?

                          Thanks

                          Comment

                          • Kos
                            Senior Member
                            Zabbix Certified SpecialistZabbix Certified Professional
                            • Aug 2015
                            • 3404

                            #104
                            Hi!

                            These messages seem a bit strange for me.
                            First of all, you have a DebugLevel more that 3, as your log-file has additional information (for example, about thread "ZabbixAgent config" start/stop).
                            It's good.
                            However, I don't see some other messages that here should be. For example, all other threads are started just after the "ZabbixAgent config" thread stopped; however, I see messages about "ZabbixAgent config" stopping as well as all other threads ("collector", "Cache Controller thread" and "listener") stopping, but I don't see any messages about these threads starting.
                            As well, I don't see the very first lines of log file (the current versions of Java, libraries, and system info should be printed).

                            As I understand, this job ends immediately after start, does not it?
                            Does it fail to start every time or sometimes starts successfully but then fails after some time?
                            Are you using the active mode ("ServerActive=" parameter in config file)? I don't see any mentionings about "active checks" threads in the log.
                            Could you attach, please, (or send me directly by e-mail mentioned in documentation) the fresh full log (with DebugLevel=4); if it contains some confidential information (like host name, IP-addresses) - you can replace them by "***".
                            --
                            Constantin Oshmyan

                            Comment


                            • dknoxville
                              dknoxville commented
                              Editing a comment
                              Thanks for your help. Here's the full clean log from start to when it ends.

                              24:20181130:094712.559 Starting Zabbix Agent v0.7.6
                              24:20181130:094712.567 using configuration file: /HOME/ZABBIX/AGENTD/ZABBIX_AGENTD.CONF
                              24:20181130:094712.568 agent #-1 started [ZabbixAgent config]
                              24:20181130:094712.568 IBM Corporation Java version "1.8.0"
                              24:20181130:094712.569 Java(TM) SE Runtime Environment (build jvmap3280sr3fp10-20160720_022.8)
                              24:20181130:094712.569 IBM J9 VM (build 2.8, JRE 1.8.0 OS/400 ppc-32 jvmap3280sr3fp10-20160720_02 (JIT enabled, AOT enabled)
                              J9VM - R28_Java8_SR3_20160719_1144_B312156
                              JIT - tr.r14.java_20160629_120284.01
                              GC - R28_Java8_SR3_20160719_1144_B312156
                              J9CL - 20160719_312156)
                              24:20181130:094712.595 Open Source Software, JTOpen 9.6, codebase 5770-SS1 V7R3M0.00 built=20180910 @X0
                              24:20181130:094712.602 ZbxMetric() constructor: metric 'log' successfully added
                              24:20181130:094712.603 ZbxMetric() constructor: metric 'logrt' successfully added
                              24:20181130:094712.603 ZbxMetric() constructor: metric 'eventlog' successfully added
                              24:20181130:094712.605 ZbxMetric() constructor: metric 'agent.exit' successfully added
                              24:20181130:094712.606 ZbxMetric() constructor: metric 'agent.hostname' successfully added
                              24:20181130:094712.607 ZbxMetric() constructor: metric 'agent.ping' successfully added
                              24:20181130:094712.609 ZbxMetric() constructor: metric 'agent.version' successfully added
                              24:20181130:094712.615 ZbxMetric() constructor: metric 'system.hostname' successfully added
                              24:20181130:094712.616 ZbxMetric() constructor: metric 'system.uname' successfully added
                              24:20181130:094712.618 ZbxMetric() constructor: metric 'system.localtime' successfully added
                              24:20181130:094712.619 ZbxMetric() constructor: metric 'system.cpu.num' successfully added
                              24:20181130:094712.620 ZbxMetric() constructor: metric 'as400.cpu.capacity' successfully added
                              24:20181130:094712.621 ZbxMetric() constructor: metric 'system.users.num' successfully added
                              24:20181130:094712.623 ZbxMetric() constructor: metric 'proc.num' successfully added
                              24:20181130:094712.624 ZbxMetric() constructor: metric 'as400.subsystem' successfully added
                              24:20181130:094712.625 ZbxMetric() constructor: metric 'as400.outputqueue.size' successfully added
                              24:20181130:094712.627 ZbxMetric() constructor: metric 'as400.services' successfully added
                              24:20181130:094712.628 ZbxMetric() constructor: metric 'vfs.fs.discovery' successfully added
                              24:20181130:094712.629 ZbxMetric() constructor: metric 'vfs.fs.size' successfully added
                              24:20181130:094712.631 ZbxMetric() constructor: metric 'vfs.fs.state' successfully added
                              24:20181130:094712.632 ZbxMetric() constructor: metric 'as400.disk.discovery' successfully added
                              24:20181130:094712.633 ZbxMetric() constructor: metric 'as400.disk.size' successfully added
                              24:20181130:094712.634 ZbxMetric() constructor: metric 'as400.disk.state' successfully added
                              24:20181130:094712.635 ZbxMetric() constructor: metric 'as400.disk.asp' successfully added
                              24:20181130:094712.636 ZbxMetric() constructor: metric 'as400.systemPool.discovery' successfully added
                              24:20181130:094712.637 ZbxMetric() constructor: metric 'as400.systemPool.state' successfully added
                              24:20181130:094712.639 ZbxMetric() constructor: metric 'proc.cpu.util.discovery' successfully added
                              24:20181130:094712.640 ZbxMetric() constructor: metric 'proc.cpu.util' successfully added
                              24:20181130:094712.699 constuctor AgentRequest(): str='system.hostname', key_name='system.hostname'
                              24:20181130:094712.699 parameters list: null
                              24:20181130:094712.700 in ZabbixAgent.process(): key_name='system.hostname', full key='system.hostname'
                              26:20181130:094742.449 agent #0 started [Cache Controller thread]
                              27:20181130:094742.452 agent #1 started [collector]
                              1:20181130:094742.454 PassiveCheck.init(): starting
                              27:20181130:094742.455 Procstat.updateJobinfoList() started
                              28:20181130:094742.456 agent #2 started[listener #1]
                              29:20181130:094742.457 agent #3 started[listener #2]
                              30:20181130:094742.459 agent #4 started[listener #3]
                              24:20181130:094746.076 As400Metric.process() is OK for system.hostname: 'cas980'
                              24:20181130:094746.078 end of ZabbixAgent.process()
                              24:20181130:094746.080 constuctor AgentRequest(): str='system.uname', key_name='system.uname'
                              24:20181130:094746.082 parameters list: null
                              24:20181130:094746.082 in ZabbixAgent.process(): key_name='system.uname', full key='system.uname'
                              24:20181130:094746.086 As400Metric.process() is OK for system.uname: 'IBM OS/400 CAS980 V7R3M0, IBM Corporation IBM J9 VM (v1.8.0)'
                              24:20181130:094746.087 end of ZabbixAgent.process()
                              24:20181130:094746.088 Agent hostname: 'cas980', System info: IBM OS/400 CAS980 V7R3M0, IBM Corporation IBM J9 VM (v1.8.0)
                              24:20181130:094746.117 agent #-1 stopped [ZabbixAgent config]
                              27:20181130:094746.156 Procstat.updateJobinfoList() ended
                              27:20181130:094746.157 Exception in Procstat.updateJobinfoList():
                              java.util.NoSuchElementException
                              at com.ibm.as400.access.JobEnumeration.nextElement(Jo bEnumeration.java:79)
                              at as400.perfstat.Procstat.updateJobinfoList(Procstat .java:216)
                              at as400.thread.CollectorThread.run(CollectorThread.j ava:30)
                              27:20181130:094746.158 agent #1 stopped [collector]
                              26:20181130:094746.531 agent #0 stopped [Cache Controller thread]
                              28:20181130:094746.532 Thread[listener #1] interrupted in run(): java.lang.InterruptedException
                              28:20181130:094746.533 agent #2 stopped[listener #1]
                              29:20181130:094746.534 Thread[listener #2] interrupted in run(): java.lang.InterruptedException
                              29:20181130:094746.535 agent #3 stopped[listener #2]
                              30:20181130:094746.536 Thread[listener #3] interrupted in run(): java.lang.InterruptedException
                              30:20181130:094746.537 agent #4 stopped[listener #3]
                              1:20181130:094746.538 PassiveCheck.init(): finished
                              1:20181130:094746.538 Zabbix Agent stopped. v0.7.6

                              I also get the error on zabbix server :Get value from agent failed: cant connect to []: connection refused
                              Last edited by dknoxville; 30-11-2018, 17:01.

                            • dknoxville
                              dknoxville commented
                              Editing a comment
                              I include my configuration file also:

                              # This is a config file for the Zabbix agent daemon (i5/OS)
                              # To get more information about Zabbix, visit http://www.zabbix.com

                              ############ GENERAL PARAMETERS #################

                              ### Option: PidFile
                              # Name of PID file.
                              #
                              # Mandatory: no
                              # Default:
                              # PidFile=/tmp/zabbix_agentd.pid

                              ### Option: LogFile
                              # Name of log file.
                              #
                              # Mandatory: no
                              # Default:
                              # LogFile=/tmp/zabbix_agentd.log

                              LogFile=/home/ZABBIX/agentd/zabbix_agentd.log

                              ### Option: LogFileSize
                              # Maximum size of log file in MB.
                              # 0 - disable automatic log rotation.
                              #
                              # Mandatory: no
                              # Range: 0-1024
                              # Default:
                              # LogFileSize=1

                              ### Option: DebugLevel
                              # Specifies debug level
                              # 0 - no debug
                              # 1 - critical information
                              # 2 - error information
                              # 3 - warnings
                              # 4 - for debugging (produces lots of information)
                              #
                              # Mandatory: no
                              # Range: 0-4
                              # Default:
                              DebugLevel=4

                              ### Option: SourceIP
                              # Source IP address for outgoing connections.
                              #
                              # Mandatory: no
                              # Default:
                              # SourceIP=

                              ### Option: EnableRemoteCommands
                              # Whether remote commands from Zabbix server are allowed.
                              # 0 - not allowed
                              # 1 - allowed
                              #
                              # Mandatory: no
                              # Default:
                              # EnableRemoteCommands=0

                              ### Option: LogRemoteCommands
                              # Enable logging of executed shell commands as warnings.
                              # 0 - disabled
                              # 1 - enabled
                              #
                              # Mandatory: no
                              # Default:
                              # LogRemoteCommands=0

                              ##### Passive checks related

                              ### Option: Server
                              # List of comma delimited IP addresses (or hostnames) of Zabbix servers.
                              # Incoming connections will be accepted only from the hosts listed here.
                              #
                              # Mandatory: no
                              # Default:
                              # Server=

                              Server=10.97.1.46,0.0.0.0

                              ### Option: ListenPort
                              # Agent will listen on this port for connections from the server.
                              #
                              # Mandatory: no
                              # Range: 1024-32767
                              # Default:
                              # ListenPort=10050

                              ### Option: ListenIP
                              # List of comma delimited IP addresses that the agent should listen on.
                              # First IP address is sent to Zabbix server if connecting to it to retrieve list of active checks.
                              #
                              # Mandatory: no
                              # Default:
                              # ListenIP=0.0.0.0

                              ### Option: StartAgents
                              # Number of pre-forked instances of zabbix_agentd that process passive checks.
                              # (If set to 0, disables passive checks and the agent will not listen on any TCP port.)
                              # Currently must be minimum 1.
                              #
                              # Mandatory: no
                              # Range: 1-100
                              # Default:
                              # StartAgents=3

                              ##### Active checks related

                              ### Option: ServerActive
                              # List of comma delimited IPort (or hostnameort) pairs of Zabbix servers for active checks.
                              # If port is not specified, default port is used.
                              # If port is not specified, square brackets for IPv6 addresses are optional.
                              # If this parameter is not specified, active checks are disabled.
                              # Example: ServerActive=127.0.0.1:20051,zabbix.domain
                              #
                              # Mandatory: no
                              # Default:
                              # ServerActive=

                              #ServerActive=zabbix.yourcompany.com

                              ### Option: Hostname
                              # Unique, case sensitive hostname.
                              # Required for active checks and must match hostname as configured on the server.
                              # Value is acquired from HostnameItem if undefined.
                              #
                              # Mandatory: no
                              # Default:
                              # Hostname=

                              ### Option: HostnameItem
                              # Item used for generating Hostname if it is undefined. Ignored if Hostname is defined.
                              # Does not support UserParameters or aliases.
                              #
                              # Mandatory: no
                              # Default:
                              # HostnameItem=CAS980

                              ### Option: HostMetadata
                              # Optional parameter that defines host metadata.
                              # Host metadata is used at host auto-registration process.
                              # An agent will issue an error and not start if the value is over limit of 255 characters.
                              # If not defined, value will be acquired from HostMetadataItem.
                              #
                              # Mandatory: no
                              # Range: 0-255 characters
                              # Default:
                              # HostMetadata=

                              ### Option: HostMetadataItem
                              # Optional parameter that defines an item used for getting host metadata.
                              # Host metadata is used at host auto-registration process.
                              # During an auto-registration request an agent will log a warning message if
                              # the value returned by specified item is over limit of 255 characters.
                              # This option is only used when HostMetadata is not defined.
                              #
                              # Mandatory: no
                              # Default:
                              # HostMetadataItem=

                              ### Option: RefreshActiveChecks
                              # How often list of active checks is refreshed, in seconds.
                              #
                              # Mandatory: no
                              # Range: 60-3600
                              # Default:
                              # RefreshActiveChecks=120

                              ### Option: BufferSend
                              # Do not keep data longer than N seconds in buffer.
                              #
                              # Mandatory: no
                              # Range: 1-3600
                              # Default:
                              # BufferSend=5

                              ### Option: BufferSize
                              # Maximum number of values in a memory buffer. The agent will send
                              # all collected data to Zabbix Server or Proxy if the buffer is full.
                              #
                              # Mandatory: no
                              # Range: 2-65535
                              # Default:
                              # BufferSize=100

                              ### Option: MaxLinesPerSecond
                              # Maximum number of new lines the agent will send per second to Zabbix Server
                              # or Proxy processing 'log' and 'logrt' active checks.
                              # The provided value will be overridden by the parameter 'maxlines',
                              # provided in 'log' or 'logrt' item keys.
                              #
                              # Mandatory: no
                              # Range: 1-1000
                              # Default:
                              # MaxLinesPerSecond=100

                              ############ ADVANCED PARAMETERS #################

                              ### Option: Alias
                              # Sets an alias for an item key. It can be used to substitute long and complex item key with a smaller and simpler one.
                              # Multiple Alias parameters may be present. Multiple parameters with the same Alias key are not allowed.
                              # Different Alias keys may reference the same item key.
                              # For example, to retrieve the ID of user 'zabbix':
                              # Alias=zabbix.userid:vfs.file.regexp[/etc/passwd,^zabbix:.[0-9]+),,,,\1]
                              # Now shorthand key zabbix.userid may be used to retrieve data.
                              # Aliases can be used in HostMetadataItem but not in HostnameItem parameters.
                              #
                              # Mandatory: no
                              # Range:
                              # Default:

                              ### Option: Timeout
                              # Spend no more than Timeout seconds on processing
                              #
                              # Mandatory: no
                              # Range: 1-30
                              # Default:
                              # Timeout=3

                              ### Option: AllowRoot
                              # Allow the agent to run as 'root'. If disabled and the agent is started by 'root', the agent
                              # will try to switch to user 'zabbix' instead. Has no effect if started under a regular user.
                              # 0 - do not allow
                              # 1 - allow
                              #
                              # Mandatory: no
                              # Default:
                              # AllowRoot=0

                              ### Option: Include
                              # You may include individual files or all files in a directory in the configuration file.
                              # Installing Zabbix will create include directory in /usr/local/etc, unless modified during the compile time.
                              #
                              # Mandatory: no
                              # Default:
                              # Include=

                              # Include=/usr/local/etc/zabbix_agentd.userparams.conf
                              # Include=/usr/local/etc/zabbix_agentd.conf.d/

                              ####### USER-DEFINED MONITORED PARAMETERS #######

                              ### Option: UnsafeUserParameters
                              # Allow all characters to be passed in arguments to user-defined parameters.
                              # 0 - do not allow
                              # 1 - allow
                              #
                              # Mandatory: no
                              # Range: 0-1
                              # Default:
                              # UnsafeUserParameters=0

                              ### Option: UserParameter
                              # User-defined parameter to monitor. There can be several user-defined parameters.
                              # Format: UserParameter=<key>,<shell command>
                              # See 'zabbix_agentd' directory for examples.
                              #
                              # Mandatory: no
                              # Default:
                              # UserParameter=

                              ####### LOADABLE MODULES #######

                              ### Option: LoadModulePath
                              # Full path to location of agent modules.
                              # Default depends on compilation options.
                              #
                              # Mandatory: no
                              # Default:
                              # LoadModulePath=${libdir}/modules

                              ### Option: LoadModule
                              # Module to load at agent startup. Modules are used to extend functionality of the agent.
                              # Format: LoadModule=<module.so>
                              # The modules must be located in directory specified by LoadModulePath.
                              # It is allowed to include multiple LoadModule parameters.
                              #
                              # Mandatory: no
                              # Default:
                              # LoadModule=

                              ####### AS/400-specific parameters #######

                              ### Option: as400ServerHost
                              # DNS name or IP address of AS/400 host to connect to.
                              # Default is localhost (acceptable if the agent is running on the AS/400 host directly).
                              #
                              # Mandatory: no
                              # Default:
                              # as400ServerHost=localhost

                              ### Option: as400Password
                              # Password for a user on AS/400 (username can be set via "User=" parameter).
                              # Default is acceptable if the agent is running on the AS/400 host directly).
                              # Mandatory: no
                              # Default:
                              # as400Password=*CURRENT

                              ### Option: as400EventIdAsMessagePrefix #######
                              # If Zabbix Agent should add the Event ID to the message text as a prefix
                              #
                              # Mandatory: no
                              # Range: 0-1
                              # Default:
                              # as400EventIdAsMessagePrefix=1

                              ### Option: as400UserAsMessagePrefix #######
                              # If Zabbix Agent should add the current user name of message in message queue
                              # to the message text as a prefix
                              #
                              # Mandatory: no
                              # Range: 0-1
                              # Default:
                              # as400UserAsMessagePrefix=0
                          • Kos
                            Senior Member
                            Zabbix Certified SpecialistZabbix Certified Professional
                            • Aug 2015
                            • 3404

                            #105
                            dknoxville, thank you for your input. I'll check this situation. It is still very unusual for my understanding: I see that some threads, that should be started later, logged their messages earlier than event after which they had been started.
                            For comparing - part of normal start with similar config file in my test environment:
                            Code:
                                10:20181130:174128.719 As400Metric.process() is OK for system.uname: 'IBM OS/400 BANKTEST V7R1M0, Oracle Corporation Java HotSpot(TM) 64-Bit Server VM (v1.8.0_181)'
                                10:20181130:174128.719 end of ZabbixAgent.process()
                                10:20181130:174128.719  Agent hostname: 'banktest', System info: IBM OS/400 BANKTEST V7R1M0, Oracle Corporation Java HotSpot(TM) 64-Bit Server VM (v1.8.0_181)
                                10:20181130:174128.782 agent #-1 stopped [ZabbixAgent config]
                                13:20181130:174128.782 agent #0 started [Cache Controller thread]
                                14:20181130:174128.782 agent #1 started [collector]
                                 1:20181130:174128.797 PassiveCheck.init(): starting
                                14:20181130:174128.797 Procstat.updateJobinfoList() started
                                15:20181130:174128.797 agent #2 started[listener #1]
                                16:20181130:174128.797 agent #3 started[listener #2]
                            First: "Agent hostname: '...', System info:..."
                            Second: "agent #-1 stopped [ZabbixAgent config]"
                            Then: "agent #0 started [Cache Controller thread]"
                            Later: "agent #1 started [collector]"
                            Finally: "PassiveCheck.init(): starting"
                            The key moment is that "Procstat.updateJobinfoList() started" is far later than "agent #-1 stopped [ZabbixAgent config]".
                            In your log the message "Procstat.updateJobinfoList() started" is far earlier (4 seconds!) than "agent #-1 stopped [ZabbixAgent config]".

                            Unfortunately, I'm unable to reproduce this case: I see that you have a newer versions of your system (OS, Java, JTOpen library) that I don't have.
                            However, I'll try to do all my best to resolve it, if possible.

                            Just as a troubleshooting step, could you try to use a remote mode (with network access to AS/400 from a different host), please? Is it successful or causes to the same problem?

                            Anybody else has this agent emulator working with the same configuration: on System i V7R3M0, with Java IBM Corporation IBM J9 VM (v1.8.0) and JTOpen 9.6?
                            Are you successful or do you have the same problem?

                            Comment


                            • dknoxville
                              dknoxville commented
                              Editing a comment
                              Kos, thank you for taking the time.

                              I found out that the DNS on the iSeries were not configured properly. Now the agent does not stop and I get job informations! Yeah!

                              But, the agent on server now says : Received empty response from Zabbix Agent. Assuming that Agent dropped connection because of access permissions.
                          Working...