linux log系统图

log系统图

先贴图,怎么样,效果还不错吧,根据个人理解画的,如果不行将就用着吧。

解说

syslog是一种机制,在wiki中说这种机制可以使用udp,tcp,unix socket等把日志记录在本地或者远程。

liunx 有个很出名的syslog软件包,其中守护进程部分是sysklogd(我的机器--open suse 10.3--是没有的),它先起来,紧接着启动klogd,从内核或者/proc/kmsg中读取,记录在ring buffer中,等到用户态的守护进程syslogd起来后,就把当时的klogd记录的信息整流到syslogd。记录在/var/log /messages。

他 们有着分工,syslogd接受用户空间的信息,怎么记录,记录什么有 /etc/syslog.conf 配置。常见有两种接口,C的接口函数是syslog(), shell方面的接口是 logger命令。根本的参数名称可以参考/usr/include/syslog.h

klogd 接收内核方面的信息,记录在内存中,这块内存是个循环缓存区,通常叫ring buffer,一般由内核函数printk()发出,类型或者紧急状况有0-7几个数字控制,在/usr/include/linux/kernel.h 中有定义。在开启时读取/etc/sysctl.conf的kernel.printk指定,在运行过程中可以向/proc/kmsg 写入数字指定。具体信息有dmesg命令查看。

怎 么出来个syslog-ng,他是syslogd的第二代,next generation,也是个daemon。配置文件/etc/syslog-ng/syslog.conf. 用哪一个在/etc/sysconfig/syslog的SYSLOG_DAEMON定义。

这个过程算是有点眉目了。

在shell层,我们常用的是shell中命令 logger。看看logger

打印语句

  1. logger 123456

在/var/log/message会打印

  1. Feb 4 00:30:26 lux root: 123456

把文件内容打印到messages

  1. # echo 123456 > tmp
  2. # logger -f tmp
  3. # tail /var/log/messages

messages 会打印

  1. Feb 4 00:33:01 lux logger: 123456

增加自定义类型

  1. logger -t ttt 123456

在/var/log/message会打印

  1. Feb 4 00:30:26 lux ttt: 123456

看看吧,他们的":"前面如果什么也不指定是用户名,如果是从文件中打印是父进程的命令名字,指定当然是定制的类型了。

更多内容男人(man)一下吧。

常用命令

w

当前系统中每个用户和它所运行的进程信息

who

当前登录的每个用户

users

打印出当前登录的用户

finger

谁在某时某地登录

last

所有最后登录过的用户

ac

用户进入和退出来连接的时间

常用日志文件

/var/log/boot.log

引导过程、开机自检

/var/log/cron

crond记录的,包括用户、登录时间、PID...

/var/log/maillog

/var/log/syslog

login记录下的错误口令、Sendmail的问题、su命令执行失败...

/var/log/secure

/var/log/lastlog

/var/log/wtmp

/var/log/utmp

/var/log/xferlog

FTP会话

/var/log/kernlog

内核消息

参考文章

常用命令

http://www.5dlinux.com/article/9/2009/linux_32403.html

sysklogd 系统日志记录器

http://lamp.linux.gov.cn/Linux/sysklogd.html

klogd和syslogd的交互

http://hi.baidu.com/bihailan/blog/item/973a1d8f608530e5f11f36a6.html

在红旗上使用syslog-ng日志服务器

http://tech.ddvip.com/2009-02/1234016033107763_2.html

syslog日志服务器架设攻略

http://tech.ddvip.com/2009-02/1234012018107751.html

syslog wiki

http://en.wikipedia.org/wiki/Syslog

syslog.conf 双语

http://blog.chinaunix.net/space.php?uid=20422917&do=blog&id=1682944

logger logrotate

http://qubaoquan.blog.51cto.com/1246748/293050

linux 日志来龙去脉

http://bowen.blog.51cto.com/136148/107113

更详细的图片

时间: 2024-08-01 02:28:50

linux log系统图的相关文章

linux log拆分

linux下文件分割可以通过split命令来实现,可以指定按行数分割和安大小分割两种模式.Linux下文件合并可以通过cat命令来实现,非常简单. 在Linux下用split进行文件分割: 模式一:指定分割后文件行数 对与txt文本文件,可以通过指定分割后文件的行数来进行文件分割. 命令:split -l 300 large_file.txt new_file_prefix 模式二:指定分割后文件大小 split -b 10m server.log waynelog 对二进制文件我们同样也可以按

linux log rotate

今天老大提醒我产线kafka自身的log文件积累了好几个月了,我才发现原来kafka的log4j并删除old log. 第一反应是采用linux自带的logrotate功能,在/etc/logrotate.d下面建一个文件写入: /opt/kafka_2.11-0.9.0.0/logs/*.log* { daily rotate 3 missingok notifempty} 第二招是利用kafka自身的log4j.properties里面加上只保存最近几天的log. 第三招最简单有效,自己写一

九、Linux系统安装和常见故障排除

一.软件安装:源码与tarball 什么是开发源码 可以随意修改的经由文本编辑器编辑的纯文本文件就是开发源代码. 可执行文件通常为二进制文件. 查看文件类型:file [[email protected] kernels]# file /bin/rm /bin/rm: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.

DLT(Diagnostic Log and Trace)嵌入式系统程序运行记录

http://blog.csdn.net/yanlinembed/article/details/49837975 DLT的使用有属于Application范畴与Context范畴.在使用DLT时,需要包含以下头文件: #include <dlt/dlt.h> 1 1 同时需要link相应的dlt库文件. Context范畴需要使用以下statement去申明及注册: DLT_DECLARE_CONTEXT(BCcontext); // declare the context name. DL

linux重要命令

echo echo命令用于在终端显示字符串或输出变量提取后的值,格式为:"echo [字符串 | $变量]". 将指定字符串输出到终端屏幕: [[email protected] ~]# echo Linuxprobe.Com Linuxprobe.Com 使用$变量的方式提取变量值并输出到屏幕: [[email protected] ~]# echo $SHELL /bin/bash date命令用于显示及设置系统的时间或日期,格式为:"date [选项] [+指定的格式]

4、linux基础命令详解

linux基础命令 Linux图形界面和命令行界面的切换 进入Linux桌面环境后,可以使用键盘上的"Ctrl+Alt+F1~F6"组合键来切换不同的tty界面,Linux默认提供了6个命令行界面(F1-F6),比如"Ctrl+Alt+F1"就是切换到tty1: 在命令行模式下,想要切换回图形界面可以使用组合键"Ctrl+Alt+F7":另外,如果不是从图形界面切换到tty模式,而是系统启动时候直接进入了命令行模式,在登陆后可以使用"s

03、新手必须掌握的Linux命令

Ⅰ. 常用系统工作命令 1. echo 命令 echo命令用于在终端输出字符串货变量提取后的值,格式为"echo [字符串 | $变量]" 例:把指定字符串"LinxuHat"输出到终端屏幕的命令为: [[email protected] Desktop]# echo LinuxHat 该命令会在终端屏幕上显示如下信息: LinuxHat 使用$变量的方式提取变量SHELL的值,并将其输出到屏幕上: [[email protected] Desktop]# echo

Android崩溃日志获取与解析

在程序界面有一句话很流行,那就是不要重复造轮子.现在市面上有很多的崩溃日志抓取工具,比如腾讯的bugly,不管是eclipse还是Android Studio,集成都是非常简单,他可以抓取到JAVA的崩溃,同样也可以抓取到NDK代码的崩溃. Java的崩溃就没有什么好说的,集成的步骤以及实现的原理太简单,下面我们来看看如何集成NDK崩溃的抓取 首先在c/c++代码的任意位置添加代码const char SO_FILE_VERSION[]  __attribute__ ((section (".b

一次渗透测试过程--从外网进内网(原创)

本文首发习科:地址http://bbs.blackbap.org/thread-7483-1-1.html 最近内网权限掉了, 需要重新找外网的入口进内网, 用凤凰扫描器生成字典扫了一下弱口令,人肉查看了c段上的一些web, 扫了扫端口,发现13这台机器上跑了一个wingsoft的软件, 在乌云上找到了一个漏洞, 用st2 -005 漏洞得到了可以远程执行命令的权限 0x02 进入边界服务器 执行 unset HISTORY HISTFILE HISTSAVE HISTZONE HISTORY