一、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

Linux下使用rsyslog部署日志服务器 && 记录history并发送到rsyslog服务器的更多相关文章

  1. Linux下搭建tomcat集群全记录

    (转) Linux下搭建tomcat集群全记录 2011-10-12 10:23 6133人阅读 评论(1) 收藏 举报 tomcatlinuxapacheinterceptorsession集群 1 ...

  2. 在linux下用tomcat部署java web项目的过程与注意事项

    在linux下用tomcat部署java web项目的过程与注意事项 一.安装JDK 到http://www.oracle.com/technetwork/java/javase/downloads/ ...

  3. 在linux下用tomcat部署java web项目的过程与注意事项(转)

    在linux下用tomcat部署java web项目的过程与注意事项一.安装JDK到http://www.oracle.com/technetwork/java/javase/downloads/in ...

  4. Linux下使用JDK11部署Nacos启动报错:Could not find or load main class

    Linux下使用JDK11部署Nacos 错误日志 /nacos/jdk-11.0.12/bin/java -server -Xms2g -Xmx2g -Xmn1g -XX:MetaspaceSize ...

  5. linux下通过acl配置灵活目录文件权限(可用于ftp,web服务器的用户权限控制)

    linux下通过acl配置灵活目录文件权限(可用于ftp,web服务器的用户权限控制) 发表于2012//07由feng linux 本身的ugo rwx的权限,对于精确的权限控制很是力不从心的,ac ...

  6. Linux下一个简单的日志系统的设计及其C代码实现

    1.概述 在大型软件系统中,为了监测软件运行状况及排查软件故障,一般都会要求软件程序在运行的过程中产生日志文件.在日志文件中存放程序流程中的一些重要信息, 包括:变量名称及其值.消息结构定义.函数返回 ...

  7. linux下实现自动部署tomcat的脚本

    linux下实现自动部署tomcat的脚本 由于经常部署war到tomccat上,经常有一些重复的工作要做:停服务.备份war包.上传新的war包.启动服务.索性就写了一个自动部署的脚本. 脚本如下a ...

  8. Linux下Tomcat同时部署两个工程然而只有一个能访问问题

    Linux下Tomcat同时部署两个工程然而只有一个能访问问题 问题: Linux下单个部署到Tomcat下的时候都正常,两个一起部署,只有一个能访问: 解决方案: 由于采用#./shutdown.s ...

  9. Linux下自动清除MySQL日志文件

    MySQL运行过程中会生成大量的日志文件,占用不少空间,修改my.cnf文件配置bin-log过期时间,在Linux下自动清除MySQL日志文件 [mysqld] expire-logs-days= ...

随机推荐

  1. C# 将 Json 解析成 DateTable

    #region 将 Json 解析成 DateTable /// /// 将 Json 解析成 DateTable. /// Json 数据格式如: /// {table:[{column1:1,co ...

  2. 揭破android中的闹钟app 二

    · 这节,我们通过wheelview来模仿一个简易的正点闹钟. 我这里不说wheelview来龙去脉,只阐述几个简单的方法,如果,想看一看具体wheelview的内容,请看下面两篇文章: androi ...

  3. linux下elasticsearch 安装、配置及示例

    简介 开始学es,我习惯边学边记,总结出现的问题和解决方法.本文是在两台linux虚拟机下,安装了三个节点.本次搭建es同时实践了两种模式——单机模式和分布式模式.条件允许的话,可以在多台机器上配置e ...

  4. Linux获取进程执行时间

    1.前言    测试一个程序的执行时间,时间包括用户CPU时间.系统CPU时间.时钟时间.之前获取之前时间都是在程序的main函数用time函数实现,这个只能粗略的计算程序的执行时间,不能准确的获取其 ...

  5. 下周二推出“音视频技术WebRTC初探”公开课,欢迎捧场!

     下周二推出"音视频技术WebRTC初探"公开课,欢迎捧场! 公开课课程链接:http://edu.csdn.net/huiyiCourse/detail/90 课程的解说资料 ...

  6. mysql设置允许外网访问

    1.设置mysql服务允许外网访问 修改mysql的配置文件,有的是my.ini,有的是my.cnf[linux],找到bind-address变量,这个值默认是127.0.0.1,设置为0.0.0. ...

  7. 【Python】torrentParser1.04 增加获得磁力链URI功能

    代码: #------------------------------------------------------------------------------------ # torrentP ...

  8. 一道Javascript面试题引发的血案

    文章首发于szhshp的第三边境研究所,转载请注明 先来看几道面试题,公司的开发们都尝试做了一下,然而基本没有人能够全部答对. 覆盖的考点很多,也有一些难度,题目挺有意思建议手动执行一边玩玩. Que ...

  9. 为什么选择SpringBoot

    JavaEE仅仅使用Spring逐渐变得笨重起来,大量的XML文件存在与项目中,繁琐的配置,整合第三方框架的配置问题,低下的开发效率和部署效率等等问题. Spring Boot解决的问题 (1) Sp ...

  10. uni-app - 上传图片组件

    2018-12-29 更新1.0  2019-01-08 更新1.1 2019-01-29 更新1.3   重大更新 插件地址: http://ext.dcloud.net.cn/plugin?id= ...