【引自Yin—技术交流博客】最近一方面给自己开发的平台做模板,另一方面研究一些新技术,比如今天介绍的麋鹿。下面我来介绍下如何使用elk收集linux系统历史记录并显示。1.效果图以下为效果图。如果你觉得它满足你的需求,继续看下去。以下是详细介绍:1、Linux系统历史命令数据总量主要显示在选定时间段内接收到的历史数据总量。比如我昨天一共采集了1002条数据。2、linux系统history命令监控主机数主要是监控总共有多少台主机开始收集历史日志数据。3、LInux系统历史运行次数最多的前5个命令主要介绍运行次数最多的命令,例如第一个ll命令运行次数最多。4、Linux系统历史命令loginhostTop5主要介绍前5个登录主机IP。5、Linux系统历史命令时间数据总量主要介绍各个时间段采集的数据总量。6、Linux系统的历史命令数据主要显示每条采集数据的内容,包括采集时间、采集主机名、当前登录ip、登录用户、当前用户、运行命令。2、logstash安装我用的elk架构如下:ps:这张图是网上找的。我的elk版本是:◆logstash1.5.4-1◆redis3.0.4◆elasticsearch1.7.1◆kibana4.1.1下面介绍如何安装elk。其实shipper和indexer的logstash安装是一样的,只是配置文件不同而已。首先介绍如何安装logstash。我是用yum安装的,下面是安装yum源。cat>>/etc/yum.repos.d/logstash.repo>/etc/bashrc</dev/null|awk'{print$NF}'|sed-e's/[()]//g')\",\"LU\":\"$(whoami|awk'{print$1}')\",\"NU\":\"${USER}\",\"CMD\":\""exportPROMPT_COMMAND='history1|tail-1|sed"s/^[]\+[0-9]\+//"|sed"s/$/\"}/">>/var/log/command.log'EOF然后source/etc/bashrc.查看/var/log/command.log。这是json格式的,包括时间、主机名、登录ip、登录用户、当前用户、命令。以下是索引器配置:09:25:19#cat/etc/logstash/conf.d/logstash_indexer.confinput{redis{host=>"10.10.125.8"port=>"6379"data_type=>"list"key=>"logstash:redis"type=>"redis-input"}}output{elasticsearch{host=>"172.16.3.72"codec=>"json"protocol=>"http"}stdout{}}其中10.10.125.8是Redis服务器,172.16.3.72是elasticsearch的ip。要启动,请使用/etc/init.d/logstashstart。三、Redis安装1、下载wgethttp://download.redis.io/releases/redis-3.0.4.tar.gz2、解压tarzxvfredis-3.0.4.tar.gz-C/usr/local/3。安装cd/usr/local/redis-3.0.4make4。复制程序变量cpsrc/redis-cli/usr/bincpsrc/redis-server/usr/bin5。创建目录mkdirconflogdbdata6。配置文件[root@ip-10-10-125-8redis-3.0.4]#catconf/redis-6379.conf|grep-v"^#"|sed'/^$/d'daemonizeyespidfile/var/run/redis_6379.pidport6379bind10.10.125.8timeout0tcp-keepalive0loglevelnoticelogfile/var/log/redis/redis_6379.logdatabases16save9001save30010save6010000stop-writes-on-bgsave-erroryesrdbcompressionyesrdbchecksumyesdbfilenameredis_6379.rdbdir/usr/local/redis-3.0.4/db/slave-serve-stale-datayesslave-read-onlyyesrepl-disable-tcp-nodelaynoslave-priority100appendonlynoappendfsynceverysecno-appendfsync-on-rewritenoauto-aof-rewrite-percentage100auto-aof-rewrite-min-size64mblua-time-limit5000slowlog-log-slower-than10000slowlog-max-len128hash-max-ziplist-entries512hash-max-ziplist-value64list-max-ziplist-entries512list-max-ziplist-value64set-max-intset-entries512zset-max-ziplist-entries128zset-max-ziplist-value64activerehashingyesclient-output-buffer-limitnormal000client-output-buffer-limitslave256mb64mb60client-output-buffer-limitpubsub32mb8mb60hz10aof-rewrite-incremental-fsyncyes7.redis启动-server/usr/local/redis-3.0.4/conf/redis-6379.conf4.安装elasticsearch1。安装curl-L-Ohttps://download.elastic.co/elasticsearch/elasticsearch/elasticsearch-1.7.1。zipunzipelasticsearch-1.7.1.zipcdelasticsearch-17.12.config09:52:38#grep-v"^#"config/elasticsearch.yml|sed'/^$/d'cluster.name:dl-elknode.name:"elk-bj-1-server"node.master:true配置集群命令和节点名称官方介绍安装。在附件中,我导出了我的仪??表板和相应的视图。需要的话可以自己导入,但是一定要注意版本。导入顺序为:1.Linux系统历史命令graph.json;2.Linux系统历史命令search.json;3.Linux系统历史命令dataview.json。来源http://dl528888.blog.51cto.com/2382721/1703059