Ad Widget

Collapse

Некорректно работает мониторинг логов

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • arcenciel4
    Member
    • Jun 2014
    • 36

    #1

    Некорректно работает мониторинг логов

    Здравствуйте!
    Ситуация: на windows стоит две кластерные ноды, на каждом стоит по агенту. пример конфига:
    Code:
    # This is a config file for the Zabbix agent daemon (Windows)
    # To get more information about Zabbix, go to http://www.zabbix.com
    
    ############ GENERAL PARAMETERS #################
    
    ### Option: LogFile
    #	Name of log file.
    #	If not set, Windows Event Log is used.
    #
    # Mandatory: no
    # Default:
    # LogFile=
    
    LogFile=K:\Zabbix-Agent\log\zabbix_agentd2.log
    
    ### Option: LogFileSize
    #	Maximum size of log file in MB.
    #	0 - disable automatic log rotation.
    #
    # Mandatory: no
    # Range: 0-1024
    # Default:
     LogFileSize=10
    
    ### Option: DebugLevel
    #	Specifies debug level 
    #	0 - no debug
    #	1 - critical information
    #	2 - error information
    #	3 - warnings
    #	4 - for debugging (produces lots of information)
    #
    # Mandatory: no
    # Range: 0-4
    # Default:
    # DebugLevel=3
    DebugLevel=4
    
    ### Option: SourceIP
    #	Source IP address for outgoing connections.
    #
    # Mandatory: no
    # Default:
    # SourceIP=
    
    ### Option: EnableRemoteCommands
    #	Whether remote commands from Zabbix server are allowed.
    #	0 - not allowed
    #	1 - allowed
    #
    # Mandatory: no
    # Default:
     EnableRemoteCommands=1
    
    ### Option: LogRemoteCommandsc 
    #	Enable logging of executed shell commands as warnings.
    #	0 - disabled
    #	1 - enabled
    #
    # Mandatory: no
    # Default:
    LogRemoteCommands=1
    
    ##### Passive checks related
    
    ### Option: Server
    #	List of comma delimited IP addresses (or hostnames) of Zabbix servers.
    #	Incoming connections will be accepted only from the hosts listed here.
    #	If IPv6 support is enabled then '127.0.0.1', '::127.0.0.1', '::ffff:127.0.0.1' are treated equally.
    #
    # Mandatory: no
    # Default:
    # Server=
    
    Server=195.189.***.*
    
    ### Option: ListenPort
    #	Agent will listen on this port for connections from the server.
    #
    # Mandatory: no
    # Range: 1024-32767
    # Default:
    ListenPort=10050
    
    ### Option: ListenIP
    #       List of comma delimited IP addresses that the agent should listen on.
    #       First IP address is sent to Zabbix server if connecting to it to retrieve list of active checks.
    #
    # Mandatory: no
    # Default:
    # ListenIP=0.0.0.0
    
    
    ### Option: StartAgents
    #	Number of pre-forked instances of zabbix_agentd that process passive checks.
    #	If set to 0, disables passive checks and the agent will not listen on any TCP port.
    #
    # Mandatory: no
    # Range: 0-100
    # Default:
    # StartAgents=3
    StartAgents=5
    
    ##### Active checks related
    
    ### Option: ServerActive
    #	List of comma delimited IP:port (or hostname:port) pairs of Zabbix servers for active checks.
    #	If port is not specified, default port is used.
    #	IPv6 addresses must be enclosed in square brackets if port for that host is specified.
    #	If port is not specified, square brackets for IPv6 addresses are optional.
    #	If this parameter is not specified, active checks are disabled.
    #	Example: ServerActive=127.0.0.1:20051,zabbix.domain,[::1]:30051,::1,[12fc::1]
    #
    # Mandatory: no
    # Default:
    # ServerActive=
    ServerActive=195.189.***.*:10051
    
    
    ### Option: Hostname
    #	Unique, case sensitive hostname.
    #	Required for active checks and must match hostname as configured on the server.
    #	Value is acquired from HostnameItem if undefined.
    #
    # Mandatory: no
    # Default:
    # Hostname=
    
    Hostname=***-MTXAPCL2
    
    ### Option: HostnameItem
    #	Item used for generating Hostname if it is undefined.
    #	Ignored if Hostname is defined.
    #
    # Mandatory: no
    # Default:
    # HostnameItem=system.hostname
    
    ### Option: HostMetadata
    #	Optional parameter that defines host metadata.
    #	Host metadata is used at host auto-registration process.
    #	An agent will issue an error and not start if the value is over limit of 255 characters.
    #	If not defined, value will be acquired from HostMetadataItem.
    #
    # Mandatory: no
    # Range: 0-255 characters
    # Default:
    # HostMetadata=
    
    ### Option: HostMetadataItem
    #	Optional parameter that defines an item used for getting host metadata.
    #	Host metadata is used at host auto-registration process.
    #	During an auto-registration request an agent will log a warning message if
    #	the value returned by specified item is over limit of 255 characters.
    #	This option is only used when HostMetadata is not defined.
    #
    # Mandatory: no
    # Default:
    # HostMetadataItem=
    
    ### Option: RefreshActiveChecks
    #	How often list of active checks is refreshed, in seconds.
    #
    # Mandatory: no
    # Range: 60-3600
    # Default:
     RefreshActiveChecks=120
    
    ### Option: BufferSend
    #	Do not keep data longer than N seconds in buffer.
    #
    # Mandatory: no
    # Range: 1-3600
    # Default:
     BufferSend=5
    
    ### Option: BufferSize
    #	Maximum number of values in a memory buffer. The agent will send
    #	all collected data to Zabbix server or Proxy if the buffer is full.
    #
    # Mandatory: no
    # Range: 2-65535
    # Default:
     BufferSize=30000
    
    ### Option: MaxLinesPerSecond
    #	Maximum number of new lines the agent will send per second to Zabbix Server
    #	or Proxy processing 'log', 'logrt' and 'eventlog' active checks.
    #	The provided value will be overridden by the parameter 'maxlines',
    #	provided in 'log', 'logrt' or 'eventlog' item keys.
    #
    # Mandatory: no
    # Range: 1-1000
    # Default:
     MaxLinesPerSecond=100
    
    ############ ADVANCED PARAMETERS #################
    
    ### Option: Alias
    #	Sets an alias for an item key. It can be used to substitute long and complex item key with a smaller and simpler one.
    #	Multiple Alias parameters may be present. Multiple parameters with the same Alias key are not allowed.
    #	Different Alias keys may reference the same item key.
    #	For example, to retrieve paging file usage in percents from the server:
    #	Alias=pg_usage:perf_counter[\Paging File(_Total)\% Usage]
    #	Now shorthand key pg_usage may be used to retrieve data.
    #	Aliases can be used in HostMetadataItem but not in HostnameItem or PerfCounter parameters.
    #
    # Mandatory: no
    # Range:
    # Default:
    
    ### Option: Timeout
    #	Spend no more than Timeout seconds on processing
    #
    # Mandatory: no
    # Range: 1-30
    # Default:
     Timeout=30
    
    ### Option: PerfCounter
    #	Syntax: <parameter_name>,"<perf_counter_path>",<period>
    #	Defines new parameter <parameter_name> which is an average value for system performance counter <perf_counter_path> for the specified time period <period> (in seconds).
    #	For example, if you wish to receive average number of processor interrupts per second for last minute, you can define new parameter "interrupts" as following:
    #	PerfCounter = interrupts,"\Processor(0)\Interrupts/sec",60
    #	Please note double quotes around performance counter path.
    #	Samples for calculating average value will be taken every second.
    #	You may run "typeperf -qx" to get list of all performance counters available in Windows.
    #
    # Mandatory: no
    # Range:
    # Default:
    
    ### Option: Include
    #	You may include individual files in the configuration file.
    #
    # Mandatory: no
    # Default:
    # Include=
    
     #Include=d:\******\zabbix\zabbix_agentd.userparams.conf
    
    ####### USER-DEFINED MONITORED PARAMETERS #######
    
    ### Option: UnsafeUserParameters
    #	Allow all characters to be passed in arguments to user-defined parameters.
    #	0 - do not allow
    #	1 - allow
    #
    # Mandatory: no
    # Range: 0-1
    # Default:
    # UnsafeUserParameters=0
    
    ### Option: UserParameter
    #	User-defined parameter to monitor. There can be several user-defined parameters.
    #	Format: UserParameter=<key>,<shell command>
    #
    # Mandatory: no
    # Default:
    # UserParameter=
    Каждый день создается новый лог с именем формата текущей даты ггггммдд. И 24 часа сутки идет запись в лог. Процесс смены даты пока реализуется вручную. Средний размер лога 100 000 КБ(+-20 000 КБ). Иногда запись в минуту достигает полторы тысяч строк + в лог-файле при создании уже есть пустое количество строк, которое со временем заполняется. Zabbix должен искать наличие в этих логах регулярных выражений и при его появлении сразу же активировать триггер и выдавать строку в Latest data с регулярным выражением.
    Прилагаю скрины настройки Zabbix

    Проблема в том, что мониторинг логов в ту дату, когда он записывается, не производится. Ни элементы данных не отслеживаются, ни триггера не срабатывают. Если не установить новую дату ровно в 12 часов, то часа в 2-3 ночи (когда по идее zabbix должен отслеживать уже другой лог) он находит регулярные выражения. И в latest data записывает строки, и триггера срабатывают. В чем проблема? Как сделать, чтобы логи мониторились своевременно?
  • AlexSt
    Member
    • Aug 2012
    • 43

    #2
    В заббикс агенте, в конфигурации, есть количе стотвострок опрашиваемых за запрос, вроде ето RefreshActiveChecks, и ето MaxLinesPerSecond, те если у тебя активный лог то нужно сделать более частый опрос

    Comment

    • arcenciel4
      Member
      • Jun 2014
      • 36

      #3
      Originally posted by alexst
      В заббикс агенте, в конфигурации, есть количе стотвострок опрашиваемых за запрос, вроде ето refreshactivechecks, и ето maxlinespersecond, те если у тебя активный лог то нужно сделать более частый опрос
      И какое значение поставить?

      Comment

      • AlexSt
        Member
        • Aug 2012
        • 43

        #4
        Originally posted by arcenciel4
        И какое значение поставить?
        Смотрите документацию, там например от 0 до 1000 , смотрите как работает данный механизм, я если честно непомню
        я думаю там и значение пулеров играет роль, именно агента.
        я тоже одно время сначала мониторил логи комутаторов которые слались на один сервер, и ловил нужные мне, после увеличения количества узлов , перестали ловится логи, увеличил число пуллеров значение строк парсящих лог, решилось все. вам нужно смотреть лог вывода tail -f /log.log , можно скрипт написать оценки увеличения, при этом оценить значения сколько вам нужно, вариант еслит их слишком много, разбить на значения типа уровень лога.
        warning.log. errror.log informer.log, и каждый из них анализировать
        Last edited by AlexSt; 11-07-2014, 10:58.

        Comment

        • arcenciel4
          Member
          • Jun 2014
          • 36

          #5
          Originally posted by AlexSt
          Смотрите документацию, там например от 0 до 1000 , смотрите как работает данный механизм, я если честно непомню
          я думаю там и значение пулеров играет роль, именно агента.
          я тоже одно время сначала мониторил логи комутаторов которые слались на один сервер, и ловил нужные мне, после увеличения количества узлов , перестали ловится логи, увеличил число пуллеров значение строк парсящих лог, решилось все. вам нужно смотреть лог вывода tail -f /log.log , можно скрипт написать оценки увеличения, при этом оценить значения сколько вам нужно, вариант еслит их слишком много, разбить на значения типа уровень лога.
          warning.log. errror.log informer.log, и каждый из них анализировать
          Лога всего 2, но они очень объемные. Как я понимаю, надо увеличить MaxLinesPerSecond, уменьшить RefreshActiveChecks, и увеличить значение пуллеров в конфиге сервера?

          Comment

          • AlexSt
            Member
            • Aug 2012
            • 43

            #6
            Originally posted by arcenciel4
            Лога всего 2, но они очень объемные. Как я понимаю, надо увеличить maxlinespersecond, уменьшить refreshactivechecks, и увеличить значение пуллеров в конфиге сервера?
            пулеров увеличить в агенте. а так все верно

            Comment

            • arcenciel4
              Member
              • Jun 2014
              • 36

              #7
              Originally posted by AlexSt
              пулеров увеличить в агенте. а так все верно
              StartAgents?

              Comment

              • AlexSt
                Member
                • Aug 2012
                • 43

                #8
                Да вроде бы, если честно непомню

                Comment

                • arcenciel4
                  Member
                  • Jun 2014
                  • 36

                  #9
                  Originally posted by alexst
                  Да вроде бы, если честно непомню
                  Спасибо! попробуем

                  Comment

                  • AlexSt
                    Member
                    • Aug 2012
                    • 43

                    #10
                    Вообще количество пуллеров, тобишь процессов агента либо сервера зависит от кол-ва получаемых либо передаваемых данных, пробуйте.

                    Comment

                    • filipp.sudanov
                      Senior Member
                      Zabbix Certified Specialist
                      • May 2014
                      • 137

                      #11
                      Originally posted by arcenciel4
                      + в лог-файле при создании уже есть пустое количество строк, которое со временем заполняется.
                      А вы могли бы пояснить этот момент - я правильно понимаю, что в лог файле изначально лежит куча переводов строки, а далее в процессе работы этот файл редактируется и между переводами строк появляется текст?

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

                      Comment

                      • arcenciel4
                        Member
                        • Jun 2014
                        • 36

                        #12
                        Originally posted by filipp.sudanov
                        А вы могли бы пояснить этот момент - я правильно понимаю, что в лог файле изначально лежит куча переводов строки, а далее в процессе работы этот файл редактируется и между переводами строк появляется текст?

                        Если это так, то у мониторинга может серьезно поехать крыша. Насколько я понимаю, агент рассчитан только на то, что лог файл дописывается с конца - он помнит последний размер, на котором он все послал серверу, если размер вырастает, то добавившийся хвост посылается на сервер.
                        Все разрешилось, там стояла кодировка usc-2. Решение было добавить в поле элемента данных кодировку utf-16.

                        Теперь все работает, но все равно тормозит. Не знаете способ увеличить скорость обработки логов?

                        Comment

                        Working...