一、syslog服务简介

rsyslog 是一个 syslogd 的多线程增强版。rsyslog负责写入日志, logrotate负责备份和删除旧日志, 以及更新日志文件

logger命令

将自定义的信息写入到本地日志系统需要用到:logger 命令

logger 是一个shell 命令接口,可以通过该接口使用Syslog的系统日志模块,还可以从命令行直接向系统日志文件写入一行信息

logger -it error -p local5.info "hello world"

-i 在每行都记录进程ID

-t 日志中的每一行都加一个error标签

-p 指定自定义的日志设备和日志级别,相关内容参见文章附录

日志类型

日志类型说明

auth

pam产生的日志

authpriv

ssh,ftp等登录信息的验证信息

cron

时间任务相关

kern

内核

lpr

打印

mail

邮件

mark(syslog)

rsyslog服务内部的信息,时间标识

news

新闻组

user

用户程序产生的相关信息

uucp

unix to unix copy, unix主机之间相关的通讯

local1~7

自定义的日志设备

日志级别

级别

说明

debug

有调式信息的,日志信息最多

info

一般信息的日志,最常用

notice

最具有重要性的普通条件的信息

warning

警告级别

err

错误级别,阻止某个功能或者模块不能正常工作的信息

crit

严重级别,阻止整个系统或者整个软件不能正常工作的信息

alert

需要立刻修改的信息

emerg

内核崩溃等严重信息

none

什么都不记录

二、syslog服务配置

[root@localhost]# yum install rsyslog rsyslog-mysql logrotate

[root@localhost]# service rsyslog status

rsyslogd (pid 24331) is running...

[root@localhost]# ps -ef | grep rsyslogd | grep -v grep

root 24331 1 0 20:26 ? 00:00:00 /sbin/rsyslogd -i /var/run/syslogd.pid -c 2 -r -x -m 180

server:

配置rsyslog

[root@localhost]# vim /etc/sysconfig/rsyslog

1 # Options for rsyslogd

2 # Syslogd options are deprecated since rsyslog v3.

3 # If you want to use them, switch to compatibility mode 2 by "-c 2"

4 # See rsyslogd(8) for more details

5 # SYSLOGD_OPTIONS="-c 5"

6 SYSLOGD_OPTIONS="-c 2 -r -x -m 180"

7 KLOGD_OPTIONS="-x"

各参数作用:

-c 指定运行兼容模式。

-r 指定监听端口。 默认514

-x 在接收客户端消息时,禁用DNS查找。需和-r参数配合使用。

-m 标记时间戳。单位是分钟,为0时,表示禁用该功能。

编辑rsyslog.conf 开启相关属性

$ModLoad immark

$ModLoad imudp

$UDPServerRun 514

查看是否启动

[root@localhost]# netstat -nultp | grep 514

udp 0 0 0.0.0.0:514 0.0.0.0:* 24331/rsyslogd

udp 0 0 :::514 :::* 24331/rsyslogd

Client:

编辑rsyslog.conf  新增以下:

*.*                @192.168.1.10

说明:

第一个*号字段为什么服务如:mail、kernel、ftpd等,这里的*号代表所有服务

第二个*号字段为记录相应服务的日志级别如info、warn、err等,这里*号代表说有级别,即所有服务的说有日志都会发送到192.168.1.10这台主机上

注意:如果server端开启的是tcp的514端口,上面就应该这样写:*.*    @@rsyslog-server-ip

记录日志(有一个很实用的功能记录服务器执行的history)

这里有多种方法

第一种

修改bash源码,重新编译

# wget http://ftp.gnu.org/gnu/bash/bash-4.2.tar.gz

# tar zxvf bash-4.2.tar.gz -C /usr/local/bash-4.2

# cd /usr/local/bash-4.2

。。。

可以参见 http://levichen.logdown.com/posts/2013/11/04/syslog-record-history

第二种 使用trap (Just add the following lines in your /etc/profile)

function log2syslog

{

declare command

command=$(fc -ln -0)

logger -p local1.notice -t bash -i — $USER : $command

}

trap log2syslog DEBUG

第三种 (Just add the following lines in your /etc/profile)

export PROMPT_COMMAND='{ msg=$(history 1 | { read x y; echo $y; });logger "[euid=$(whoami)]":$(who am i):[`pwd`]"$msg"; }'

export PROMPT_COMMAND='{ command=$(history 1 | { read x y; echo $y; }); logger -p local1.notice -t bash -i "user=$USER,from=$SSH_CLIENT,pwd=$PWD,command:$command"; }'

alias precmd "history 1 | /bin/logger -p local1.notice -t `echo $SHELL`:`whoami`:`pwd`:`ip r l |cut -d' ' -f12` -i "

PROMPT_COMMAND='history -a >(tee -a ~/.bash_history | logger -t "$USER[$$] $SSH_CONNECTION")'

export PROMPT_COMMAND='if [ "$(id -u)" -ne 0 ]; then echo "$(date "+%Y-%m-%d.%H:%M:%S") $(pwd) $(history 1)" >> ~/.logs/bash-history-$(date "+%Y-%m-%d").log; fi'

有好多种方式来记录,我采用第二条命令

三、rsyslog server文件配置

修改配置文件

vim /etc/rsyslog.d/50-default.conf

添加内容

*.* /var/log/remotehost.log

新建保存日志文件

touch /var/log/remotehost.log

重启rsyslog server,用tail动态查看

tail -f /var/log/remotehost.log

参考文章

http://levichen.logdown.com/posts/2013/11/04/syslog-record-history

history linux 日志服务器_Linux下使用rsyslog部署日志服务器 记录history并发送到rsyslog服务器...相关推荐

  1. docker linux 快速开窗口_Linux下Docker快速部署LAMP

    若你的mac或Linux环境上未安装Docker,请移步Docker安装,确认安装成功之后再进行下文内容.如果你不了解Docker如何操作,但是你又想彻底弄懂Docker命令,可以看我另一篇文章Doc ...

  2. SUSE下使用syslog-ng部署日志服务器

    摘要: 日志文件集中存储是网络安全的必要手段,可将系统的登录信息messages等7中级别的日志均进行集中存储,方便审查.在redhat下使用syslogd服务做简单的配置即可完成日志文件存储到日志服 ...

  3. linux下mysql日志配置_Linux下MySQL 5.5.21 服务器日志配置

    昨日需要配置服务器日志,在网上搜了很多材料,结果都会出现错误.看了以下错误日志,才知道Mysql 5.5版本配置进行了更改.网上苦苦搜寻没有结果,于是乎就下了英文手册.写下这篇文章,希望能对大家有所帮 ...

  4. linux mysql 邮件_linux 下 搭建邮件邮件服务器(Postfix+Dovecot)(二)-基于mysql的虚拟账户登陆收发邮件...

    linux 下 搭建邮件邮件服务器(Postfix+Dovecot)(二)-基于mysql的虚拟账户登陆收发邮件 使用虚拟用户收发邮件安装 九.安装Courier authentication lib ...

  5. linux打印JAVA日志命令_Linux下查看日志用到的常用命令

    tail  -n  10  test.log   查询日志尾部最后10行的日志; tail -n +10 test.log    查询10行之后的所有日志; head: 跟tail是相反的,tail是 ...

  6. linux spidev 应用_Linux下SPI驱动的移植和应用程序的测试

    Linux2.6.32下SPI驱动的移植如下图所示: 下面需要修改部分内核代码,具体操作如下: 1.  修改arch/arm/mach-s3c2440/mach-mini2440.c文件 在inclu ...

  7. linux 在本地创建svn服务器_linux下搭建svn服务器及创建项目

    一. 使用yum 安装SVN包 关于YUM 服务器的配置参考: Linux 搭建 YUM 服务器 http://blog.csdn.net/tianlesoftware/archive/2011/01 ...

  8. linux mysql 日志乱码_Linux下MySQL保存进去数据为乱码的解决办法

    mysql默认的字符编码是latin1,而我用的是utf-8,存入数据库就变成了?????这样的乱码,解决方法: 1.windows下:修改my.ini文件,有 mysql默认的字符编码是latin1 ...

  9. 在linux中连接mysql数据库服务器_Linux下连接Mysql服务器的方式

    一:mysql连接简介 1.linux下mysql的连接方式有三种: 本地mysql命令连接 客户端命令连接 脚本语言封装方法连接 2.linux下mysql的连接方法有两种: TCP/IP协议连接 ...

最新文章

  1. mysql oracle查询速度慢_oracle查看执行最慢与查询次数最多的sql语句
  2. PyCharm的配置与安装
  3. 陈灯可重用代码段管理器(插件版最新版本:3.2;桌面版最新版本:2.3)
  4. JSF Tomcat配置示例
  5. LeetCode 1213. 三个有序数组的交集(哈希set)
  6. asp.net试题(三)
  7. ORA-06575: 程序包或函数 NO_VM_DROP_PROC 处于无效状态
  8. JavaSE基础 ——运算符
  9. CoolHC Volume 2 By CoolFire
  10. Java注释以及快捷键
  11. 使用SVD奇异值分解求解PCA+Python实现
  12. MES管理端介绍,ebr二次开发产品—SIMATIC IT EBR(Opcenter Execution Pharma)
  13. 3dMax模型数据转cesium Gltf模型
  14. 愚你相遇,好幸运:遇见你,遇见了最好的自己
  15. 在 2040 年前,实现净零碳排放
  16. 三天学会MySQL - MySQL数据库章节练习
  17. Intro to Copy Elision and (N)RVO
  18. 提升社群转化率?3大步骤、6大技巧详解
  19. windows 清理 cbs.log 文件
  20. Android开发框架汇总

热门文章

  1. 内核态与用户态的区别
  2. 详解 TCP 和 UDP
  3. 【Paper】英文论文写作小技巧
  4. [云炬创业管理笔记]第十章商业计划书答辩测试1
  5. 台湾大学林轩田机器学习技法课程学习笔记12 -- Neural Network
  6. 串口通信模块1:串口基础知识
  7. linux文件-link函数(文件硬链接和软连接)
  8. 计算机网络核心知识(上)
  9. Qt中 QString 和int,double等的转换
  10. Jackson ObjectMapper