ELK

ELK7 配置案例

2019-11-15  本文已影响0人  wo是大富

背景说明:

因应管理和日志集中查询需要,利用新版的ELK组件进行了日志系统的搭建。针对特定的两个场景,Linux系统和华为交换机(5700和S7700系列)。
linux系统,针对用户操作命令,利用history作记录,也通过rsyslog传给logstash,存在ES中。

软件版本:

ELK: 版本 7.4 (elasticsearch/logstash/kibana)
rsyslog: Centos 7.4 自带的Rsyslog 8.24.0
logstash接收数据的端口:1514

linux系统部分

配置

vi /etc/profile

添加以下内容(两行,为了书写格式方便,才有如下展示)

remoteip=$(who am i |grep -oE "([0-9]{1,3}[\.]){3}[0-9]{1,3}|:[S]\.[0-9]" | tr -d '\n')
export PROMPT_COMMAND='RETRN_VAL=$?;logger -p local6.* "$(whoami) [$remoteip] {$PWD} $(history 1 | sed "s/^[ ]*[0-9]\+[ ]*//" ) [$RETRN_VAL]"'

注: history用于记录用户操作命令,需注意,当敲击“enter”按键时“command.log”中也会有一条记录,因上面的脚本会将“history”记录的最后一条作为记录写在command.log文件中,并不是真正的操作命令,这不是问题,注意少敲击“enter”。

生成存储命令的日志文件:

touch /var/log/command.log

添加配置,在rsyslog.conf文件中,利用rsyslog的模块“imfile” 收集 audit的日志,同时以下配置中的“local5”请注意与其它的配置项冲突与否,存在冲突请做调整。

local6.*       /var/log/command.log #记录用户操作命令的文件
$ModLoad imfile
$InputFileName /var/log/audit/audit.log
$InputFileTag tag_audit_log:
$InputFileStateFile audit_log
$InputFileSeverity info
$InputFileFacility local5
$InputRunFileMonitor
*.*     @10.12.6.174:1514

配置生效

为了让配置生效,执行两步

source /etc/profile
systemctl restart rsyslog 

如有警告信息,请再重启一次rsyslog服务,可能会有一些关于udp的警告信息,并不是错误。

华为交换机

华为交换机配置较为简单,如果没有特殊的要求,按照以下过程即可配置成功。省略了登入登出。。。直接重点的部分

info-center enable
info-center loghost 10.12.6.174 local-time port 1514

配置完成后记得保存,同时交换机的日志即时传到ES中了,可以在kibana中查询到。 效果请参考图片。

logstash配置展示

input {
   syslog {
      port => 1514
   }
}

output {
  elasticsearch {
    hosts => ["logserver:9200"]
    index => "suzhoulog-%{+YYY.MM.dd}"
  }
}

在同事的建议下,更改了索引的创建方式,以年月日为名称,创建索引。

交换机日志收集展示

交换机日志
上一篇 下一篇

猜你喜欢

热点阅读