Ad Widget

Collapse

NodeID integer only?

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • martin.marcher
    Junior Member
    • Nov 2007
    • 22

    #1

    NodeID integer only?

    Hi,

    are the node IDs in distrubuted setups integer only or can we just use a UUID that we generate?
  • Alexei
    Founder, CEO
    Zabbix Certified Trainer
    Zabbix Certified SpecialistZabbix Certified Professional
    • Sep 2004
    • 5654

    #2
    NodeIDs are integers, no UUID can be used.
    Alexei Vladishev
    Creator of Zabbix, Product manager
    New York | Tokyo | Riga
    My Twitter

    Comment

    • martin.marcher
      Junior Member
      • Nov 2007
      • 22

      #3
      Originally posted by Alexei
      NodeIDs are integers, no UUID can be used.
      Is there a reason for that?

      I've been thinking about it and don't quite understand this. We need:
      • unique hostname for active checks
      • unique nodenames (on the server)
      How come?

      With a UUID you could always have it generated anyway and kill a source of error in the configuration.

      To me that sounds like a good idea to use UUIDs instead of numeric NodeIds (and hostnames in the agent config)

      Comment

      • Alexei
        Founder, CEO
        Zabbix Certified Trainer
        Zabbix Certified SpecialistZabbix Certified Professional
        • Sep 2004
        • 5654

        #4
        Originally posted by martin.marcher
        Is there a reason for that?
        Sure there is! It is because we have a limit of 1K of nodes maximum.
        Alexei Vladishev
        Creator of Zabbix, Product manager
        New York | Tokyo | Riga
        My Twitter

        Comment

        • martin.marcher
          Junior Member
          • Nov 2007
          • 22

          #5
          Originally posted by Alexei
          Sure there is! It is because we have a limit of 1K of nodes maximum.
          Are you saying that I can't have NodeIds starting at 1000?

          Because I can't see how with an SQL backend a numeric NodeID correlates to the number of tuples in a table.

          Does that mean I can't have:
          • NodeId 1
          • NodeId 950
          • NodeId 1050
          Seems strange to me.

          Comment

          • Alexei
            Founder, CEO
            Zabbix Certified Trainer
            Zabbix Certified SpecialistZabbix Certified Professional
            • Sep 2004
            • 5654

            #6
            Originally posted by martin.marcher
            Are you saying that I can't have NodeIds starting at 1000?
            Of course you cannot. Check ZABBIX Documentation. The ID is in range of 0-999 only.

            Hmm, a correlation between NodeID and the number of tuples?!
            Alexei Vladishev
            Creator of Zabbix, Product manager
            New York | Tokyo | Riga
            My Twitter

            Comment

            • martin.marcher
              Junior Member
              • Nov 2007
              • 22

              #7
              I'm thinking of something that pushs/pulls the config from the master (like with proxies if I understand "16.2.Proxy v.s. Node" correctly) - of course those would need a unification before that.

              Code:
              zabbix=# \d hosts
                                                   Table "public.hosts"
                     Column       |          Type          |                    Modifiers
              --------------------+------------------------+-------------------------------------------------
               hostid             | bigint                 | not null default 0::bigint
               proxy_hostid       | bigint                 | not null default 0::bigint
               host               | character varying(64)  | not null default ''::character varying
               dns                | character varying(64)  | not null default ''::character varying
               useip              | integer                | not null default 1
               ip                 | character varying(39)  | not null default '127.0.0.1'::character varying
               port               | integer                | not null default 10050
               status             | integer                | not null default 0
               disable_until      | integer                | not null default 0
               error              | character varying(128) | not null default ''::character varying
               available          | integer                | not null default 0
               errors_from        | integer                | not null default 0
               lastaccess         | integer                | not null default 0
               inbytes            | bigint                 | not null default 0::bigint
               outbytes           | bigint                 | not null default 0::bigint
               useipmi            | integer                | not null default 0
               ipmi_port          | integer                | not null default 623
               ipmi_authtype      | integer                | not null default 0
               ipmi_privilege     | integer                | not null default 2
               ipmi_username      | character varying(16)  | not null default ''::character varying
               ipmi_password      | character varying(20)  | not null default ''::character varying
               ipmi_disable_until | integer                | not null default 0
               ipmi_available     | integer                | not null default 0
               snmp_disable_until | integer                | not null default 0
               snmp_available     | integer                | not null default 0
              Indexes:
                  "hosts_pkey" PRIMARY KEY, btree (hostid)
                  "hosts_1" btree (host)
                  "hosts_2" btree (status)
                  "hosts_3" btree (proxy_hostid)
              Insert a node_hostid and you are done with:

              Code:
              select hostid, proxy_hostid, node_hostid, host from hosts;
              select count * from from hosts where node_hostid <> '';
              one could than use arbitrary proxy/node IDs in the config.

              Comment

              • Alexei
                Founder, CEO
                Zabbix Certified Trainer
                Zabbix Certified SpecialistZabbix Certified Professional
                • Sep 2004
                • 5654

                #8
                Please do more code research (hint, structure of any ID in the database) or visit "ZABBIX for Large Environments" training course. The limit of 1K of nodes is much more fundamental, it has nothing to do with a number of records, type or length of NodeID, whatever. Structure of the IDs (like itemid, hostid, etc) is what really matters.
                Alexei Vladishev
                Creator of Zabbix, Product manager
                New York | Tokyo | Riga
                My Twitter

                Comment

                • martin.marcher
                  Junior Member
                  • Nov 2007
                  • 22

                  #9
                  Originally posted by Alexei
                  ...or visit "ZABBIX for Large Environments" training course....
                  I've been thinking about that actually.

                  Right now I'm fighting with OpenVZ and the ZBX_TCP_READ problem some people are having.

                  Well I'll see I've been using zabbix in a small env with about 30 hosts in my last company and now I'm trying to get my colleagues into zabbix where we currently have ~200 instances in AT, NL and US.

                  I don' remember that problem from 1.4 but I guess it's more a problem between keyboard and chair

                  Comment

                  Working...