Ad Widget

Collapse

Не ищет regexp в динамическом логе.

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

    #1

    Не ищет regexp в динамическом логе.

    Привет! Zabbix мониторит 2 лога от MetaQuotes. Zabbix ищет регулярные выражения в логах. Для каждых суток создается свой лог. Сейчас все в режиме тестирования, и поэтому пути к логу прописываются мной каждый день вручную (меняю дату в пути, потом заменю на logrt). Проблема в том, что если поставить текущую дату Zabbix ничего не находит. А если поставить дату старого лога, в который ничего не записывается, то находит все регулярные выражения.
    Запись в логи идет довольно быстро (иногда достигает 1500 строк в минуту).
    Версия агента 2.2.1 х64.
    Конфиг агента:
    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=J:\Zabbix-Agent\log\zabbix_agentd.log
    
    ### Option: LogFileSize
    #	Maximum size of log file in MB.
    #	0 - disable automatic log rotation.
    #
    # Mandatory: no
    # Range: 0-1024
    # Default:
     LogFileSize=50
    
    ### 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=3
    
    ### 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.***.***.7
    
    ### 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.***.***.7: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=MT4_MTXAPCL1
    
    ### 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=60
    
    ### 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=400
    
    ### 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=200
    
    ############ 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:\Alfa monitoring\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=
    UserParameter=notation.res,cluster res:mad:
    В конфиге сервера изменены только:
    Code:
    StartPollers = 60
    StartTrappers = 60
    Настройка элементов данных:

    Триггера использую функцию nodata
  • l3tiy1101
    Member
    • Aug 2014
    • 30

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

    Comment

    • arcenciel4
      Member
      • Jun 2014
      • 36

      #3
      Originally posted by l3tiy1101
      Покажите формат лога, небольшой его кусочек с вхождением регулярного выражения и собственно, само рег выражение, по которому идет парсинг.
      Вот к примеру он в статичном логе нашел строки с регулярным выражением "config updated"
      Last edited by arcenciel4; 14-08-2014, 14:33.

      Comment

      • l3tiy1101
        Member
        • Aug 2014
        • 30

        #4
        не вижу самого рег выражения.
        Покажите настройки элемента данных, как там записаны пути и прочие параметры лог файла.
        Что вы имеете ввиду, когда говорите статический лог и динамический? В последний постоянно пишутся данные?

        Comment

        • arcenciel4
          Member
          • Jun 2014
          • 36

          #5
          Originally posted by l3tiy1101
          не вижу самого рег выражения.
          Покажите настройки элемента данных, как там записаны пути и прочие параметры лог файла.
          Что вы имеете ввиду, когда говорите статический лог и динамический? В последний постоянно пишутся данные?
          Вот красным подчеркнуто регулярное выражение.

          Настройки элементов данных можете посмотреть в 1 сообщении.
          Да, а статичный не изменяющийся лог.

          Comment

          • l3tiy1101
            Member
            • Aug 2014
            • 30

            #6
            То, что подчеркнуто красным, это не регулярное выражение.
            Я ожидал увидеть, что-то вроде:
            Code:
            .*config.updated.*
            Ну да ладно.

            Настройки элементов данных можете посмотреть в 1 сообщении.
            не вижу. Вижу только настройки агента и пару настроек сервера.

            Вполне себе рабочий вариант такой:
            1. настройка элемента:
            Code:
            log[/var/log/messages,"config updated",UTF-8]
            2. Тип, агент активный
            3. Тип информации - лог
            Last edited by l3tiy1101; 14-08-2014, 14:56.

            Comment

            • arcenciel4
              Member
              • Jun 2014
              • 36

              #7
              Да, так и стоит. Но заббикс молчит.
              Элементы данных:
              log["J:\logs\20140814.log","config updated","UTF-16"]
              UpdateInterval: 1sec

              Comment

              • l3tiy1101
                Member
                • Aug 2014
                • 30

                #8
                Кавычки пробовали убирать из 1 и второго параметра?
                Точно utf-16?
                Интервал поставьте хотя бы секунд 5-10 для тестирования.
                Проверить права доступа к указанному файлу.
                Посмотреть логи на сервере, в момент когда будет обращение к элементу данных.
                Очистить историю элемента.
                Если ничего не помогло, удалить и снова создать элемент(за все время было 1 раз и помогло, долго не мог нарыть причину, которой не было).

                Comment

                • arcenciel4
                  Member
                  • Jun 2014
                  • 36

                  #9
                  Originally posted by l3tiy1101
                  Кавычки пробовали убирать из 1 и второго параметра?
                  Точно utf-16?
                  Интервал поставьте хотя бы секунд 5-10 для тестирования.
                  Проверить права доступа к указанному файлу.
                  Посмотреть логи на сервере, в момент когда будет обращение к элементу данных.
                  Очистить историю элемента.
                  Если ничего не помогло, удалить и снова создать элемент(за все время было 1 раз и помогло, долго не мог нарыть причину, которой не было).
                  Да, без кавычек он вообще ничего не находит. Utf-16 тоже нужен.
                  Права смотрели, все хорошо.
                  Остальное попробую, спасибо!

                  Comment

                  • l3tiy1101
                    Member
                    • Aug 2014
                    • 30

                    #10
                    Воспроизвел ситуацию у себя на линукс машине, всё срабатывает

                    Comment

                    • aib
                      Senior Member
                      • Jan 2014
                      • 1615

                      #11
                      Глупый вопрос - сколь долго вы ждали появления информации от "активного" (пополняющегося) лог-файла?

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

                      Поставьте 30 секунд интервал обновления и подождите минут 5. Потом проверьте в Monitoring -> Latest Data - что появилось? когда?
                      Sincerely yours,
                      Aleksey

                      Comment

                      • arcenciel4
                        Member
                        • Jun 2014
                        • 36

                        #12
                        Originally posted by aib
                        Глупый вопрос - сколь долго вы ждали появления информации от "активного" (пополняющегося) лог-файла?

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

                        Поставьте 30 секунд интервал обновления и подождите минут 5. Потом проверьте в monitoring -> latest data - что появилось? когда?
                        30 секунд стоят, а заббикс все молчит. есть конечно вероятность, что просто нет нужных строк, но за столько времени это странно. исходные логи пока нет возможности посмотреть, но в 12 часов точно узнаем было ли что.

                        Comment

                        • l3tiy1101
                          Member
                          • Aug 2014
                          • 30

                          #13
                          Ну так сами подбросьте ему в лог нужные данные, чтобы посмотреть срабатывание.

                          Comment

                          • arcenciel4
                            Member
                            • Jun 2014
                            • 36

                            #14
                            Originally posted by l3tiy1101
                            Ну так сами подбросьте ему в лог нужные данные, чтобы посмотреть срабатывание.
                            Сбросили, молчит

                            Comment

                            Working...