undefined

linux中的logsys 进程

Linux 之 syslog 日志服务详解

syslog 和 rsyslog 是 Linux 下默认的日志守护进程。rsyslog 是 syslog 的升级版。同时 syslog 是标准协议,可以用来记录设备的日志。在UNIX系统,路由器、交换机等网络设备中,系统日志(System Log)记录系统中任何时间发生的大小事件。管理者可以通过查看系统记录,随时掌握系统状况。UNIX的系统日志是通过syslogd这个进程记录系统有关事件记录,也可以记录应用程序运作事件。通过适当的配置,我们还可以实现运行syslog协议的机器间通信,通过分析这些网络行为日志,藉以追踪掌握与设备和网络有关的状况。

一、syslog的配置文件

想要整体了解syslog,先从syslog的配置文件开始看起。 /etc/rsyslog.conf 是 rsyslog 守护进程启动时需要的配置文件。各版本内容有略微不同,但是整体大致都相同。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
# rsyslog configuration file

# For more information see /usr/share/doc/rsyslog-*/rsyslog_conf.html
# If you experience problems, see http://www.rsyslog.com/doc/troubleshoot.html

#### MODULES ####
# 加载模块
# The imjournal module bellow is now used as a message source instead of imuxsock.
# 加载 imuxsock 模块,为本地系统登陆提供支持(例如通过logger命令)
$ModLoad imuxsock # provides support for local system logging (e.g. via logger command)
# 提供对systemd日志的访问
$ModLoad imjournal # provides access to the systemd journal
# 加载 imklog,为内核登陆提供支持
#$ModLoad imklog # reads kernel messages (the same are read from journald)
# 提供标记信息功能
#$ModLoad immark # provides --MARK-- message capability

# 加载 UDP 模块,允许使用UDP的514端口接收采用UDP协议转发的日志
# Provides UDP syslog reception
#$ModLoad imudp
#$UDPServerRun 514

# 加载 TCP 模块,允许使用TCP的514端口接收采用TCP协议转发的日志
# Provides TCP syslog reception
#$ModLoad imtcp
#$InputTCPServerRun 514

#### GLOBAL DIRECTIVES ####
# 全局指令的配置
# Where to place auxiliary files
# 辅助文件目录
$WorkDirectory /var/lib/rsyslog

# Use default timestamp format
# 使用默认的时间戳格式
$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat

# File syncing capability is disabled by default. This feature is usually not required,
# not useful and an extreme performance hit
# 文件同步功能,通常是被禁用的,这个功能通常不是必要的,会大幅影响性能
#$ActionFileEnableSync on

# Include all config files in /etc/rsyslog.d/
# 包含配置文件的目录,这个目录下的配置文件也是生效的
$IncludeConfig /etc/rsyslog.d/*.conf

# Turn off message reception via local log socket;
# local messages are retrieved through imjournal now.
# 通过本地消息日志套接字关闭消息接收,本地消息可以用imjournal检索
$OmitLocalLogging on

# File to store the position in the journal
# 在日志中文件用于存储的位置
$IMJournalStateFile imjournal.state

#### RULES ####
#RULES部分主要是对各种facility和level进行设置
#设置你想要接收的facility的何种level的日志消息

# Log all kernel messages to the console.
# Logging much else clutters up the screen.
# 将将所有的内核日志记录在界面,会造成屏幕混乱
#kern.* /dev/console

# Log anything (except mail) of level info or higher.
# Don't log private authentication messages!
# 将 info或者更高级别的消息送到这个文件,除了mail以外
# 其中 * 是通配符,代表任何设备,none表示不对任何级别的信息进行记录
# 同一行配置中,允许出现多个选择条件,多个选择条件使用 ; 隔开
*.info;mail.none;authpriv.none;cron.none /var/log/messages

# The authpriv file has restricted access.
# 将 authpriv 设备的任何级别信息记录到这个文件中,这主要是一些权限相关的信息
authpriv.* /var/log/secure

# Log all the mail messages in one place.
# 将 mail 设备中的任何级别的信息记录到这个文件,这主要是和电子邮件相关的信息
# 文件前的前缀表示可以避免日志的同步写入,某些时候对提升系统的性能有很大的帮助
mail.* -/var/log/maillog

# Log cron stuff
# 将 cron 设备中的任何级别的信息记录到这个文件,这主要是系统中定期执行的任务相关信息
cron.* /var/log/cron

# Everybody gets emergency messages
# 将任何级别的 emerg 级别的信息发送给所有正在系统上的用户
*.emerg :omusrmsg:*

# Save news errors of level crit and higher in a special file.
# uucp 和 news 设备的 crit 级别的信息记录到这个文件
uucp,news.crit /var/log/spooler

# Save boot messages also to boot.log
# 将系统启动相关的信息记录在这个文件
local7.* /var/log/boot.log

# ### begin forwarding rule ###
# 转发规则
# The statement between the begin ... end define a SINGLE forwarding
# rule. They belong together, do NOT split them. If you create multiple
# forwarding rules, duplicate the whole block!
# 远程日志可以使用 TCP 保持可靠
# Remote Logging (we use TCP for reliable delivery)
#
# 创建一个磁盘上的队列,如果远程的主机是关闭的状态,消息会先存储在磁盘中并且在远程主机启动时发送过去(TCP)
# An on-disk queue is created for this action. If the remote host is
# down, messages are spooled to disk and sent when it is up again.
# spool 文件 唯一的前缀
#$ActionQueueFileName fwdRule1 # unique name prefix for spool files
# 1gb的空间限制(尽量使用)
#$ActionQueueMaxDiskSpace 1g # 1gb space limit (use as much as possible)
# 在关机的时候把信息存储在磁盘中
#$ActionQueueSaveOnShutdown on # save messages to disk on shutdown
# 异步运行
#$ActionQueueType LinkedList # run asynchronously
# 如果远程主机宕机,将无限次重试
#$ActionResumeRetryCount -1 # infinite retries if host is down
# remote host is: name/ip:port, e.g. 192.168.0.1:514, port optional
# 远程的主机和端口,注意:若用UDP传输,则将@@改为@即可。
#*.* @@remote-host:514
# ### end of the forwarding rule ###

/etc/rsyslog.conf 的修改只是在 rsyslog 守护进程重新启动后才会生效。

查看更多

undefined

linux之ar命令

ar 命令:建立或修改备存文件,或是从备存文件中抽取文件,ar可让您集合许多文件,成为单一的备存文件。在备存文件中,所有成员文件皆保有原来的属性与权限

指令参数

 -d  删除备存文件中的成员文件。

 -m  变更成员文件在备存文件中的次序。

 -p  显示备存文件中的成员文件内容。

查看更多

undefined

linux之ln命令

%0A%23%23%23%23%20ln%E5%91%BD%E4%BB%A4%E7%9A%84%E4%BD%BF%E7%94%A8%0A1.%20%E8%AF%AD%E6%B3%95%EF%BC%9Aln%20%5B%E9%80%89%E9%A1%B9%5D%20%5B%E6%BA%90%E6%96%87%E4%BB%B6%5D%20%5B%E7%9B%AE%E6%A0%87%E6%96%87%E4%BB%B6%5D%0A%E9%80%89%E9%A1%B9%EF%BC%9A-s%20%E5%AF%B9%E6%BA%90%E6%96%87%E4%BB%B6%E5%88%9B%E5%BB%BA%E8%BD%AF%E9%93%BE%E6%8E%A5%EF%BC%8Cln%E9%BB%98%E8%AE%A4%E6%B2%A1%E6%9C%89-s%E7%9A%84%E6%83%85%E5%86%B5%E4%B8%8B%E5%88%9B%E5%BB%BA%E7%9A%84%E6%98%AF%E7%A1%AC%E9%93%BE%E6%8E%A5%E3%80%82%0A2.%20%E5%AF%B9%E7%9B%AE%E5%BD%95%E5%88%9B%E5%BB%BA%E8%BD%AF%E9%93%BE%E6%8E%A5%E4%BE%8B%E5%A6%82%EF%BC%9Aln%20-s%20mysql-5.7.16-linux-glibc2.5-x86_64%20mysql%20%E8%BF%99%E6%98%AF%E6%88%91%E4%BB%AC%E5%9C%A8mysql%E5%AE%89%E8%A3%85%E7%9A%84%E6%97%B6%E5%80%99%E5%BE%88%E5%B8%B8%E7%94%A8%E7%9A%84%E4%B8%80%E5%8F%A5%E5%91%BD%E4%BB%A4%EF%BC%8C%E8%AF%A5%E5%8F%A5%E7%9A%84%E6%84%8F%E6%80%9D%E6%98%AF%EF%BC%8C%E5%B0%86%E6%96%87%E4%BB%B6%E5%A4%B9mysql-5.7.16-linux-glibc2.5-x86_64%E5%91%BD%E5%90%8D%E4%B8%BA%E4%B8%80%E4%B8%AA%E5%BF%AB%E6%8D%B7%E6%96%B9%E5%BC%8F%E4%B8%BAmysql%E7%9A%84%E8%BD%AF%E9%93%BE%E6%8E%A5%E3%80%82%0A3.%20%E5%AF%B9%E6%96%87%E4%BB%B6%E5%88%9B%E5%BB%BA%E8%BD%AF%E9%93%BE%E6%8E%A5%E4%BE%8B%E5%A6%82%EF%BC%9Aln%20-s%20%2Fhome%2Froot%2Fdatabase.sql%20%2Froot%2Fdb%2Fdb.sql%E8%BF%99%E5%8F%A5%E8%AF%9D%E7%9A%84%E6%84%8F%E6%80%9D%E6%98%AF%E5%B0%86database.sql%E5%8F%91%E9%80%81%E4%B8%80%E4%B8%AA%E5%BF%AB%E6%8D%B7%E6%96%B9%E5%BC%8F%E5%88%B0%2Froot%2Fdb%2F%E4%B8%8B%E5%B9%B6%E9%87%8D%E5%91%BD%E5%90%8D%E4%B8%BAdb.sql%E3%80%82%0A

undefined

lsof 命令

介绍

lsof 可以列出当前系统打开文件的工具,因为在linux 环境下,任何事物都以文件的形式存在。因为lsof 需要访问核心内存和各种文件,所以需要root 用户执行。

命令参数:

-a:列出打开文件存在的进程

-c <进程名> :列出指定进程所打开的文件

查看更多

undefined

netstat 命令

netstat 从整体上看,分成两个部分

  • 一个 Active Internet connections,有源TCP 连接,其中“Recv-Q”和“Send-Q”指接收队列和发送队列。这些数字一般为0,如果不是表示软件包正在队列中堆积。
  • 另一个是Active UNIX domain sockets,称为有源Unix 域套接口(和网络套接字一样,但是只能用于本机通信,性能可以提高一倍)。Proto 显示连接使用的协议。RefCnt 表示连接到本套接口上的进程号,Types 显示套接口的类型,State 显示套接口当前的状态,Path 表示连接到套接口的其他进程使用的路径名

参数

查看更多

undefined

nslookup命令–查询域名的DNS信息

nslookup命令的英文全称为 “query Internet name server interactively ”。nslookup命令主要用来查询域名的DNS信息。在使用nslookup之前,先确保已经安装了它,nslookup属于bind-utils包下一个命令 。

nslookup有两种工作模式:“交互模式”和“非交互模式”。在命令行中直接输入nslookup,无需输入任何参数即进入交互模式,由“>”提示。

-sil 不显示任何警告信息

exit 退出命令

server 指定解析域名的服务器地址

查看更多