Ad Widget

Collapse

Структура базы данных (Database Structure)

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • zerstroer
    Junior Member
    • Jul 2009
    • 22

    #1

    Структура базы данных (Database Structure)

    Здравствуйте, уважаемые!
    Мне требуется экспорт в эксель истории срабатывания триггеров. База на MySQL. Осуществляю посредством вытяжки из базы данных. Проблема в том, что я не знаю в какой таблице базы хранится эта информация.
    Подскажите пожалуйста!
    Содержит ли в себе вообще БД Zabbix такие данные и в какой таблице они хранятся?
    И вообще, был бы рад логическому описанию базы данных.
    Спасибо заранее!
  • dotneft
    Senior Member
    • Nov 2008
    • 699

    #2
    ÷òî òî íàïîäîáèè ýòîãî

    Code:
    SELECT
    	DISTINCT t.triggerid,
    	t.status,
    	t.description,
    	t.expression,
    	t.priority,
    	t.lastchange,
    	t.comments,
    	t.url,
    	t.value,
    	h.host,
    	h.hostid,
    	t.type
    FROM
    	triggers t,
    	hosts h,
    	items i,
    	functions f
    WHERE
    	t.status=0 AND
    	f.triggerid=t.triggerid AND
    	i.itemid=f.itemid AND
    	i.status=0 AND
    	h.hostid=i.hostid AND
    	h.status=0 AND
    	((t.value=1) OR
    	((t.value=0) AND
    	((1247169947-t.lastchange)<1800)))
    ORDER BY
    	t.lastchange ASC

    Comment

    • Aly
      ZABBIX developer
      • May 2007
      • 1126

      #3
      Это сами триггеры, а история хранится в таблице 'events' с 'events.object=0'
      Zabbix | ex GUI developer

      Comment

      • zerstroer
        Junior Member
        • Jul 2009
        • 22

        #4
        Спасибо огромное, очень признателен!

        Comment

        • zerstroer
          Junior Member
          • Jul 2009
          • 22

          #5
          Еще 3 вопроса.

          Время в таблицах выглядит в форме 1245255738 или 1246377704. Как привести к читаемому
          виду в формат, например 'YYYY-MM-DD HH:MM:SS'?

          Что содержится в полях events.acknowledged и t.lastchange?

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

          Comment

          • dotneft
            Senior Member
            • Nov 2008
            • 699

            #6
            Originally posted by zerstroer
            Âðåìÿ â òàáëèöàõ âûãëÿäèò â ôîðìå 1245255738 èëè 1246377704. Êàê ïðèâåñòè ê ÷èòàåìîìó
            âèäó â ôîðìàò, íàïðèìåð 'YYYY-MM-DD HH:MM:SS'?
            ÁÄ êàêàÿ? MySQL?

            from_unixtime()

            Comment

            • zerstroer
              Junior Member
              • Jul 2009
              • 22

              #7
              Спасибо, признателен.

              Жду ответа на два оставшихся вопроса:

              Что содержится в полях events.acknowledged и triggers.lastchange?

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

              Comment

              • dotneft
                Senior Member
                • Nov 2008
                • 699

                #8
                Originally posted by zerstroer
                Ñïàñèáî, ïðèçíàòåëåí.

                Æäó îòâåòà íà äâà îñòàâøèõñÿ âîïðîñà:

                ×òî ñîäåðæèòñÿ â ïîëÿõ events.acknowledged è triggers.lastchange?

                È äîñòóïíà ëè ãäå-íèáóäü äèàãðàììà áàçû äàííûõ Zabbix èëè áîëåå ìåíåå ïîäðîáíîå îïèñàíèå áàçû, ñ ïîÿñíåíèåì çíà÷åíèé? Âñå. â ïðèíöèïå, è òàê ïîíÿòíî èíòóèòèâíî, íî ñëîæíîñòü äîñòàâëÿþò íåêîòîðûå ïîëÿ, ñîäåðæàíèå êîòîðûõ íåèçâåñòíî è äîãàäàòüñÿ òðóäíî.
                Íàñêîëüêî ìíå èçâåñòíî íå ñóùåñòâóåò.

                events.acknowledged - ïîäòâåðæäåííîå ñîáûòèå èëè íåò.
                triggers.lastchange - ïîñëåäíå èçìåíåíèå ñîñòîÿíèå òðèããåðà.

                Comment

                • noname
                  Senior Member
                  • Jan 2008
                  • 120

                  #9
                  Originally posted by zerstroer
                  И доступна ли где-нибудь диаграмма базы данных zabbix или более менее подробное описание базы, с пояснением значений? Все. в принципе, и так понятно интуитивно, но сложность доставляют некоторые поля, содержание которых неизвестно и догадаться трудно.
                  Раз интуитивно все понятно, то опиши сам вкратце, конечно если есть желание, что и за что отвечает и выложи на вики. Думаю, разработчики будут тебе признательны; кому-то может твоя информация понадобится; сам разберешься досконально.

                  Comment

                  • zerstroer
                    Junior Member
                    • Jul 2009
                    • 22

                    #10
                    Возникли еще вопросы с базой данных.
                    Вопросы связаны с историей. Если история срабатывания триггеров хранится в events где events.object = 0, то задаю следующие вопросы:

                    1. Как узнать, в какое положение изменился триггер?
                    2. В каком поле вообще хранится статус триггера?
                    3. Как определить какой user был в момент изменения положения триггера (определенного eventa должно быть) был в системе активен?

                    Заранее благодарю.

                    Comment

                    • dotneft
                      Senior Member
                      • Nov 2008
                      • 699

                      #11
                      Originally posted by zerstroer
                      Возникли еще вопросы с базой данных.
                      Вопросы связаны с историей. Если история срабатывания триггеров хранится в events где events.object = 0, то задаю следующие вопросы:

                      1. Как узнать, в какое положение изменился триггер?
                      2. В каком поле вообще хранится статус триггера?
                      3. Как определить какой user был в момент изменения положения триггера (определенного eventa должно быть) был в системе активен?

                      Заранее благодарю.

                      узнаешь кто был.
                      Code:
                      select u.alias,u.name where 
                      					(SELECT userid,lastaccess FROM sessions WHERE 
                      							lastaccess>=unix_timestamp('2009-07-22 00:00:00')
                                                                                                    AND status=0
                      					) as sess
                      					FROM users u ON u.userid=sess.userid;
                      2. В каком поле вообще хранится статус триггера?
                      triggers.status
                      Last edited by dotneft; 22-07-2009, 04:24.

                      Comment

                      • zerstroer
                        Junior Member
                        • Jul 2009
                        • 22

                        #12
                        Возник вопрос. Достаточно критичный и серьезный.
                        узнаешь кто был.
                        Code:

                        select u.alias,u.name where
                        (SELECT userid,lastaccess FROM sessions WHERE
                        lastaccess>=unix_timestamp('2009-07-22 00:00:00')
                        AND status=0
                        ) as sess
                        FROM users u ON u.userid=sess.userid;


                        Этим кодом невозможно однозначно определить сессию, в период которой произошел event. Есть ли где нибудь привязка по sessionid???

                        Есть ли какая либо привязка между events и sessions???

                        ================================================== ===
                        Самостоятельно написал функцию. Прошу проверить ее работу. Логика правильная?

                        use zabbix;
                        --функция возвращает пользователя работавшего в сессию в которую приключилось dttm
                        CREATE FUNCTION getUserSess (dttm INTEGER(10))
                        RETURNS varchar(100) DETERMINISTIC
                        RETURN (
                        select u.name from sessions s
                        join users u on u.userid = s.userid
                        where lastaccess =
                        (select min(lastaccess) from sessions where lastaccess>= dttm)
                        );
                        Last edited by zerstroer; 21-08-2009, 11:49. Reason: Уточнение

                        Comment

                        • bga83
                          Senior Member
                          • Sep 2011
                          • 268

                          #13
                          Есть ли где-нибудь описание структуры используемой БД?
                          Мне нужен отчет по произошедшим проблемам за последние сутки/неделю, который бы автоматически отправлялся бы руководству. Сам интерфейс zabbix не позволяет сформировать такой отчет, поэтому решил использовать iReport, но без понимания структуры БД тяжко реализовать

                          Comment

                          • Kirill
                            Junior Member
                            • Dec 2011
                            • 1

                            #14
                            Здравствуйте.
                            Присоединяюсь к запросам на опубликование схемы БД. Есть необходимость делать специфические отчеты для начальства.

                            Comment

                            • kxdemon
                              Junior Member
                              • Dec 2011
                              • 1

                              #15
                              Здравствуйте, меня бы устроило описание названий таблиц, т.е. какая для чего:
                              интересует что можно опустить при репликации БД в PostgreSQL для другого standby забикс-сервера. (например логи и прочее, что пишется при работающем мониторинге не нужно; а все параметры, настройки, узлы нужно синхронизировать в обоих БД)

                              Comment

                              Working...