废话不多说,直接进入主题。
总体架构是
客户端统一用rsyslog日志收集,--->fluentd服务器上--->mongondb集群--->Elasticsearch+Kibana服务器上展示。
rsyslog安装和配置
1、更改history格式
在/etc/profile.d目录下创建history.sh脚本,内容如下
HISTTIMEFORMAT=‘%F %T ‘
HISTFILESIZE=10000
HISTSIZE=1000
HISTIGNORE=‘ls -l:pwd:date‘
HISTCONTROL=ignoredups
export HISTTIMEFORMAT HISTFILESIZE HISTSIZE HISTIGNORE HISTCONTROL
2、设置rsyslog信息的格式,(更改显示的日期)和一些传送配置
修改/etc/rsyslog.conf的配置
注销一下两行
# Use default timestamp format
#$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat
添加一下六行
$template xsformat,"%$NOW% %TIMESTAMP:8:15% %FROMHOST% %syslogtag% %msg%\n"
$ActionFileDefaultTemplate xsformat
$ModLoad imtcp
$UDPServerRun 514
*.info;mail.none;authpriv.none;cron.none;local4.none @@192.168.2.2 #修改第一条,加入了local4.none ,这样就取消了local4接收到消息会传送到
local4.* @@192.168.2.1
- 修改/etc/bashrc 中的环境变量,就当所以用户登录系统时,都会继承这个环境设置
在最后添加一下如下信息
export PROMPT_COMMAND=‘{ msg=$(history 1 | { read a b c d; echo $d; }); ip=$(who am i | { read q w e r t;echo $t; });logger -p local7.info "[euid=$(whoami):$ip]":[`pwd`]# "$msg"; }‘
- 从新读取上面修改的变量和启动服务
[[email protected] ~]# source /etc/profile
[[email protected] ~]# source /etc/bashrc
[[email protected] ~]# /etc/init.d/rsyslog restart
- 修改服务器端的rsyslog配置文件
收集secure日志的服务器
[[email protected] ~]# vim /etc/rsyslog.conf #在配置文件中添加如下信息
$ModLoad imtcp
$InputTCPServerRun 514
if $fromhost-ip startswith ‘192.168.2.‘ then /var/log/allsecure.log
& ~
收集messages的日志服务器
[[email protected] ~]# vim /etc/rsyslog.conf #在配置文件中添加如下信息
$ModLoad imtcp
$InputTCPServerRun 514
if $fromhost-ip startswith ‘192.168.2.‘‘ then /var/log/allmessageslog.log