가끔 Syslog 수집이 필요한 때가 간혹 있습니다.
Syslog Agent가 정상적으로 syslog를 보내는지 시험이 필요할 때 가볍게 돌릴만한 소스를 만들어 볼까 합니다.
간단한 syslog gen 소스를 이용하였습니다.
이번 포스팅에서는 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")
if err != nil {
fmt.Println(err.Error())
panic(err)
}
ServerConn, err := net.ListenUDP("udp", ServerAddr)
if err != nil {
fmt.Println(err.Error())
panic(err)
}
defer ServerConn.Close()
serverConn := ServerConn
buf := make([]byte, 65535)
for {
n, addr, _ := serverConn.ReadFromUDP(buf)
if n != 0 {
host := addr.IP.String()
log := string(buf[:n])
fmt.Print(host, "||", log)
}
}
}
'Go언어 golang' 카테고리의 다른 글
golang Syslog server / Go언어 Syslog collector - 파싱 추가 RFC5424 (0) | 2023.03.12 |
---|---|
golang Syslog server / Go언어 Syslog collector #2 파싱 (0) | 2023.03.11 |
golang pretty progress bar (0) | 2023.03.09 |
고랭 엑셀 - golang excel #3 차트 삽입 (0) | 2023.03.08 |
고랭 엑셀 - golang excel #2 스타일 기본 (0) | 2023.03.05 |