Ad Widget

Collapse

таблица ids в zabbix

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • apostle
    Junior Member
    • Feb 2012
    • 11

    #1

    таблица ids в zabbix

    столкнулся с удивительным. по причине косяков в реализации модели безопасности в zabbix (нет возможности раздавать права на карты в том случае, если на них нет объектов zabbix), решил добавить на все карты - заготовки или те, где объекты указаны только изображениями, - объект, доступа к к-рому нет у пользователей, к-рых требуется ограничить.

    карт много, добавлять на каждую вручную объект неудобно; я решил воспользоваться sql-скриптом для вставки объекта на все такие карты, равно как и поиска таких карт (а их реально много - всего сейчас более 150).

    первый удар ждал меня, когда я обнаружил, что поле selement_id не является автоинкрементальным. цифр, что ли, разработчикам жалко? =)

    но после создания объектов возникла другая проблема - при попытке добавить новый объект на карту я получал упорно ошибку duplicate key для selementid, к-рый и вправду равнялся id, к-рый я уже использовал при ручной вставке.

    поиски таки привели меня к табл ids, где, как оказалось, записаны название таблицы, поля и - внимание! - последнего значения для него...

    наверное, я чего-то не понимаю, но объясните мне смысл такого действия. черт с ним, хотя такая таблица, imho, надругательство над здравым смыслом, но почему хотя бы его не сделать вычисляемым? воспользоваться теми же триггерами и т.д.

    а лучше, imho, вообще от нее избавиться - автоинкремент и забыть про все это ручно-педалируемое вычисление id, как страшный сон.
  • dotneft
    Senior Member
    • Nov 2008
    • 699

    #2
    Да, вы не понимаете для была введена эта таблица. Прежде чем что то делать в базе данных ручками вам бы следовало поизучать материал что и как, и с чем едят.

    Не думайте, что разработчики идиоты раз ввели такую схему. Ввели, значит была необходимость.

    В дальнейшем рекомендую вам пользоваться встроенными средствами Zabbix API вместо direct запросов в базу данных.

    Сейчас же я вам порекомендую удалить запись о таблице sysmaps_elements из ids. При следующем добавлении записей в таблицу ids будет занесена информация о следующем id автоматически.

    Comment

    • zalex_ua
      Senior Member
      Zabbix Certified Trainer
      Zabbix Certified SpecialistZabbix Certified Professional
      • Oct 2009
      • 1286

      #3
      Originally posted by apostle
      наверное, я чего-то не понимаю, но объясните мне смысл такого действия.
      Вот именно, не понимаете.
      Таблица ids возникла при внедрении нод (распределеного мониторинга).

      Впрочем вот тут ZBXNEXT-1343 грядут изменения.

      Comment

      • apostle
        Junior Member
        • Feb 2012
        • 11

        #4
        Originally posted by dotneft
        Прежде чем что то делать в базе данных ручками вам бы следовало поизучать материал что и как, и с чем едят.
        Вы можете подсказать, где присутствует материал в документации о структуре и взаимосвязях БД Zabbix?

        Не думайте, что разработчики идиоты раз ввели такую схему. Ввели, значит была необходимость.
        идиоты, конечно, вряд ли, но вот то, что многие решения либо сомнительны, либо являются компромисами м/ду плохим и очень плохим - в этом я уверен.


        Сейчас же я вам порекомендую удалить запись о таблице sysmaps_elements из ids.
        я ее просто обновил до моего последнего значения, и все заработало, но осадок остался, почему и я yfgbcfнаписал пост.

        Originally posted by zalex_ua
        Таблица ids возникла при внедрении нод (распределеного мониторинга).
        Спасибо за информацию. Если я правильно понимаю, то причиной была возможность синхронизировать только одну табл м/ду нодами? Если так, решение все равно сомнительное, т.к. существуют другие варианты: использовать для уникальной идентификации записей, хостов и т.д. guid'ы.
        Это кстати, решало бы проблему того, что сейчас хосты идентифицируются по имени при поступлении инфомации на zabbix proxy/server. Как рез-т - 2 хоста с одинаковым именем в разных сетях смешиваются и система zabbix не может определить, кто из них какой.

        Впрочем вот тут ZBXNEXT-1343 грядут изменения.
        из текста следует, что изменения будут не такими значительными:
        Code:
        Remove field ids.nodeid
        …
        Primary key of ids should be modified to table_name+field_name
        Сама идея табл ids сохраняется.

        Comment

        Working...