Ad Widget

Collapse

zabbix сервер не запущен информация может быть

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • nikitos35
    Senior Member
    • Jun 2014
    • 166

    #1

    zabbix сервер не запущен информация может быть

    Добрый день!
    Имеем Debian 8.6.0
    Zabbix 3.2.1
    Захожу в веб интерфейс, все хорошо, данные есть.
    Но внизу периодически сообщение "zabbix сервер не запущен информация может быть неактуальной"
    Пинги не пропадают.
    Проверяю статус службы заббикса
    root@mall-s-zabbix:~# service zabbix-server status
    ● zabbix-server.service - Zabbix Server
    Loaded: loaded (/lib/systemd/system/zabbix-server.service; enabled)
    Active: activating (auto-restart) (Result: exit-code) since Ср 2017-03-01 14:01:23 +06; 9s ago
    Process: 8317 ExecStop=/bin/kill -SIGTERM $MAINPID (code=exited, status=1/FAILURE)
    Process: 8125 ExecStart=/usr/sbin/zabbix_server -c $CONFFILE (code=exited, status=0/SUCCESS)
    Main PID: 8127 (code=exited, status=0/SUCCESS)

    В логе
    zabbix systemd[1]: zabbix-server.service holdoff time over, scheduling restart.
    zabbix systemd[1]: Stopping Zabbix Server...
    zabbix systemd[1]: Starting Zabbix Server...
    zabbix systemd[1]: PID file /run/zabbix/zabbix_server.pid not readable (yet?) after start.
    zabbix systemd[1]: Started Zabbix Server.
    zabbix systemd[1]: zabbix-server.service: main process exited, code=exited, status=1/FAILURE
    zabbix kill[25548]: kill: invalid argument S
    zabbix kill[25548]: Usage:
    zabbix kill[25548]: kill [options] <pid> [...]
    zabbix kill[25548]: Options:
    zabbix kill[25548]: <pid> [...] send signal to every <pid> listed
    zabbix kill[25548]: -<signal>, -s, --signal <signal>
    zabbix kill[25548]: specify the <signal> to be sent
    zabbix kill[25548]: -l, --list=[<signal>] list all signal names, or convert one to a name
    zabbix kill[25548]: -L, --table list all signal names in a nice table

    root@zabbix:~# journalctl -xn
    -- Logs begin at Ср 2017-03-01 10:07:56 MSK, end at Ср 2017-03-01 17:03:16 MSK. --
    zabbix kill[25871]: <pid> [...] send signal to every <pid> listed
    zabbix kill[25871]: -<signal>, -s, --signal <signal>
    zabbix kill[25871]: specify the <signal> to be sent
    zabbix kill[25871]: -l, --list=[<signal>] list all signal names, or convert one to a name
    zabbix kill[25871]: -L, --table list all signal names in a nice table
    zabbix systemd[1]: zabbix-server.service: control process exited, code=exited status=1
    zabbix systemd[1]: Unit zabbix-server.service entered failed state.
    zabbix kill[25871]: -h, --help display this help and exit
    zabbix kill[25871]: -V, --version output version information and exit
    zabbix kill[25871]: For more details see kill(1).

    Заббикс работает, а в службе проблема.
    Помогите решить пожалуйста
    Last edited by nikitos35; 01-03-2017, 16:06.
  • Kos
    Senior Member
    Zabbix Certified SpecialistZabbix Certified Professional
    • Aug 2015
    • 3404

    #2
    Да, похоже, что проблема в описании службы для systemd в соответствующем юнит-файле. Попробуйте найти этот файл и процитировать его сюда. Файл будет называться что-нибудь вроде /etc/systemd/system/zabbix_server.service (зависит от Вашего дистрибутива и того, кто паковал туда Zabbix-сервер).

    Comment

    • nikitos35
      Senior Member
      • Jun 2014
      • 166

      #3
      В описании вот это(см ниже). Что с ним не так?
      [Unit]
      Description=Zabbix Server
      After=syslog.target
      After=network.target

      [Service]
      Environment="CONFFILE=/etc/zabbix/zabbix_server.conf"
      EnvironmentFile=-/etc/default/zabbix-server по этому пути файла нет
      Type=forking
      Restart=on-failure
      PIDFile=/run/zabbix/zabbix_server.pid по этому пути нет каталога zabbix
      KillMode=control-group
      ExecStart=/usr/sbin/zabbix_server -c $CONFFILE
      ExecStop=/bin/kill -SIGTERM $MAINPID
      RestartSec=10s

      [Install]
      WantedBy=multi-user.target
      Last edited by nikitos35; 02-03-2017, 09:51.

      Comment

      • sadman
        Senior Member
        • Dec 2010
        • 1611

        #4
        Если машина не едет, а в бензобаке нет бензина, то что с ней не так?

        Comment

        • nikitos35
          Senior Member
          • Jun 2014
          • 166

          #5
          Это конечно хороший намек, но я его не понял.
          Не силен я в линуксах, подскажите, что поправить?

          Comment

          • Kos
            Senior Member
            Zabbix Certified SpecialistZabbix Certified Professional
            • Aug 2015
            • 3404

            #6
            Что с ним не так?
            Я в этом юнит-файле вижу, по крайней мере, несколько недочётов.

            Во-первых, директива "PIDFile=" должна ссылаться на реальное местоположение Zabbix-ного PID-файла. Он должен соответствовать тому, что указано в конфиге Zabbix-сервера (либо вкомпилировано в качестве значения по умолчанию, если в конфиг-файле этот параметр не задан). В этом главная причина Ваших проблем: systemd не находит указанного PID-файла, ждёт какое-то время (сконфигурированный тайм-аут), после чего решает, что с процессом проблема, и пытается его перезапустить (поскольку задан режим "Restart=on-failure").

            Во-вторых, в команде останова (заданной параметром "ExecStop=") используется переменная $MAINPID, которая нигде не определена. Отсюда ругань на команду "kill" при каждой попытке останова. Переменная, если используется, должна быть определена либо в директиве "Environment=" (но там её нет), либо в файле, на который ссылается директива "EnvironmentFile=" (но Вы говорите, что такого файла у Вас тоже нет). Более того, для данного конкретного случая PID запущенного процесса - величина каждый раз разная, поэтому я не очень понимаю, зачем вообще нужна такая команда (по умолчанию и так посылается сигнал именно тому процессу, который указан в директиве "PIDFile="). Я бы на Вашем месте строку "ExecStop=" вообще бы убрал (можно закомментировать, поставив в её начале решётку - "#").

            Наконец, в-третьих, можно было бы убрать и строку "EnvironmentFile=" (раз такого файла тоже нет), но это уже мешать не должно: эта директива помечена как необязательная (после знака равенства стоит минус, т.е. допускается ошибка при чтении этого файла, которая будет проигнорирована).

            После изменений файла нужно послать сигнал демону systemd, чтобы он перечитал конфигурацию (команда "systemctl daemon-reload").

            Comment

            • nikitos35
              Senior Member
              • Jun 2014
              • 166

              #7
              В zabbix-server.conf ссылается на PidFile=/var/run/zabbix/zabbix_server.pid
              Строки "ExecStop=" и "EnvironmentFile=" закоментил
              Сервер перезагрузил, эффекта нет.
              Заббикс ставил сам, по инструкции с оф сайта, может где накосячил

              systemctl daemon-reload - нет такой команды

              сделал команду find / -name zabbix_server.pid
              в ответ - нет такого файла
              Last edited by nikitos35; 02-03-2017, 13:55.

              Comment

              • Kos
                Senior Member
                Zabbix Certified SpecialistZabbix Certified Professional
                • Aug 2015
                • 3404

                #8
                Originally posted by nikitos35
                systemctl daemon-reload - нет такой команды
                В смысле - "нет такой команды"? Очень даже есть. Может, не от root-а пытаетесь её запустить?
                А на что именно ругается - что не находит команды systemctl или же не находит у неё параметра daemon-reload?

                сделал команду find / -name zabbix_server.pid
                в ответ - нет такого файла
                Логично, файл появится только после старта Zabbix-сервера; пока процесс не запущен - и файла не будет.

                Сервер перезагрузил, эффекта нет.
                Что значит "нет эффекта"? Опишите, что именно Вы сделали, и что именно у Вас сейчас происходит.
                Last edited by Kos; 02-03-2017, 14:00.

                Comment

                • nikitos35
                  Senior Member
                  • Jun 2014
                  • 166

                  #9
                  Originally posted by Kos
                  В смысле - "нет такой команды"? Очень даже есть. Может, не от root-а пытаетесь её запустить?
                  А на что именно ругается - что не находит команды systemctl или же не находит у неё параметра daemon-reload?
                  Нет именно daemon-reload

                  Comment

                  • Kos
                    Senior Member
                    Zabbix Certified SpecialistZabbix Certified Professional
                    • Aug 2015
                    • 3404

                    #10
                    Originally posted by nikitos35
                    Нет именно daemon-reload
                    А что говорит?

                    Опишите, что именно Вы сделали, и что именно у Вас сейчас происходит.

                    Comment

                    • nikitos35
                      Senior Member
                      • Jun 2014
                      • 166

                      #11
                      Originally posted by Kos
                      А что говорит?
                      Unknown operation 'deamon-reload'

                      Опишите, что именно Вы сделали, и что именно у Вас сейчас происходит.
                      Я на виртальной машине hyper-V установил debian 8.6.0.
                      Далее стал устанавливать заббикс по инструкции с оф. сайта.
                      Потом со старого заббикса перенес шаблоны, узлы, действия.
                      Файл zabbix-server.conf после установки не трогал
                      После того как все перенес, выключил старый заббикс и новому заббику присвоил ip адрес старого заббикса.
                      Зашел в вебинтерфейс и увидел, что заббикс стал собирать инфу.
                      Решил проверить работу уведомлений, но они не работали и тут увидел инфу о не запущенном заббиксе.
                      Было ли это уведомление раньше не знаю.
                      После этого создал тему.

                      Comment

                      • Kos
                        Senior Member
                        Zabbix Certified SpecialistZabbix Certified Professional
                        • Aug 2015
                        • 3404

                        #12
                        Originally posted by nikitos35
                        Unknown operation 'deamon-reload'
                        Логично. Слово "daemon" пишется не так.

                        Вы поправили в юнит-файле путь к PID-файлу? Смогли после этого набрать команду "systemctl daemon-reload"? После этого смогли успешно запустить сервер Zabbix? Как он себя теперь ведёт?

                        Comment

                        • nikitos35
                          Senior Member
                          • Jun 2014
                          • 166

                          #13
                          Originally posted by kos
                          Логично. Слово "daemon" пишется не так.
                          Руками писал, ошибся
                          Вы поправили в юнит-файле путь к pid-файлу?
                          Не совсем понял, а на какой его надо поменять?

                          На данный момент файл выглядит так
                          [unit]
                          description=zabbix server
                          after=syslog.target
                          after=network.target

                          [service]
                          environment="conffile=/etc/zabbix/zabbix_server.conf"
                          #environmentfile=-/etc/default/zabbix-server
                          type=forking
                          restart=on-failure
                          pidfile=/run/zabbix/zabbix_server.pid
                          killmode=control-group
                          execstart=/usr/sbin/zabbix_server -c $conffile
                          #execstop=/bin/kill -sigterm $mainpid
                          restartsec=10s

                          [install]
                          wantedby=multi-user.target
                          Last edited by nikitos35; 02-03-2017, 15:20.

                          Comment

                          • Kos
                            Senior Member
                            Zabbix Certified SpecialistZabbix Certified Professional
                            • Aug 2015
                            • 3404

                            #14
                            Originally posted by nikitos35
                            Вы поправили в юнит-файле путь к pid-файлу?
                            Не совсем понял, а на какой его надо поменять?
                            На тот, где этот PID-файл реально создаётся при старте Zabbix-сервера. Задаётся в конфиге Zabbix-сервера. Вы же сами писали:
                            В zabbix-server.conf ссылается на PidFile=/var/run/zabbix/zabbix_server.pid

                            Comment

                            • nikitos35
                              Senior Member
                              • Jun 2014
                              • 166

                              #15
                              Файл поправил
                              [unit]
                              description=zabbix server
                              after=syslog.target
                              after=network.target

                              [service]
                              environment="conffile=/etc/zabbix/zabbix_server.conf"
                              #environmentfile=-/etc/default/zabbix-server
                              type=forking
                              restart=on-failure
                              pidfile=/var/run/zabbix/zabbix_server.pid
                              killmode=control-group
                              execstart=/usr/sbin/zabbix_server -c $conffile
                              #execstop=/bin/kill -sigterm $mainpid
                              restartsec=10s

                              [install]
                              wantedby=multi-user.target
                              демон перезагрузил, сервер тоже

                              служба
                              root@zabbix:~# service zabbix-server status
                              ● zabbix-server.service - Zabbix Server
                              Loaded: loaded (/lib/systemd/system/zabbix-server.service; enabled)
                              Active: active (running) since Чт 2017-03-02 17:05:59 MSK; 138ms ago
                              Process: 1417 ExecStart=/usr/sbin/zabbix_server -c $CONFFILE (code=exited, status=0/SUCCESS)
                              Main PID: 1419 (zabbix_server)
                              CGroup: /system.slice/zabbix-server.service
                              └─1419 /usr/sbin/zabbix_server -c /etc/zabbix/zabbix_server.conf

                              мар 02 17:05:59 zabbix systemd[1]: zabbix-server.service holdoff time over, scheduling restart.
                              мар 02 17:05:59 zabbix systemd[1]: Stopping Zabbix Server...
                              мар 02 17:05:59 zabbix systemd[1]: Starting Zabbix Server...
                              мар 02 17:05:59 zabbix systemd[1]: PID file /var/run/zabbix/zabbix_server.pid not readable (yet?) after start.
                              мар 02 17:05:59 zabbix systemd[1]: Started Zabbix Server.
                              Служба стартовала, но в панеле на вебинтерфейсе пишет что не запущен заббикс и фраза "zabbix сервер не запущен информация может быть....." так же внизу экрана.
                              Страничку тоже перезагрузил в браузере

                              Файл zabbix_server.pid так же не ищется
                              Теперь состояние у службы
                              root@zabbix:~# service zabbix-server status
                              ● zabbix-server.service - Zabbix Server
                              Loaded: loaded (/lib/systemd/system/zabbix-server.service; enabled)
                              Active: activating (auto-restart) (Result: exit-code) since Чт 2017-03-02 17:21:05 MSK; 8s ago
                              Process: 2026 ExecStart=/usr/sbin/zabbix_server -c $CONFFILE (code=exited, status=0/SUCCESS)
                              Main PID: 2028 (code=exited, status=1/FAILURE)

                              мар 02 17:21:05 zabbix systemd[1]: zabbix-server.service: main process exited, code=exited, status=1/FAILURE
                              мар 02 17:21:05 zabbix systemd[1]: Unit zabbix-server.service entered failed state.
                              Служба поднимается и потом переходит в состояние которое выше
                              Last edited by nikitos35; 02-03-2017, 16:26.

                              Comment

                              Working...