Ad Widget

Collapse

Remote commands on Windows.

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • solutionssquad
    Junior Member
    • May 2012
    • 14

    #1

    Remote commands on Windows.

    Hi all,

    I've been trying to figure this out for weeks with no luck.
    I have EnableRemoteCommands=1.
    Zabbix talks to the Windows agent but for the life of me I cant get it to run ANY commands.
    Anyone have suggestions?

    Here's my agent.conf:


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

    ### 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
    # Default:
    DebugLevel=3
    LogRemoteCommands=1

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

    LogFile=C:\Agent.log

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

    ### 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=1

    ##### Passive checks related

    ### Option: Server
    # List of comma delimited IP addresses (or hostnames) of Zabbix servers.
    # No spaces allowed. First entry is used for receiving list of and sending active checks.
    # Note that hostnames must resolve hostname->IP address and IP address->hostname.
    #
    # Mandatory: yes
    # Default:
    # Server=

    Server=***.***.***

    ### Option: Hostname
    # Unique hostname.
    # Required for active checks and must match hostname as configured on the server.
    #
    # Default:
    # Hostname=system.uname

    Hostname=***

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

    ### Option: ListenIP
    # Agent will listen on the specified interface.
    #
    # Mandatory: no
    # Default:
    # ListenIP=0.0.0.0

    # ListenIP=127.0.0.1

    ### Option: DisablePassive
    # Disable passive checks. The agent will not listen on any TCP port.
    # Only active checks will be processed.
    # 0 - do not disable
    # 1 - disable
    #
    # Mandatory: no
    # Default:
    DisablePassive=1

    ##### Active checks related

    ### Option: DisableActive
    # Disable active checks. The agent will work in passive mode listening for server.
    #
    # Mandatory: no
    # Default:
    DisableActive=0

    # DisableActive=1

    ### Option: ServerPort
    # Server port for retrieving list of and sending active checks.
    #
    # Mandatory: no
    # Default:
    ServerPort=10051

    ### 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: 1-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 'eventlog' active checks.
    # The provided value will be overridden by the parameter 'maxlines',
    # provided in 'log' or 'eventlog' item key.
    #
    # Mandatory: no
    # Range: 1-1000
    # Default:
    # MaxLinesPerSecond=100

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

    ### Option: StartAgents
    # Number of pre-forked instances of zabbix_agentd that process passive checks.
    #
    # Mandatory: no
    # Range: 1-16
    # Default:
    StartAgents=5

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

    ### Option: Include
    # You may include individual files or all files in a directory in the configuration file.
    #
    # Mandatory: no
    # Default:
    # Include=

    # Include=c:\zabbix\zabbix_agent.userparams.conf
    # Include=c:\zabbix\zabbix_agentd\

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

    ### Option: UserParameter
    # User-defined parameter to monitor. There can be several user-defined parameters.
    # Format: UserParameter=<key>,<shell command>
    # Note that shell command must not return empty string or EOL only.
    # Example: UserParameter=system.test,echo 1
    #UserParameter=system.test,echo 1
  • solutionssquad
    Junior Member
    • May 2012
    • 14

    #2
    Anyone have any ideas?

    Comment

    • c.mammoli
      Member
      Zabbix Certified Specialist
      • Feb 2012
      • 48

      #3
      Please, past an expample item with a remote command.

      es: system.run[<command>]

      Comment

      • solutionssquad
        Junior Member
        • May 2012
        • 14

        #4
        I made afew for testing none of which worked.
        My ideal thing is to run a batch file on the client.


        Remote command: {HOSTNAME}:c:\Scripts\Logon\Server_Startup.Bat

        Remote command: {HOSTNAME}:"echo hi > c:\test.txt"

        Remote command: SERVER:c:\Scripts\Logon\Server_Startup.Bat

        Remote command: {HOSTNAME}:c:\windows\system32\shutdown.exe -r -f

        Comment

        • c.mammoli
          Member
          Zabbix Certified Specialist
          • Feb 2012
          • 48

          #5
          Originally posted by solutionssquad
          I made afew for testing none of which worked.
          My ideal thing is to run a batch file on the client.


          Remote command: {HOSTNAME}:c:\Scripts\Logon\Server_Startup.Bat

          Remote command: {HOSTNAME}:"echo hi > c:\test.txt"

          Remote command: SERVER:c:\Scripts\Logon\Server_Startup.Bat

          Remote command: {HOSTNAME}:c:\windows\system32\shutdown.exe -r -f
          This is the syntax you are using???

          The item for an external script is:
          system.run[c:\Scripts\Logon\Server_Startup.Bat]

          Comment

          • solutionssquad
            Junior Member
            • May 2012
            • 14

            #6
            ok, I changed it to
            {HOSTNAME}:system.run[c:\Scripts\Logon\Server_Startup.Bat]
            No dice.

            Help!
            Last edited by solutionssquad; 24-05-2012, 22:21.

            Comment

            • solutionssquad
              Junior Member
              • May 2012
              • 14

              #7
              So now I'm wondering if it's a config issue.
              The setup is...
              Zabbix runs on a Linux server in a DC.
              The agent is installed on a machine behind a firewall in an office.
              Agent runs with the above config and calls home with the data.
              Once thing I have noticed is that it only works if I configure the host in Zabbix to Connect to IP and not DNS name.

              Thought I'd throw the info out there in case it's relevant.

              Thank you!

              Comment

              • BrentN
                Member
                • Mar 2012
                • 37

                #8
                I had a lot of problems getting this to work since the documentation is pretty sparse when it comes to anything Windows-centric. My biggest problem was trying to figure out what directory the remote command was run from on a Windows system. In case you're wondering as well, they are executed from Windows\System32.

                If I understand you correctly, your agent is not on the same network as your Zabbix server so you must be using active checks. Correct?

                Configure your item in Zabbix like this (my example runs a powershell script on the host, %ZabbixRoot% is an environment variable on the Windows server):

                Type: Zabbix agent (active)

                Key:
                Code:
                system.run[powershell.exe -NoLogo -NonInteractive -File "%ZabbixRoot%\scripts\WindowsUpdates.ps1",nowait]
                You'll need to have remote commands enabled on the agent (which it looks like you did). Don't put anything before the system.run in the key - you don't need it and it won't work. I would test with something simple that returns text. Something like:

                Code:
                system.run[dir,nowait]

                Comment

                • solutionssquad
                  Junior Member
                  • May 2012
                  • 14

                  #9
                  YAY!
                  I created the item and it ran.
                  But now, how do I make it ONLY run as a trigger?
                  Idea is for example, IIS service is stopped, it runs a script to bounce IIS.


                  THANK YOU FOR YOUR HELP!

                  Comment

                  • BrentN
                    Member
                    • Mar 2012
                    • 37

                    #10
                    I'm somewhat new to Zabbix as well, so I may not have all the correct information... just a fair warning. :-)

                    I think you would do this as an 'action' item rather than a monitoring item. Actions are run when trigger conditions are met. Here's where I get a bit confused though. I've read that remote scripts that are run from action items are executed differently and require passive monitoring... I don't have time to set up a test action at the moment to verify this; perhaps another community member can clarify, for both of us.

                    Comment

                    Working...