Django 데이터를 logstash로 elasticsearch에 뿌리고 싶습니다

현재 장고 웹서버를 구축했고 로그스태시를 연결하여 엘라스틱서치에 뿌리는 작업을 하고 있습니다. 로그스태시 인풋은 tcp를 사용했는데요. 아래처럼 django 파일의 settings.py를 설정해줬고요.

LOGGING = {
    'version': 1,
    'disable_existing_loggers': False,
    'formatters': {
        'simple': {
            'format': 'velname)s %(message)s'
         },
    },
    'handlers': {                       
        'logstash': {
            'level': 'INFO',
            'class': 'logstash.TCPLogstashHandler',
            'host': 'localhost',
            'port': 5959,  # Default value: 5959
            'version': 1,
            'message_type': 'django',
            'fqdn': False,
            'tags': ['django.request'],
        },
        'console': {
            'level': 'INFO',
            'class': 'logging.StreamHandler',
            'formatter': 'simple'
        },
    },
    'loggers': {                        
        'django.request': {
            'handlers': ['logstash'],
            'level': 'INFO',
            'propagate': True,
        },

        'django': {
            'handlers': ['console'],
            'propogate': True,
        },
    }
}

아래처럼 로그스태시 conf 파일을 설정했습니다.

input {
    tcp {
    port => 5959
    codec => json
    }
}
output {
    elasticsearch {
        hosts => ["localhost:9200"]
        user => "****"
        password => "****"
    }
}

로그스태시를 돌려보면 elasticsearch index에는 아래와 같이 잘 나타나는데요.

!
여기서 나타나는 docs count=0인 것은 장고 파일을 추가해야 되는 거 맞나요?
그리고 docs count=0이라 하더라도 kibana index pattern에서 logstash-*를 입력하면 매칭이 되야 하는데 매칭되는 것이 없다고 합니다. 무슨 문제일까요?

여기서 나타나는 docs count=0인 것은 장고 파일을 추가해야 되는 거 맞나요?

아직 전달된 로그가 전혀 없다는 것을 의미합니다. 로그를 발생시키는 장고 파일을 추가해야 된다는 의미라면, 맞습니다.

kibana index pattern에서 logstash-*를 입력하면 매칭이 되야 하는데 매칭되는 것이 없다고 합니다.

일단 테스트로 로그를 몇개 넣어보고 테스트 해보세요. 여전히 같다면, 스크린샷을 공유해주시면 좋겠습니다.

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.