Ad Widget

Collapse

Обнаружение логов

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • Daikazahn
    Member
    • Nov 2016
    • 69

    #1

    Обнаружение логов

    Добрый день!
    Подскажите подалуйста, есть у кого-нибудь пример обнаружения файлов по маске, например логов?
    Заранее спасибо
  • Daikazahn
    Member
    • Nov 2016
    • 69

    #2
    Взял скрипт из темы
    Problem with Discovery Rule by custom script

    Code:
    UserParameter=discovery.logfile.path, python /usr/local/bin/find.logfile.path.and.size.py /var/log/zabbix
    Code:
    import os
    import sys
    import json
    
    logdir = sys.argv[1]
    
    data = []
    
    for (logdir, _, files) in os.walk(logdir):
            for f in files:
                    if f.endswith(".log"):
                            path = os.path.join(logdir, f)
                            data.append({'#LOGFILEPATH':path})
                            jsondata = json.dumps(data)
    
    print json.dumps({"data": data})
    Скриншоты настроек
    i5.imageban.ru/out/2017/02/27/b1be1751183d3542695930db1dd76198.jpg
    i2.imageban.ru/out/2017/02/27/1807da10ed84dae2cb5bb44bce74e7ba.jpg
    i5.imageban.ru/out/2017/02/27/ef2828eb2aa38047e155688b8c76d2bb.jpg
    i1.imageban.ru/out/2017/02/27/c16ba23227354b37e27621322c5de3a4.jpg

    В логах zabbix server видно что данные приходят на сервер
    Code:
     29892:20170227:124701.595 get value from agent result: '{"data": [{"#LOGFILEPATH": "/var/log/zabbix/zabbix_agentd.log"}]}'
    Скажите, пожалуйста, почему новые, сгенерированные item могут не появлятся?
    Last edited by Daikazahn; 27-02-2017, 11:51.

    Comment

    • Daikazahn
      Member
      • Nov 2016
      • 69

      #3
      Перепроверил на другом zabbix (3.0.7)
      В WEB интерфейсе пишет ошибку
      Cannot create item: item with the same key "vfs.file.size[{#LOGFILEPATH}]" already exists.
      Включил отладку. Смотрю логи.
      tail -f /var/log/zabbix/zabbix_server.log | grep -i -A 3 -B 3 logfile

      --
      2243:20170227:220140.152 In get_values()
      2243:20170227:220140.152 In DCconfig_get_poller_items() poller_type:0
      2243:20170227:220140.152 End of DCconfig_get_poller_items():1
      2243:20170227:220140.152 In substitute_key_macros() data:'discovery.logfile.path'
      2243:20170227:220140.152 End of substitute_key_macros():SUCCEED data:'discovery.logfile.path'
      2243:20170227:220140.152 In substitute_simple_macros() data:'10050'
      2243:20170227:220140.153 In get_value() key:'discovery.logfile.path'
      2243:20170227:220140.153 In get_value_agent() host:'centos6-agent' addr:'172.16.63.190' key:'discovery.logfile.path' conn:'unencrypted'
      2243:20170227:220140.153 Sending [discovery.logfile.path
      ]
      2245:20170227:220140.172 __zbx_zbx_setproctitle() title:'poller #2 [got 0 values in 0.001639 sec, getting values]'
      2245:20170227:220140.172 In get_values()
      --
      2248:20170227:220140.176 End of DCconfig_get_poller_nextcheck():-1
      2248:20170227:220140.176 End of get_values():0
      2248:20170227:220140.176 __zbx_zbx_setproctitle() title:'poller #5 [got 0 values in 0.000165 sec, idle 5 sec]'
      2243:20170227:220140.176 get value from agent result: '{"data": [{"#LOGFILEPATH": "/var/log/zabbix/zabbix_agentd.log"}]}'
      2243:20170227:220140.176 End of get_value_agent():SUCCEED
      2243:20170227:220140.176 End of get_value():SUCCEED
      2243:20170227:220140.176 In activate_host() hostid:10158 itemid:34930 type:0
      --
      2266:20170227:220140.189 In zbx_vc_add_value() itemid:29204 value_type:3 timestamp:1488250899.534290094
      2243:20170227:220140.189 End of substitute_discovery_macros():SUCCEED data:'Logsize of $1'
      2266:20170227:220140.190 End of zbx_vc_add_value():FAIL
      2243:20170227:220140.190 In substitute_key_macros() data:'vfs.file.size[{#LOGFILEPATH}]'
      2266:20170227:220140.190 In zbx_vc_add_value() itemid:29205 value_type:3 timestamp:1488250899.540617731
      2243:20170227:220140.190 In substitute_discovery_macros() data:'{#LOGFILEPATH}'
      2266:20170227:220140.190 End of zbx_vc_add_value():FAIL
      2243:20170227:220140.191 substitute_discovery_macros() cannot substitute macro "{#LOGFILEPATH}": not found in value set
      2266:20170227:220140.191 In zbx_vc_add_value() itemid:29206 value_type:3 timestamp:1488250899.547003989
      2243:20170227:220140.191 End of substitute_discovery_macros():SUCCEED data:'{#LOGFILEPATH}'
      2266:20170227:220140.192 End of zbx_vc_add_value():FAIL
      2243:20170227:220140.192 End of substitute_key_macros():SUCCEED data:'vfs.file.size[{#LOGFILEPATH}]'
      2266:20170227:220140.194 In zbx_vc_add_value() itemid:29207 value_type:3 timestamp:1488250899.553223206
      2243:20170227:220140.194 In substitute_discovery_macros() data:''
      2266:20170227:220140.197 End of zbx_vc_add_value():FAIL
      --
      2266:20170227:220140.199 In zbx_vc_add_value() itemid:29213 value_type:3 timestamp:1488250899.591017955
      2243:20170227:220140.199 In lld_items_validate()
      2266:20170227:220140.199 End of zbx_vc_add_value():FAIL
      2243:20170227:220140.199 query [txnlev:0] [select key_ from items where hostid=10158 and key_='vfs.file.size[{#LOGFILEPATH}]']
      2266:20170227:220140.199 In zbx_vc_add_value() itemid:29214 value_type:3 timestamp:1488250899.597295089
      2266:20170227:220140.199 End of zbx_vc_add_value():FAIL
      2266:20170227:220140.199 In zbx_vc_add_value() itemid:29215 value_type:3 timestamp:1488250899.603576816
      --
      tail -f /var/log/zabbix/zabbix_server.log | grep -i logfile

      2246:20170227:220340.225 In substitute_key_macros() data:'discovery.logfile.path'
      2246:20170227:220340.225 End of substitute_key_macros():SUCCEED data:'discovery.logfile.path'
      2246:20170227:220340.225 In get_value() key:'discovery.logfile.path'
      2246:20170227:220340.225 In get_value_agent() host:'centos6-agent' addr:'172.16.63.190' key:'discovery.logfile.path' conn:'unencrypted'
      2246:20170227:220340.226 Sending [discovery.logfile.path
      2246:20170227:220340.249 get value from agent result: '{"data": [{"#LOGFILEPATH": "/var/log/zabbix/zabbix_agentd.log"}]}'
      2246:20170227:220340.257 In substitute_key_macros() data:'vfs.file.size[{#LOGFILEPATH}]'
      2246:20170227:220340.257 In substitute_discovery_macros() data:'{#LOGFILEPATH}'
      2246:20170227:220340.257 substitute_discovery_macros() cannot substitute macro "{#LOGFILEPATH}": not found in value set
      2246:20170227:220340.257 End of substitute_discovery_macros():SUCCEED data:'{#LOGFILEPATH}'
      2246:20170227:220340.257 End of substitute_key_macros():SUCCEED data:'vfs.file.size[{#LOGFILEPATH}]'
      2246:20170227:220340.257 query [txnlev:0] [select key_ from items where hostid=10158 and key_='vfs.file.size[{#LOGFILEPATH}]']
      JSON который я получаю через zabbix_get:

      Code:
      zabbix_get -s 172.16.63.190 -k "discovery.logfile.path" | jq
      {
        "data": [
          {
            "#LOGFILEPATH": "/var/log/zabbix/zabbix_agentd.log"
          }
        ]
      }
      Last edited by Daikazahn; 28-02-2017, 05:20.

      Comment

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

        #4
        Имя макроса должно включать в себя фигурные скобки.
        Т.е. быть не "#logfilepath", как у Вас, а именно "{#logfilepath}" (только большими буквами, это глючный движок форума их переводит в маленькие).

        В настройках обнаружения и прототипах у Вас всё верно (ну, разве что, из фильтра можно макрос убрать совсем, раз уж соответствующего ему регулярного выражения всё равно нет). А вот скрипт, генерирующий JSON, надо поправить.
        Last edited by Kos; 28-02-2017, 08:49.

        Comment

        • Daikazahn
          Member
          • Nov 2016
          • 69

          #5
          Спасибою. Работает

          Comment

          Working...