久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

Solaris中syslog機制有什么用

156次閱讀
沒有評論

共計 3148 個字符,預計需要花費 8 分鐘才能閱讀完成。

這篇文章將為大家詳細講解有關 Solaris 中 syslog 機制有什么用,丸趣 TV 小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

syslog 機制負責發送、記錄系統內核及工具所產生的信息,由 syslog() 調用、syslogd 守護進程和配置文件 /etc/syslog.conf 組成。當系統內核及工具產生信息時,通過調用 syslog(),把信息送往 syslogd,syslogd 再根據 /etc/syslog.conf 中的配置要求,將這些信息分別作如下處理:

1. 記錄到系統日志中;

2. 輸出到系統控制臺上;

3. 轉發給指定的用戶;

4. 通過網絡轉發給其它主機上的 syslogd。

通過 syslog.conf 的配置,我們可以靈活地對信息的發送和保存進行控制。

syslogd 進程在系統啟動時由 /etc/rc2.d/S74syslog 啟動。如果需要手工啟動或停止 syslogd,可以使用命令:

# /etc/init.d/syslog start | stop

/etc/syslog.conf 文件中的一項配置記錄由“選項”(selector) 和“動作”(action) 兩個部分組成,兩者間用 tab 制表符進行分隔。而“選項”又由一個或多個形如“類型. 級別”格式的保留字段組合而成,各保留字段間用分號分隔。

保留字段中的“類型”代表信息產生的源頭,可以是:

kern 由 kernel 產生的信息;

user 由用戶進程產生的信息。對那些由程序或不在此列出的工具產生的信息,其缺省類型都是“user”;

mail 郵件系統產生的信息;

daemon 系統守護進程的信息,如 in.ftpd、telnetd;

auth 由 login, su, getty 等進行身份認證時產生的信息;

syslog 由 syslogd 自己內部產生的信息;

lpr 行打印 spooling 系統的信息;

news USENET 網絡新聞系統的信息;

uucp UUCP 系統信息;

cron cron 和 at 工具信息;

local0-7 保留為 local 使用;

mark syslogd 內部產生的時間戳信息;

* 除 mark 之外的所有其它類型(此符號不可用以代表所有級別)。

保留字段中的“級別”代表信息的重要性,可以是:

emerg 緊急,處于 Panic 狀態。通常應廣播到所有用戶;

alert 告警,當前狀態必須立即進行糾正。例如,系統數據庫崩潰;

crit 關鍵狀態的警告。例如,硬件故障;

err 其它錯誤;

warning 警告;

notice 注意;非錯誤狀態的報告,但應特別處理;

info 通報信息;

debug 調試程序時的信息;

none 通常調試程序時用,指示帶有 none 級別的類型產生的信息無需送出。如 *.debug;mail.none 表示調試時除郵件信息外其它信息都送出。

“動作”域指示信息發送的目的地。可以是:

/filename 日志文件。由絕對路徑指出的文件名,此文件必須事先建立;

@host 遠程主機;

user1, user2 指定用戶。如果指定用戶已登錄,那么他們將收到信息;

* 所有用戶。所有已登錄的用戶都將收到信息。

我們來看看 /etc/syslog.conf 文件中的實例:

……

*.err;kern.debug;daemon.notice;mail.crit /var/adm/messages

……

這行中的“action”就是我們常關心的那個 /var/adm/messages 文件,輸出到它的信息源頭“selector”是:

*.err – 所有的一般錯誤信息;

kern.debug – 核心產生的調試信息;

daemon.notice – 守護進程的注意信息;

mail.crit – 郵件系統的關鍵警告信息

于是我們對 /var/adm/messages 中的東東怎么來的大致清楚一點了。再看下面(不理會那個注釋符號“#”):

……

# if a non-loghost machine chooses to have authentication messages

# sent to the loghost machine, un-comment out the following line:

#auth.notice ifdef(‘LOGHOST’, /var/log/authlog, @loghost)

……

這里涉及 Solaris 下的 loghost 和 m4 宏解釋器。loghost 好理解,就是在局域網內多臺 SUN 機器中指定一臺作為 loghost,大家的 syslogd 有水就都往它上面灌。具體誰是 loghost 在 /etc/hosts 中定義:

……

192.168.1.11 host1 loghost

192.168.1.22 host2

……

m4 負責解釋 ifdef,它的事跡這里就不去深究了(要考 SA 的兄弟姐妹們可要去看啊,有題的),反正上面那個 ifdef 的意思就是:如果本機是 loghost,那么信息送到 /var/log/authlog 中,否則送到 @后的主機上。

下面作為一個示例,看看如何使用 syslog 機制來對 telnet 登錄進行記錄。

Telnet 和 ftp 等許多網絡服務是通過 inetd 來提供的。因此先檢查一下 inetd 使用了什么類型和級別的 syslog 調用:

# man inetd

……

-t Instructs inetd to trace the incoming

connections for all of its TCP services. It does this by

logging the client’s IP address and TCP port number,

along with the name of the service, using the syslog(3)

facility. UDP services can not be traced. When tracing is

enabled, inetd uses the syslog facility code “daemon’’

and “notice’’priority level.

……

就是說,啟動帶 - t 選項的 inetd,它才會調用 syslog 來記錄 TCP 服務的細節,類型是 daemon,級別是 notice。于是先修改 inetd 的啟動腳本 /etc/init.d/inetsvc,找到 inetd 那行,改為:

/usr/sbin/inetd -s -t

前面看到,daemon.notice 已經包括在 syslog.conf 中,action 是 /var/adm/messages。如果 action 不想變,那么就不用做修改了。

重啟一下 syslogd:

# /etc/init.d/syslog stop

# /etc/init.d/syslog start

重啟一下 inetd:

# /etc/init.d/inetsvc stop

# /etc/init.d/inetsvc start

試驗一下結果。開一個窗口監視有沒有新的 message 來:

# tail -f /var/adm/messages

從另一臺機器上 telnet 或 ftp 上來。上面的監視窗口中應該有輸出(^C 終止監視):

……

Jun 18 12:08:42 host1 inetd[755]: [ID 317013 daemon.notice] ftp[759] from 192.168.1.88 1082

Jun 18 12:09:13 host1 inetd[755]: [ID 317013 daemon.notice] telnet[760] from 192.168.1.88 1083

Jun 18 12:11:22 host1 inetd[755]: [ID 317013 daemon.notice] ftp[771] from 192.168.1.88 1084

關于“Solaris 中 syslog 機制有什么用”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

正文完
 
丸趣
版權聲明:本站原創文章,由 丸趣 2023-08-25發表,共計3148字。
轉載說明:除特殊說明外本站除技術相關以外文章皆由網絡搜集發布,轉載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 白银市| 静宁县| 武隆县| 霍林郭勒市| 西畴县| 合阳县| 秀山| 唐河县| 通许县| 卫辉市| 太仆寺旗| 苍溪县| 安宁市| 榆社县| 福泉市| 寿阳县| 启东市| 错那县| 莆田市| 上林县| 昌江| 平山县| 宣城市| 平阴县| 涪陵区| 揭东县| 台江县| 湾仔区| 天津市| 宜川县| 镇原县| 宜章县| 博罗县| 崇仁县| 惠安县| 高邮市| 佛坪县| 丰城市| 乐东| 庆云县| 台北县|