[Logstash] 플러그인 작성 시 register method.
Elastic/Logstash 2015. 8. 26. 11:53플러그인을 처음 만들다 보면 필요 없겠다 싶은 코드를 별 생각 없이 지우게 되는 경우가 있습니다.
일단 먼저 실행에 옮기는 잘못으로 인해서 오류를 경험 하게 되는데요.
저 역시 비슷한 실수를 해서 또 하지 말자는 의미로 공유해 봅니다.
기본적으로 생성된 플러그인을 등록하는 과정이 코드 상에 포함이 되어 있어야 합니다.
이런 등록 관련 코드가 없다면 아래의 에러 메시지를 경험 하게 됩니다.
[logstash 실행 시 에러 메시지]
The error reported is:
LogStash::Inputs::Telnet#register must be overidden
해당 문구는 base.rb 에 들어 있습니다.
def register
raise "#{self.class}#register must be overidden"
end # def register
이 에러 메시지는 구현한 플러스인에 register 함수가 없기 때문에 발생 하는 것입니다.
아래는 logstash-input-example 플러그인에 포함된 코드입니다.
def register
@host = Socket.gethostname
end # def register
제가 한 실 수는 @host 정보가 필요 없어서 저 register method 부분을 몽땅 삭제 한 것입니다.
다른 분들은 이 같은 초딩같은 실수는 하지 마시길 바랍니다. ^^;