Ad Widget

Collapse

Use zabbix in non-TCP/IP networks

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • tokland
    Junior Member
    • Mar 2007
    • 2

    #1

    Use zabbix in non-TCP/IP networks

    Hi,

    I have a network with some computers and I want to monitor them with Zabbix. The problem is that these computers can only send/receive e-mails, no TCP/IP service are available. So, my question is: how can I setup Zabbix to monitor them? is there any way to communicate with the agent through SMTP?

    thanks
  • James Wells
    Senior Member
    • Jun 2005
    • 664

    #2
    Greetings,
    Originally posted by tokland
    I have a network with some computers and I want to monitor them with Zabbix. The problem is that these computers can only send/receive e-mails, no TCP/IP service are available. So, my question is: how can I setup Zabbix to monitor them?
    Based on what you describe, Zabbix will provide very little use to you and will almost be more work than it is worth. Please note I am not trying to turn you away, but what you describe is not capable of supporting any current or semi-current monitoring system.

    First, saying that your network uses SMTP only means that you have only a single machine, or a group of single machines, that can neither send nor receive anything, including email from each other. SMTP is not a network protocol, instead it is a mail transfer protocol. In order to transfer the mail, it must have some kind of network protocol underneath it, or else the mail goes no where nor can any mail be received from anywhere else.

    You then condradict yourself by saying that they send and receive email, but that means that they do have a network protocol of some kind underneath the SMTP. What network protocol is this? I ask because that is how your systems communicate with each other and that will be the mechanism that Zabbix will have to use.

    In and of itself, Zabbix requires TCP/IP, even if it is only using the localhost standard, it is still required as there is no other layer 2 / 3 / 4 protocol that Zabbix supports natively. Zabbix can be ported to support them, but I doubt you will get much help doing so.

    The Zabbix server can communicate with a database, assuming that the database is configured to use local sockets, but if you wish the database and the server to be on different machines, then it requires that you have TCP/IP.

    The Zabbix agents can communicate with the zabbix server, only over TCP/IP, even when run on the same machine.

    The Zabbix UI can communicate with the database, assuming that the database is configured to use local sockets, however, there will be no mechanism for you to actually use the UI without TCP/IP as it is HTTP based connection, which requires TCP/IP underneath.

    Now, after having said that, I can now explain how to make it work, if you only allow SMTP connections over TCP/IP. Please note that this will require at least one machine with a complete TCP/IP stack, preferably two. The first machine will run the database, Zabbix Server, Zabbix Agent, and UI. If you have a second machine it will be your web browser, otherwise your first server will need to have a web browser as well. Additionally, if you have the web browser machine, it will require a complete TCP/IP stack as well.

    What you will do is create a SMTP mail server on the Zabbix Server machine. You will then need a user that will receive the mail from the other machines and pass the contents of the email through a script. This script will inject the data in the Zabbix server, using the zabbix_sender command with the arguments being generated by the script.

    The server will then post the data to the database, process the items, triggers, and alerts. The alerts will have to go out the local mail server to your notification point.

    As I said, it is almost more work than it is worth.
    Last edited by James Wells; 23-03-2007, 23:02.
    Unofficial Zabbix Developer

    Comment

    • tokland
      Junior Member
      • Mar 2007
      • 2

      #3
      First of all, James, thanks for you detailed response.

      The reference to "STMP" was not precise, my fault. I didn't want to explain the details, but it's very simple: I have e-mail transfer using UUCP (over a AX25 radio). That why there is no TCP/IP involved but I am still able to send/receive e-mail. I refered to STMP because I can use the local machine and then redirect the mail to another one (I do POP3/SMTP, but locally, of course)

      > What you will do is create a SMTP mail server on the Zabbix Server machine. >You will then need a user that will receive the mail from the other machines and >pass the contents of the email through a script. This script will inject the data in >the Zabbix server, using the zabbix_sender command with the arguments being >generated by the script.

      In fact, that's what I am currently doing :-) Yes, it's a bit of work, but it was the only way I saw to achieve it. I use procmailrc to feed a script that processes the incoming data and calls zabbix_sender to write the database.

      As I consider this a hack, I wanted to know if there is a native way to do this in Zabbix (current or future versions...). For your response I assume that what I am doing is the only feasible way for now.

      Thanks

      Comment

      • tronite
        Senior Member
        • Jun 2007
        • 147

        #4
        Originally posted by tokland
        First of all, James, thanks for you detailed response.

        The reference to "STMP" was not precise, my fault. I didn't want to explain the details, but it's very simple: I have e-mail transfer using UUCP (over a AX25 radio). That why there is no TCP/IP involved but I am still able to send/receive e-mail. I refered to STMP because I can use the local machine and then redirect the mail to another one (I do POP3/SMTP, but locally, of course)

        > What you will do is create a SMTP mail server on the Zabbix Server machine. >You will then need a user that will receive the mail from the other machines and >pass the contents of the email through a script. This script will inject the data in >the Zabbix server, using the zabbix_sender command with the arguments being >generated by the script.

        In fact, that's what I am currently doing :-) Yes, it's a bit of work, but it was the only way I saw to achieve it. I use procmailrc to feed a script that processes the incoming data and calls zabbix_sender to write the database.

        As I consider this a hack, I wanted to know if there is a native way to do this in Zabbix (current or future versions...). For your response I assume that what I am doing is the only feasible way for now.

        Thanks
        I wonder if this is now included in the latest version of zabbix 1.4.

        Comment

        Working...