文档章节

syslog日志

贾峰uk
 贾峰uk
发布于 2017/04/08 16:44
字数 1423
阅读 5
收藏 1
点赞 0
评论 0

1.  架构介绍

Unix/Linux系统中的大部分日志都是通过一种叫做syslog的机制产生和维护的。Syslog是一种标准协议,分为客户端和服务端,客户端是产生日志消息的一方,而服务器端负责接收客户端发送来的日志消息。

几乎所有的网络设备都可以通过syslog协议,将日志信息通过UDP方式传送到远端服务器,远端接收日志服务器必须通过syslogd监听UDP端口514。

Linux系统根据 syslog.conf配置文件中的配置处理本机接收访问系统的日志信息,把指定的事件写入特定文件中,供后台数据库管理和响应之用。

2.  Syslog配置

Linux系统syslog配置文件:/etc/syslog.conf

配置格式:facility.level                                         action

facilitysyslog功能,及收集那些日志主要有

kern:内核信息,首先通过klogd传递;

user:用户进程;

mail:邮件;

daemon:后台进程;

authpriv:授权信息;

syslog:系统日志;

lpr:打印信息;

news:新闻组信息;

uucp:由uucp生成的信息;

cron:计划和任务信息;

mark:syslog内部功能用于生成时间戳;

local0---local7:自定义程序使用;

*:     通配符代表除了mark以外的所有功能。

level指定syslog优先级

emerg/panic:“该系统不可用”(最紧急消息)

alert:需要立即被修改的条件(紧急消息)

crit:阻止工具或子系统功能实现的错误条件(重要消息)

err: 阻止工具或子系统部分功能实现的错误条件(出错消息)

warning: 预警信息(警告消息)

notice: 具有重要性的普通条件(普通但重要的消息)

info: 提供信息的消息(通知性消息)

debug: 不包含函数条件或问题的其他信息(调试级-信息量最多)

none: 没有重要级,通常用于排错(不记录任何日志消息)

*: 所有级别,除了none

action指定记录日志活动

1.       /var/log/lastlog:记录每个使用者最近签入系统的时间,可以通过lastlog命令读取。(root用户最近登陆信息:lastlog -u root)

2.       /var/run/utmp:记录每个用户签入系统的时间, who, users, finger 等指令会查这个档案。

3.       /var/log/wtmp:记录每个使用者签入及签出的时间, last 这个指令会查这个档案. 这个档案也记录 shutdown 及 reboot 的动作。

4.       /var/log/secure:登陆系统的信息。

5.       /var/log/maillog:记录sendmail和pop等相关讯息。

6.       /var/log/cron : 记录 crontab 的相关讯息 ,定时器的信息。

7.        /var/log/dmesg : /bin/dmesg 会将这个档案显示出来, 它是开机时的画面讯息。

8.       /var/log/xferlog : 记录那些位址来 ftp 拿取那些档案。

9.       /var/log/messages : 系统大部份的讯息皆记录在此, 包括 login, check password , failed login, ftp, su 等。

10.   @192.168.0.1:UDP发送到指定syslog服务端的514端口上。

配置实例

3.  日志管理

syslogd守护进程

syslogd –r:执行该命令后syslogd 将会监听从 514 端口上进来的 UDP 包。

syslogd –h:执行该命令后syslogd日志服务器能传送日志信息。

klogd守护进程

klogd 守护进程获得并记录 Linux 内核信息。

 

4.  配置一个中央日志服务器

1.     编辑服务器syslog配置文件

编辑/etc/sysconfig/syslog文件,配置“SYSLOGD_OPTIONS”如:SYSLOGD_OPTIONS="-r-x-m240",-r表示允许接受外来日志,-x表示不起解析其他机器的FQDN,-m240表示每个240分钟在日志文件中出现一次时间戳标志信息。

2.     重启syslogd守护进程

/etc/rc.d/init.d/syslog stop;   /etc/rc.d/init.d/syslog start

或者

/etc/rc.d/init.d/syslog restart

3.     运行514端口通过防火墙

4.     为中央日志服务器配置客户机

        1)编辑客户机上的/etc/syslog.conf文件,在有关配置行的操作动作部分用一个“@”字符指向中央日志服务器,例如:

authpriv.*        @192.168.1.40

        2)另一种办法是在DNS里定义一个名为“loghost”的机器,然后对客户机的syslog配置文件做如下修改(这个办法的好处是:当你把中央日志服务器换成另一台机器时,不用再修改每一个客户机上的syslog配置文件)

authpriv.*       @loghost

        接下来,重新启动客户机上的syslog守护进程让修改生效。

测试日志收集

在客户机上面配置好:

/etc/syslog.conf

重启守护进程

/etc/rc.d/init.d/syslog restart

然后我们再编写一个c程序用来产生日志消息

先对程序进行编译gcc -o syslog syslog.c

然后运行程序./syslog

然后我们进入服务器端查看配置,除了mail/authpriv等信息都会被记录到/var/log/messages日志中。

查看/var/log/messages日志。

到这里我们配置以及完成了测试成功。

下面看一下c程序中用到的方法和参数。

方法:openlog()3个参数

第一个参数:日志记录标志字符串。

第二个参数:下面标志位组合

LOG_CONS:日志信息在写给日志服务器的同时打印到终端
       LOG_NDELAY:立即记录日志
       LOG_PERROR:把日志信息也输出到标准错误流
       LOG_PID:在标志字段中记录进程的PID值

第三个参数:说明日志类型(跟我们配置的news类型消息发送到服务器端对应)

方法syslog()

第一个参数:日志级别

   第二个以后的参数:类似于pringf方法类似,输出日志内容。

方法closelog() 关闭日志记录。

© 著作权归作者所有

共有 人打赏支持
贾峰uk
粉丝 0
博文 67
码字总数 104516
作品 0
深圳
如何使用系统自带的日志转储功能logroate.存放应用日志

Linux日志服务介绍 1. 在Linux系统,大部分日志都是由syslog日志服务驱动和管理的   配置文件, /etc/init.d/syslog是启动脚本,这里主讲主配置文件/etc/syslog.conf:   /etc/syslog.c...

yuri_cto
2017/12/19
0
0
flume1.6 + syslogtcp + kafka 日志采集(二)

syslog配置详解: http://www.360doc.com/content/14/0313/09/16243542_360179097.shtml 1. 前言 syslog是UNIX系统中提供的一种日志记录方法(RFC3164),syslog本身是一个服务器,程序中凡是使...

whitelover
2016/11/03
40
0
syslog及syslog-ng详解

一台服务器的日志对系统工程师来说是至关重要的,一旦服务器出现故障或被入侵,我们需要查看日志来定位问题的关键所在,所以说对于线上跑的服务器而言日志应该合理的处理及管理.下面来介绍下lin...

mj4738
2013/03/12
0
0
国内常见网络与安全、主机系统的syslog配置方法(上)

1 UNIX主机 1.1 Solaris 通过Unix系统的Syslog服务转发系统日志到采集服务器,具体配置方法如下: 1. 提供Unix系统的IP地址 2. 提供Unix系统的主机名称 3. 在Unix系统/etc/syslog.conf文件...

技术小胖子
2017/11/08
0
0
Linux 日志服务器搭建(rsyslog+loganalyzer)

环境:centos 5.3 x32 日志服务器环境:nginx php mysql rsyslog rsyslog-mysql loganalyzer 日志客户端环境:rsyslog 日志服务器 192.168.0.100 日志客户端服务器 192.168.0.101 一、nginx+php...

cqfish
06/26
0
0
Linux syslog日志服务器架设攻略

从目前的情况来看,Syslog(系统日志)这一历史悠久的日志系统仍旧占据着最主流的地位。由于与类 UNIX平台之间的渊源,Syslog是在实际应用环境中最容易获得的日志系统。 同时,还有很多的基于...

鉴客
2011/11/28
22K
4
Linux syslog日志系统详解

一. syslog简介 syslog是一种工业标准的协议,可用来记录设备的日志。在UNIX系统,路由器、交换机等网络设备中,系统日志(System Log)记录系统中任何时间发生的大小事件。管理者可以通过查看...

zhangguangyi
2015/08/02
0
0
使用 syslog-ng 可靠地记录物联网事件

用增强的日志守护进程 syslog-ng 来监控你的物联网设备。 现在,物联网设备和嵌入式系统越来越多。对于许多连接到因特网或者一个网络的设备来说,记录事件很有必要,因为你需要知道这些设备都...

14%
05/17
0
0
rsyslog+loganalyzer 安装配置

环境简介 l 前期部署lnmp环境 l 操作系统版本:RedHat5.4 x32 Rsyslog server:192.168.10.250 Syslog client:192.168.10.1 l 所需软件: rsyslog-6.2.2.tar.gz loganalyzer-3.6.3.tar.gz ......

墨梅
2014/01/14
0
0
总结之:CentOS 6.5 rsyslog+MySQL+loganalyzer日志集中分析管理

前言 rsyslog系统日志,在CentOS5上叫syslog,而在CentOS6上叫rsyslog,叫增强版的syslog,CentOS5上的配置文件在/etc/syslog.conf下,而CentOS6在/etc/rsyslog.conf下。 syslog默认是把我们...

wei0164
2014/04/09
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Laravel5.5 MySQL配置和使用、读写分离

Laravel 让连接不同数据库以及对数据库进行增删改查操作: 参考:http://laravelacademy.org/post/854.html 配置读写分离 应用的数据库配置位于 config/database.php(但是数据库用户及密码等...

MichaelShu
刚刚
0
0
TraitsUI与Mayavi实例

一:创建一个简单的TraitsUI与Mayavi实例 # -*- coding: utf-8 -*-from numpy import sqrt,sin,mgridfrom traits.api import HasTraits,Instancefrom traitsui.api import View,Item......

wangxuwei
5分钟前
0
0
Linux 查看用户

存储帐号的文件:/etc/passwd 存储密码的文件:/etc/shadow 查看当前系统所有用户 grep bash /etc/passwd root修改普通用户的密码 sudo passwd user_name 然后连续两次输入新的用户密码即可...

yeahlife
7分钟前
0
0
Webpack使用nodemon实时打包编译

业务场景: 1.编写一个npm组件包并且link到了项目文件中 2.需要不断的修改并run build编译npm包并且在项目run dev 查看效果 3.问题: 每次改完npm包都要手动run build编译十分的麻烦且低效,可不...

JamesView
18分钟前
0
0
电脑炸了,浪费我好几天时间,还是简要记下来吧

我的小本本一直在兢兢业业的干活,然而前几天说炸就炸了...... 爆炸现场: 软件: windows10 pro + EIS11+ 360卫士 BIOS:N1DET98W 2.24 硬件: Xeon E3 1505-V5 nv-M3000M thinkpadP70:20E...

Oh_really
22分钟前
0
0
Git之branch和checkout

1.branch是查看、创建、删除分支 #>git branch --helpNAME git-branch - List, create, or delete branchesSYNOPSIS git branch [--color[=<when>] | --no-color] [......

汉斯-冯-拉特
24分钟前
0
0
Mybatis拦截器之数据权限过滤与分页集成

需求场景 最近项目有个数据权限的业务需求,要求大致为每个单位只能查看本级单位及下属单位的数据,例如:一个集团军下属十二个旅,那么军级用户可以看到所有数据,而每个旅则只能看到本旅部...

佛系程序猿灬
33分钟前
9
0
SpringCloud 微服务 (十六) 服务追踪 Zipkin

问题 在服务中,有一个接口,该A接口中又调用了其他服务的B、C、D接口,出现一个请求耗时大的问题,这时候并不知道该B、C、D接口中哪个接口造成的耗时量,然后比如确定C服务接口出现的耗时量大,但...

___大侠
今天
0
0
Java面试基础篇——第八篇:抽象类与接口的区别

1.抽象类 抽象类:如果一个类中包含有抽象方法,或这个类使用abstract关键字修饰,则称这个类是抽象类。 抽象方法是什么呢?抽象方法就是指用abstract关键字修饰的方法。 需要注意的是:抽象...

developlee的潇洒人生
今天
2
0
jsoup 相关资料

1.jsoup 2.Jsoup概述 3.jsoup入门 4.jsoup Java HTML Parser 1.11.3 API

IT追寻者
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部