Ad Widget

Collapse

Zabbix .NET client

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • mbjoerling
    Member
    • May 2006
    • 52

    #16
    A little status

    The person that need to give a OK for the project is here next Monday. I'll hope to catch him there for asking if the project can be opensourced.

    I've added MSSQL support. So it's possible to retrieve scalar values ( single values, aggregated values and so on. ).

    If there's some interest for others database support, it can be easily extended via ODBC drivers. At the moment it uses ADO.NET with no connectionpool.

    Comment

    • mbjoerling
      Member
      • May 2006
      • 52

      #17
      Oriiiight!!!

      Got an OK from the bosses... Let's rock'n'roll

      Ill shape it up, removing vendor specific code and kicks it on sourceforge!

      Comment

      • mbjoerling
        Member
        • May 2006
        • 52

        #18
        Download ZabbixAgent.NET for free. Zanet is a .NET agent for Zabbix monitoring. Supporting monitoring of Services/Performance counters, SSL, Remote agent update and Applicationservers.


        CVS is updated ( For those who wants to use it )

        If you wanna use SSH else skip then and go to next step.

        You need to add the key of the zabbix server to the Windows registration database.

        1. SSH to the server with putty.
        2. Go into regedit and goto [HKEY_CURRENT_USER\Software\SimonTatham\PuTTY\SshHo stKeys]

        3. Find the proper key and insert it into [KEY_USERS\.Default\Software\SimonTatham\PuTTY\SshH ostKeys]

        4. Add a user on the zabbix server and make sure it can port forward.

        Next step ...

        Download installer fra sourceforge and agent.conf file.

        Copy agent.conf into "C:\" and set it up. If you use SSH, specify where the SSH key and SSH user.

        Install Zabbixagent.net check C:\agent.log for information if it went well. It will report errors there. If it tries to connect many times, it cant connect to the zabbix server. Check server string and port.

        The agent only honor active items.

        It should start to report in

        If you wanna check out the sourcecode, you can check sourceforge for information.

        Comment

        • mbjoerling
          Member
          • May 2006
          • 52

          #19
          Hi, i've uploaded a new version to sourceforge.

          I've added a configuration editor for the agent. So it aint so hard to get working. This will remove the need for agent.conf and it specifices more clearly what needs to be filled out for the agent to work.

          Then i've made some preliminary work to add dynamic modules into the agent, so it can be possible to add modules to the agent, without recompiling it.

          The new version is 0.9 Build 10, and CVS is updated in a min.
          Last edited by mbjoerling; 02-08-2006, 18:31.

          Comment

          • mbjoerling
            Member
            • May 2006
            • 52

            #20
            Hi. New build out

            Build 11 enables the agent to use httping, to get latency when loading a webpage. (and the times it takes to show the page)

            And then there is a little fix for performance counter which reported wrong numbers to the Zabbix, which made it dismiss the data.

            The httping item can be used with

            web.httping[http://address]

            It can be downloaded here:

            Download ZabbixAgent.NET for free. Zanet is a .NET agent for Zabbix monitoring. Supporting monitoring of Services/Performance counters, SSL, Remote agent update and Applicationservers.
            Last edited by mbjoerling; 07-08-2006, 16:27.

            Comment

            • bbrendon
              Senior Member
              • Sep 2005
              • 870

              #21
              Anyone using this client? I'm seriously getting frusturated with how buggy the official windows client is.
              Unofficial Zabbix Expert
              Blog, Corporate Site

              Comment

              • mbjoerling
                Member
                • May 2006
                • 52

                #22
                Yea. A few does.

                It's still under development, but it's stable and robust when it runs. And supports SSH and autoupdate ( Need a webservice for it ).

                If there is any needs or some feature request. You're welcome to post it in this thread.

                Comment

                • random.n!ck
                  Junior Member
                  • Sep 2006
                  • 4

                  #23
                  Configuration Tool

                  Hi,

                  Thank you for the ZabbixAgent.Net!

                  I am trying to configure it with the provided Configuration tool.

                  Could you please verify the meaning of some of the fields, please?

                  Customer group = "Group" in Zabbix?
                  Update Service = ?

                  Local bound port = ? (for SSH [22] or for the Agent [10050])

                  I have created an SSH private key, that I can use with Putty to auto login to the Zabbix server box. Using the same .ppk file and SSH user name which works for me with Putty, does not seem to work when pressing Test Connection... it does not seem to retrieve the host key.

                  In the log file I have these entries:

                  2006-09-06 16:42:15,929 ERROR net.sourceforge.zabbixagent.connection - Could not connect to local tunnel. Check the secure tunnels and the monitor server is up. A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond
                  2006-09-06 16:42:16,211 DEBUG net.sourceforge.zabbixagent.tunneler - Started secure connection
                  2006-09-06 16:42:16,226 ERROR net.sourceforge.zabbixagent.tunneler - Restarting secure connection for Agent

                  Thank you very much!

                  Cheers,
                  Nick

                  Comment

                  • hpaiss
                    Junior Member
                    • Sep 2006
                    • 1

                    #24
                    tunneling zabbix

                    To secure zabbix connections from windows clients. and also to pass firewalls, I'm tunneling zabbix using autossh with private keys to my linux - zabbix server , creating a remote forwarding of zabbix ports to the client. This way the client initiated the connection, and autossh make sureto reconnect when the connection drops for any reason.
                    I only need to point zabbix server to localhost and allocate port for every client.

                    Hadar

                    Comment

                    • mbjoerling
                      Member
                      • May 2006
                      • 52

                      #25
                      Originally posted by random.n!ck
                      Hi,

                      Thank you for the ZabbixAgent.Net!

                      I am trying to configure it with the provided Configuration tool.

                      Could you please verify the meaning of some of the fields, please?

                      Customer group = "Group" in Zabbix?
                      Update Service = ?

                      Local bound port = ? (for SSH [22] or for the Agent [10050])

                      I have created an SSH private key, that I can use with Putty to auto login to the Zabbix server box. Using the same .ppk file and SSH user name which works for me with Putty, does not seem to work when pressing Test Connection... it does not seem to retrieve the host key.

                      In the log file I have these entries:

                      2006-09-06 16:42:15,929 ERROR net.sourceforge.zabbixagent.connection - Could not connect to local tunnel. Check the secure tunnels and the monitor server is up. A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond
                      2006-09-06 16:42:16,211 DEBUG net.sourceforge.zabbixagent.tunneler - Started secure connection
                      2006-09-06 16:42:16,226 ERROR net.sourceforge.zabbixagent.tunneler - Restarting secure connection for Agent

                      Thank you very much!

                      Cheers,
                      Nick
                      Hi. Sorry for the late reply.

                      Customer Group and Update service is for update service. So the agent can update it self. Ill release a test sourcecode and wdsl to be used for it when i get the time.

                      LocalBoundPort is the address, in which SSH bind it's local port. So the agent connect's to "localhost:localboundport" when trying to access the zabbix server. In the new version of the agent (Which aint builded yet and released ), it will be possible to add zabbix server and ssh server each. Instead of the ssh server have to be at the zabbix server.

                      It should receive the host key. Is it in

                      HKEY_USERS\.DEFAULT\Software\SimonTatham\PuTTY\Ssh HostKeys ?

                      It looks there for the host key. Copy it over from

                      HKEY_CURRENT_USER\Software\SimonTatham\PuTTY\SshHo stKeys

                      if it's not there.

                      The new version includes alot of work from Erisan, and a few new counters.

                      Comment

                      • DFx_Tech
                        Junior Member
                        • Sep 2006
                        • 4

                        #26
                        I'm having a little problem with the client, I've just installed, configured and restarted it and after about a minute the log is 100 megs and growing.

                        It seems to consist of the following repeated segment:

                        Code:
                        2006-09-29 13:12:42,823 DEBUG net.sourceforge.zabbixagent.util.classutils - Class Scan Begin
                        2006-09-29 13:12:42,823 INFO  net.sourceforge.zabbixagent.util.classutils - Counter: FileExist found
                        2006-09-29 13:12:42,823 INFO  net.sourceforge.zabbixagent.util.classutils - Counter: FileTime found
                        2006-09-29 13:12:42,823 INFO  net.sourceforge.zabbixagent.util.classutils - Counter: Perfcounter found
                        2006-09-29 13:12:42,823 INFO  net.sourceforge.zabbixagent.util.classutils - Counter: RemoteUpdate found
                        2006-09-29 13:12:42,823 INFO  net.sourceforge.zabbixagent.util.classutils - Counter: ServiceState found
                        2006-09-29 13:12:42,823 INFO  net.sourceforge.zabbixagent.util.classutils - Counter: SQLSelect found
                        2006-09-29 13:12:42,823 INFO  net.sourceforge.zabbixagent.util.classutils - Counter: UnknownCounter found
                        2006-09-29 13:12:42,823 INFO  net.sourceforge.zabbixagent.util.classutils - Counter: VersionCounter found
                        2006-09-29 13:12:42,823 INFO  net.sourceforge.zabbixagent.util.classutils - Counter: Httping found
                        2006-09-29 13:12:42,823 DEBUG net.sourceforge.zabbixagent.util.classutils - Class Scan Ended
                        2006-09-29 13:12:42,823 INFO  net.sourceforge.zabbixagent.active - Starting agent [ZabbixAgent.NET 0.9 Build: 11]
                        2006-09-29 13:12:42,823 DEBUG net.sourceforge.zabbixagent.active - An existing connection was forcibly closed by the remote host   at System.Net.Sockets.Socket.Receive(Byte[] buffer, Int32 offset, Int32 size, SocketFlags socketFlags)
                           at System.Net.Sockets.Socket.Receive(Byte[] buffer, Int32 size, SocketFlags socketFlags)
                           at ZabbixAgent.Connection.SendTo(String message)
                           at ZabbixAgent.Active.get_active_checks()
                        Thanks for making this client available, I hope it's a simple fix for whatever is causing this.

                        -Jon

                        Comment

                        • mbjoerling
                          Member
                          • May 2006
                          • 52

                          #27
                          Hi.

                          Yes, its a bug ( that it feels up the log to 100mb in no time ), it is fixed in CVS But there is still some work to do, before it can be used. ( There's a new client configurator in CVS, but the client have a little bit more work todo.

                          Are you using SSH?, the client will connect to localhost if used, and then it will just go berzerk if connection is not found, causing the log file to get filled up.

                          Comment

                          • DFx_Tech
                            Junior Member
                            • Sep 2006
                            • 4

                            #28
                            Hi, thanks for the reply.

                            I'm not using SSH, the configuration response from the first part of the log is:

                            Code:
                            2006-10-03 09:54:00,168 INFO  net.sourceforge.zabbixagent.configuration - Configuration: 
                            2006-10-03 09:54:00,168 INFO  net.sourceforge.zabbixagent.configuration - 	Customer Name: 
                            2006-10-03 09:54:00,183 INFO  net.sourceforge.zabbixagent.configuration - 	Hostname: dfxws12.DFX.local
                            2006-10-03 09:54:00,183 INFO  net.sourceforge.zabbixagent.configuration - 	Use SSH for Zabbix: 0
                            2006-10-03 09:54:00,183 INFO  net.sourceforge.zabbixagent.configuration - 	Zabbix Host: 192.168.158.70 
                            2006-10-03 09:54:00,183 INFO  net.sourceforge.zabbixagent.configuration - 	Zabbix Local Port 
                            2006-10-03 09:54:00,183 INFO  net.sourceforge.zabbixagent.configuration - 	Zabbix Remote Port 10051
                            Something interesting has happened today, I stopped and restated both the ZabbixAgent.net service and the TMCare service and now the log only contains two startup messages and no errors (or anything else).

                            Process explorer doesn't show any listening ports or connections for either service though.

                            Could this be an issue with the Network settings on this machine?


                            edit:

                            Doing some debugging with ethereal, this looks suspiciously like a successful query of the Zabbix server by the client. Although Zabbix claims it has no connectivity to the client.

                            Local:
                            ZBX_GET_ACTIVE_CHECKS dfxws12.DFX.local

                            Zabbix box:
                            ZBX_EOF


                            But if I do a "telnet <client IP> 10050" I get connection refused, if I try the same with a Win2003 box running the official client telnet connects and I can query the version.

                            So it doesn't seem to be listening but appears to be able to talk to the server now.
                            Last edited by DFx_Tech; 03-10-2006, 16:46.

                            Comment

                            • mbjoerling
                              Member
                              • May 2006
                              • 52

                              #29
                              Hehe. Yea actually when it's not reporting anything it works.

                              When you add items to the host, then it will write that it load the items in the log. ( and report if it dosent work )

                              There is no passive function yet, so a telnet client can't connect to the agent and because of that, only Active items will be send to the agent

                              Ill pm you something i've wrote about it.

                              Comment

                              • DFx_Tech
                                Junior Member
                                • Sep 2006
                                • 4

                                #30
                                Thanks for the PM, I've got it up and running now.

                                Although I'm having problems with some of the counters, I don't know if I'm configuring it wrong or the ability to read all the counters is implemented yet?

                                I've currently got:

                                perf_counter[\Memory\Available Bytes]
                                perf_counter[\Memory\Pages/sec],30
                                perf_counter[\Memory\Transition Faults/sec],5
                                perf_counter[\PhysicalDisk(_Total)\% Idle Time]
                                perf_counter[\Processor(_Total)\% Processor Time]
                                perf_counter[\Processor(_Total)\Interrupts/sec],5
                                perf_counter[\System\Processor Queue Length],5
                                perf_counter[\System\System Up Time]

                                And only 'Memory\Available Bytes', 'System\System Up Time' and 'System\Processor Queue Length' are reporting anything other than zero (using the windows performance tool on the machine shows the counters do provide data).

                                The log shows worker threads being started for all the counters and no errors.
                                The type for all the items is 'ZABBIX agent (active)' and it is receiving data for all the items (graphs scrolling etc..).

                                Thanks for your patience!

                                Comment

                                Working...