이전 포스팅에 이어서 RFC5424 파싱을 추가 해 보았습니다. RFC5424 generator는 아래 있는 걸 사용하였습니다. https://github.com/MatejBabis/rfc5242-syslog-gen 정규식 검색해서 있는 거 편하게 가려고 했는데 지금 사용한 generator가 표준대로인지 아닌지 지금 확인하기가 어렵네요. 결국 직접 작성 해 보았습니다. 급조하게 작성해서 맹점이 있을지 모르니 선수님들의 고급스러운 정규식을 쓰시기를 바랍니다. 마무리가 급히 정리되어 죄송한 따름입니다. 그럼, 결과 확인을 해보실까요. 스크린숏을 보시면 2개의 generator에서 UDP 514를 송신하여 두 가지 포맷의 패킷을 수신할 수 있게 되었습니다. package main import ( "error..
이전 포스팅에 이어서 syslog 파싱을 추가 해 보았습니다. 가볍게 시작했던 포스팅인데, RFC 보면서 하려니 이전 포스팅보다 시간이 걸려 하나 포스팅하는 데 오래 걸리네요. RFC3164 https://www.rfc-editor.org/rfc/rfc3164.html - regex 정규식 참조 https://regex101.com/library/97phrb RFC5424 https://www.rfc-editor.org/rfc/rfc5424 - 차후 진행 위 정보를 보고 표준대로 해보았습니다. 하지만 현업에서는 네트워크 장비, 보안장비 또는 기타 디바이스들에서 보내는 syslog는 표준을 따르지 않는 경우가 있어 해당 예제로는 한계가 있습니다. 비표준 포맷을 맞추는 일도 고달픈 일입니다. 예제는 표준만 ..
가끔 Syslog 수집이 필요한 때가 간혹 있습니다. Syslog Agent가 정상적으로 syslog를 보내는지 시험이 필요할 때 가볍게 돌릴만한 소스를 만들어 볼까 합니다. 간단한 syslog gen 소스를 이용하였습니다. https://github.com/dbough/syslog-generator/blob/master/syslogGen.sh 이번 포스팅에서는 syslog를 받은 후 간단한 출력만 하고 다음번에 살을 붙여보려 합니다. package main import ( "fmt" "net" ) func main() { var ServerAddr *net.UDPAddr var err error ServerAddr, err = net.ResolveUDPAddr("udp", "0.0.0.0:514") i..
일하다 보면 데몬 구동 시 상태를 가시적으로 보여주고 싶을 때가 있습니다. 그래서 progress bar를 가끔 사용하곤 하는데 새로운 오픈소스를 찾아서 포스팅해 봅니다. 이런 것이 업무에는 도움이 안 되긴 하지만, 때론 고객사 엔지니어가 봤을 때 나름 있어 보이는 행위라 생각하는 저는 챙기곤 합니다. 예제는 https://github.com/jedib0t/go-pretty/blob/main/cmd/demo-progress/demo.go 보고 간소화하였습니다. 차후 nginx, postgresql, node 가지고 정말 구동시켜가면서 프로그레스 바가 동작하는 것도 업데이트하겠습니다. 오늘은 짧게 샘플만 포스팅하시죠. package main import ( "flag" "fmt" "time" "github..