Ad Widget

Collapse

Уникальность ключа Элемента

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • Anti_virus
    Junior Member
    • Jul 2007
    • 7

    #1

    Уникальность ключа Элемента

    Всем привет.

    Никто не сталкивался с обходным решение уникальности ключа на одном хосте?

    Ситуация следующая: на 1 хосте до 50 шаблонов, и соответственно 50 интерфейсов, на каждый по одинаковому набору элементов.

    Изначально сделал скрипт, который запускает агент, и выкидывая "соль" обрабатывает остальное.

    Пример:
    server.vfs.file.exists[SERVER1,/usr/local/file]
    Обработка такая:
    /usr/sbin/zabbix_agent -t $ch[$3] | awk -F '|' '{print $2;}' | sed 's/\]//g'

    Но сейчас понадобилось добавлять элементы с regexp и скрипт их обрабатывает очень коряво.

    Варианта вижу два:
    1. Привязка уникальности hostid + key_ + interfaceid (на шаблоне соответственно завести несколько одинаковых не получится).
    Очень много надо менять в API/PHP. Не совсем понятно где...Направьте..
    В БД поменял UNIQ на указанную выше связку, В CItemGeneral.php поменял(код могу дать), на один хост могу теперь добавлять одинаковые ключи с разными InterfaceID. Но при шаблоне эта схема не работает.

    2. "Солить" сам ключ, и при чтении его сервером/прокси обрезать "соль".
    По сути замена одна:
    в Function: zbx_host_key_string
    src/libs/zbxdbhigh/db.c поменять запрос. НО! Тут проблема с тем что у меня сервер на oracle а прокси на mysql. И REGEXP_REPLACE в mysql нет

    Предложите плиз решение.

    PS: Вообще конечно странно, оставлять уникальность только по ключу, при том что интерфейсов может быть много...
    Last edited by Anti_virus; 13-04-2015, 16:32.
Working...