Alteon 本身有支援 syslog 輸出到外部 syslogd server 的方式(UDP:514),其 syslog 一些設定(訊息等級之類都雷同 Unix-like OS)
整個設定裡最麻煩的在於要讓 syslogd server 把 Alteon 跟 loacl 的訊息區分出來不要混淆,所以會造成一些麻煩事
設定我們就分 Alteon & syslogd server 兩部份來說
- Alteon: (參考 Alteon_OS_22.0.2_Command_Reference Page.233)
- /cfg/sys/syslog
host 10.0.1.62 #我們走 LAN 送 DATA 就好
sever 6
facil 6
log all ena
apply - Syslogd Server: (我們以 一台 Lan Server 來當收 log 的 server)
- /etc/hosts #這個部份是為了讓我們的 syslog.conf 可以區分用
10.0.1.1 alteon1.mydomain.com.tw alteon1
10.0.1.2 alteon2.mydomain.com.tw alteon2 - /etc/rc.conf[.local] #rc.conf 設定 syslogd 的啟動參數,若需多個就以空白隔開,語法: ip[/netmask]:port
syslogd_flags="-a 10.0.1.0/24:514" (註一)
- /etc/pf.conf[.local] #pf.conf 加一個 UDP: 514 的 port allow
udp_private = "{ snmp 514 }" (註二)
- syslog.conf #在所有設定的最上面加上以下幾行
+alteon1 (註三)
*.* /var/log/alteon1.log
+alteon2
*.* /var/log/alteon2.log
+@ - 以上都設定好要重跑 syslogd & pf
- /etc/rc.d/syslogd restart
- /etc/rc.d/pf restart
- 註一:FreeBSD 上 syslogd 預設開機就會啟動,然而預設開機是有加 -s (會讓這台 Server 不能當做 Syslogd server),所以我們要加個 syslogd_flags 讓 syslogd 啟動時換掉啟動參數;若是要 allow 多網段或 IP,在網段或 IP 之間用空白隔開即可,至於 "IP/netmask" 的表示法就不多說;成功啟動後用 ps 去看會看到 syslogd 長的像這個樣子 "/usr/sbin/syslogd -a 10.0.1.0/24:514"
- 註二:我們在 pf 部份只 allow 了 snmp,而 syslog 是走 UDP 514,所以要開放,有些人沒用 pf 是用 ipfw,也是相對應做一下設定開放 UDP 514
- syslog.conf 的精華在這,
- 我們在 /etc/hosts 指定好 server alias 就是為了這部份要用,最一開始有說到 Alteon 丟出來的訊息等級都跟 unix-like OS 雷同,所以不分類的話一定會混雜在一起,要分類的話就得有個明顯的"標的"可以被 syslog.conf 使用
- 在 man page 裡有提到,
- +[hostname] 指的是由這個 host 過來的訊息利用以下 block 的方式記錄
- +@ 指的是 localhost 的訊息利用以下 block 的方式記錄
- -[hostname] 跟 +[hostname] 反向,也就是除了 [hostname] 以外的都用以下 block 的方式記錄
- 剩下的可以參考 man syslog.conf
- 以下列出收 Log 的 Server 的 syslog.conf 給大家參考
- # $FreeBSD: src/etc/syslog.conf,v 1.28 2005/03/12 12:31:16 glebius Exp $
#
# Spaces ARE valid field separators in this file. However,
# other *nix-like systems still insist on using tabs as field
# separators. If you are sharing this file between systems, you
# may want to use only tabs as field separators here.
# Consult the syslog.conf(5) manpage.
+alteon1
*.* /var/log/alteon1.log
+alteon2
*.* /var/log/alteon2.log
+@ #這裡要讓以下原本的設定都是跟之前一樣,所以指定為以下 block 都是記 localhost
*.err;kern.warning;auth.notice;mail.crit /dev/console
*.notice;authpriv.none;kern.debug;lpr.info;mail.crit;news.err /var/log/messages
security.* /var/log/security
auth.info;authpriv.info /var/log/auth.log
mail.info /var/log/maillog
lpr.info /var/log/lpd-errs
ftp.info /var/log/xferlog
cron.* /var/log/cron
*.=debug /var/log/debug.log
*.emerg *
# uncomment this to log all writes to /dev/console to /var/log/console.log
console.info /var/log/console.log
# uncomment this to enable logging of all log messages to /var/log/all.log
# touch /var/log/all.log and chmod it to mode 600 before it will work
#*.* /var/log/all.log
# uncomment this to enable logging to a remote loghost named loghost
#*.* @loghost
# uncomment these if you're running inn
# news.crit /var/log/news/news.crit
# news.err /var/log/news/news.err
# news.notice /var/log/news/news.notice
!startslip
*.* /var/log/slip.log
!ppp
*.* /var/log/ppp.log
- 【FreeBSD】用 FreeBSD 建置集中式 Syslog Server
- Unix 系統管理手冊-第十一章 Syslog 和記錄檔
- Alteon_OS_22.0.2_Command_Reference P.233