Ad Widget

Collapse

Установка агента Zabbix из исходников / FreeBSD x64

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • fadem
    Junior Member
    • Oct 2015
    • 16

    #1

    Установка агента Zabbix из исходников / FreeBSD x64

    Уважаемые, у меня два вопроса (впрочем, связанных между собой):

    1. Как наиболее корректно апгрэйдить версию агента на FreeBSD x64 (R8-R10), не используя fetch портов? (можно ли "натравить" установщик на уже существующий конфиг от прежней версии агента?)

    2. Как поставить агент из исходников, скачанных с офф. сайта?

    Поясню, у меня есть сервера на FreeBSD R8 x64, которые из портов по дефолту ставят агент 1.8 ... соотвественно я хотел бы апнуть их до 2.2 (поскольку сервер у меня 2.2), причем не трогая порты самой фри.

    Качаю zabbix-2.2.10.tar.gz (готовые пакеты там к 8-ке только x32), нахожу в /src/zabbix_agent/ набор файлов. Судя по инструкции в INSTALL

    The simplest way to compile this package is:

    1. `cd' to the directory containing the package's source code and type
    `./configure' to configure the package for your system.
    , достаточно выполнить комбинацию (перейдя по #cd в директорию ):

    ./configure
    make
    make install

    Однако на первой же команде я получаю посыл:
    [root@raildb /home/hulio/zabbix-2.2.10/src/zabbix_agent]# ls -l
    total 388
    -rw-r--r-- 1 root wheel 2413 Aug 10 13:37 Makefile.am
    -rw-r--r-- 1 root wheel 54608 Aug 10 13:38 Makefile.in
    -rw-r--r-- 1 root wheel 45377 Aug 10 13:37 active.c
    -rw-r--r-- 1 root wheel 3314 Aug 10 13:37 active.h
    -rw-r--r-- 1 root wheel 18741 Aug 10 13:37 cpustat.c
    -rw-r--r-- 1 root wheel 1993 Aug 10 13:37 cpustat.h
    -rw-r--r-- 1 root wheel 5470 Aug 10 13:37 diskdevices.c
    -rw-r--r-- 1 root wheel 2153 Aug 10 13:37 diskdevices.h
    -rw-r--r-- 1 root wheel 30601 Aug 10 13:37 eventlog.c
    -rw-r--r-- 1 root wheel 6409 Aug 10 13:37 eventlog.h
    -rw-r--r-- 1 root wheel 3117 Aug 10 13:37 listener.c
    -rw-r--r-- 1 root wheel 902 Aug 10 13:37 listener.h
    -rw-r--r-- 1 root wheel 85040 Aug 10 13:37 logfiles.c
    -rw-r--r-- 1 root wheel 2154 Aug 10 13:37 logfiles.h
    -rw-r--r-- 1 root wheel 11992 Aug 10 13:37 perfstat.c
    -rw-r--r-- 1 root wheel 1566 Aug 10 13:37 perfstat.h
    -rw-r--r-- 1 root wheel 15636 Aug 10 13:37 stats.c
    -rw-r--r-- 1 root wheel 1916 Aug 10 13:37 stats.h
    -rw-r--r-- 1 root wheel 13563 Aug 10 13:37 vmstats.c
    -rw-r--r-- 1 root wheel 1728 Aug 10 13:37 vmstats.h
    -rw-r--r-- 1 root wheel 8314 Aug 10 13:37 zabbix_agent.c
    -rw-r--r-- 1 root wheel 24119 Aug 10 13:37 zabbix_agentd.c
    -rw-r--r-- 1 root wheel 7780 Aug 10 13:37 zbxconf.c
    -rw-r--r-- 1 root wheel 1671 Aug 10 13:37 zbxconf.h
    [root@raildb /home/hulio/zabbix-2.2.10/src/zabbix_agent]# ./configure
    su: ./configure: No such file or directory
    Вроде все что нужно для сборки в системе есть:

    [root@raildb /home/hulio/zabbix-2.2.10/src/zabbix_agent]# whereis autoconf
    autoconf: /usr/local/bin/autoconf /usr/ports/devel/autoconf
    [root@raildb /home/hulio/zabbix-2.2.10/src/zabbix_agent]# whereis make
    make: /usr/bin/make /usr/share/man/man1/make.1.gz
    Подскажите правельный порядок действий! Признаться, я не большой спец в ручной установке софта во фре...
  • sadman
    Senior Member
    • Dec 2010
    • 1611

    #2
    Code:
    cd /home/hulio/zabbix-2.2.10/
    ./configure --help 
    ./configure --enable-agent
    make
    ....

    Comment

    • Jimson
      Senior Member
      • Jan 2008
      • 1327

      #3
      Совсем уже мир сошел с ума.

      cd /usr/ports/net-mgmt/zabbix22-agent
      make install clean

      Как порты обновлять надо объяснять? Порты не связаны с версией системы, порты всегда HEAD.

      Comment

      • fadem
        Junior Member
        • Oct 2015
        • 16

        #4
        Originally posted by Jimson
        Совсем уже мир сошел с ума.

        cd /usr/ports/net-mgmt/zabbix22-agent
        make install clean

        Как порты обновлять надо объяснять? Порты не связаны с версией системы, порты всегда HEAD.
        Уважаемые, спасибо за отклик, но вы не до конца поняли постановку проблемы, я не зря написал что у меня сервера с FreeBSD R8 и мне необходимо обойтись без fetch'а портов.

        В стоке у этой версии фри в портах присутсвует только

        /usr/ports/net-mgmt/zabbix-agent/

        А если точнее, там агент: Zabbix Agent v1.8.8 (revision 21965) (28 September 2011) ... и он у меня установлен и работает.

        По этому, был скачан с zabbix.com полный комплект 2.2 и вот с ним возникла проблема, поскольку исходники не содержат всё необходимое для сборки во фри (а может и содержат, но требуется допиливание руками). Собственно в этом и заключается вопрос ...

        Comment

        • fadem
          Junior Member
          • Oct 2015
          • 16

          #5
          Originally posted by sadman
          Code:
          cd /home/hulio/zabbix-2.2.10/
          ./configure --help 
          ./configure --enable-agent
          make
          ....
          Спасибо!

          Оказывается просто нужно было запускать ./configure не в дирректории с исходниками самого агента, а в корне всего распакованного архива ... просто понятие "directory containing the package's source code" истолковал буквально

          А подскажите тогда еще один момент, как стартовать демон после установки (после make install вроде как все установилось, но ни юзера zabbix, ни записи в rc.d не появляется автоматически, как в случае с обычным портом/пакетом)?
          Last edited by fadem; 13-10-2015, 11:15. Reason: добавил вопрос

          Comment

          • Jimson
            Senior Member
            • Jan 2008
            • 1327

            #6
            Originally posted by fadem
            сервера с FreeBSD R8 и мне необходимо обойтись без fetch'а портов
            Нет 100 килобайт что бы перекинуть на сервер ports/Mk и ports/net/zabbix* ?
            Без разницы какая у тебя freebsd.

            Comment

            • Zentarim
              Senior Member
              • Mar 2012
              • 526

              #7
              Originally posted by fadem

              А подскажите тогда еще один момент, как стартовать демон после установки (после make install вроде как все установилось, но ни юзера zabbix, ни записи в rc.d не появляется автоматически, как в случае с обычным портом/пакетом)?

              Code:
              # cat /usr/local/etc/rc.d/zabbix_agentd 
              #!/bin/sh
              
              # REQUIRE: DAEMON
              # PROVIDE: zabbix_agentd
              
              . /etc/rc.subr
              
              name="zabbix_agentd"
              rcvar=`set_rcvar`
              command="${prefix:-"/usr/local"}/sbin/${name}"
              
              load_rc_config ${name}
              run_rc_command "$1"
              Code:
              # cat /etc/rc.conf | grep zabbix_agentd
              zabbix_agentd_enable="YES"
              Code:
              # cat /etc/passwd | grep zabbix
              zabbix:*:122:122:Zabbix NMS:/nonexistent:/usr/sbin/nologin
              P.S: startup скрипты в исходниках тоже есть:
              Code:
              # ls zabbix-2.4.5/misc/init.d/freebsd/
              zabbix_agentd	zabbix_server

              Comment

              • fadem
                Junior Member
                • Oct 2015
                • 16

                #8
                Originally posted by Jimson
                Нет 100 килобайт что бы перекинуть на сервер ports/Mk и ports/net/zabbix* ?
                Без разницы какая у тебя freebsd.
                хм ... не знал что просто копированием дирректории с портом внутри можно перенести на другую машину всё что надо для сборки ... попробую обязательно, спасибо за идею!

                Originally posted by Zentarim
                Code:
                # cat /etc/rc.conf | grep zabbix_agentd
                zabbix_agentd_enable="YES"
                Code:
                # cat /etc/passwd | grep zabbix
                zabbix:*:122:122:Zabbix NMS:/nonexistent:/usr/sbin/nologin
                P.S: startup скрипты в исходниках тоже есть:
                Code:
                # ls zabbix-2.4.5/misc/init.d/freebsd/
                zabbix_agentd	zabbix_server
                Скопировал уже готовый /usr/local/etc/rc.d/zabbix_agentd с другого сервера по поправил путь в нем к файлу-конфигу, все запустилось вручную.

                Правда возникла проблема с юзером zabbix (которого нужно создать руками), делал через adduser (с пустым паролем), но в итоге учетка получилась немного другая все же:

                Эта создается портом:
                zabbix:*:122:122:Zabbix NMS:/nonexistent:/bin/sh
                У меня вышел такой (в интерактивном режиме делал):
                zabbix:*:122:122:User &:/nonexistent:/bin/sh
                И при перезагрузке почему-то не стартует автоматом хотя:
                $ more /etc/rc.conf | grep zabbix
                zabbix_agentd_enable="YES"
                Когда вручную запускаю из под нерутового юзера, все работает:
                ps -u | grep zabbix
                hulio 1404 0.0 0.1 14708 2164 0 R+ 4:50PM 0:00.00 grep zabbix
                По идее то он должен стартовать из под своей:
                $ zabbix_agent -p | grep zabbix
                zabbix:*:122:122:User &:/nonexistent:/bin/sh]
                но не стартует ...

                Comment

                • Zentarim
                  Senior Member
                  • Mar 2012
                  • 526

                  #9
                  Originally posted by fadem
                  хм ... не знал что просто копированием дирректории с портом внутри можно перенести на другую машину всё что надо для сборки ... попробую обязательно, спасибо за идею!

                  но не стартует ...
                  А вы переносите только название порта, его описание и Makefile. В случае zabbix агента там и того меньше будет. Исходники пакета и зависимостей выкачиваются при установке.

                  А то, что не стартует - надо смотреть логи.

                  Comment

                  • fadem
                    Junior Member
                    • Oct 2015
                    • 16

                    #10
                    Originally posted by Zentarim
                    А вы переносите только название порта, его описание и Makefile. В случае zabbix агента там и того меньше будет. Исходники пакета и зависимостей выкачиваются при установке.

                    А то, что не стартует - надо смотреть логи.
                    В итоге я сделал так. Ставлю тот агент, который есть в портах (старой версии), потом его деинсталлирую. Пользователь остается.

                    Далее ставлю новый агент из исходников, как подсказали товарищи выше. Потом вручную перекидываю init.d скрипт и всё работает на ура.

                    Спасибо за помощь!

                    Comment

                    Working...