最近一方面给自己开发的平台套模板,一方面研究一些新的技术,比如今天介绍的elk,下面是介绍一下我是如何使用elk收集linux系统history与展示的。

一、效果图

下面是效果图,感觉满足你需求在继续看

下面是具体介绍

1、Linux系统历史命令数据总量

主要是展示所选时间段接收history数据总量,比如昨天我总共收集了1002条数据

2、Linux系统历史命令监控主机数量

主要是监控总共有多少台主机开始收集history日志数据

3、LInux系统历史命令运行最多Top5

主要是介绍运行最多的命令,比如第一个ll命令运行最多

4、Linux系统历史命令登陆主机Top5

主要是介绍登陆主机ip最多的前5个

5、Linux系统历史命令时间数据总量

主要介绍各时间段收集的数据总量

6、Linux系统历史命令数据

主要是展示每条收集数据内容,包括收集时间、收集的主机名、当前登陆ip、登陆用户、当前用户、运行命令。

二、logstash安装

我使用的elk架构如下

ps:这个图是网上找的

我的elk版本分别为

logstash 1.5.4-1

redis 3.0.4

elasticsearch 1.7.1

kibana 4.1.1

下面介绍如何安装elk

其实shipper与indexer的logstash安装一样,只不过是配置文件不一样

先介绍如何安装logstash

我使用yum安装,下面是安装yum源

cat >>/etc/yum.repos.d/logstash.repo<EOF
[logstash-1.5]
name=Logstash repository for 1.5.x packages
baseurl=http://packages.elasticsearch.org/logstash/1.5/centos
gpgcheck=1
gpgkey=http://packages.elasticsearch.org/GPG-KEY-elasticsearch
enabled=1
EOF

然后安装

yum install logstash -y

下面是shipper的配置

[root@puppet ~]# cat /etc/logstash/conf.d/logstash_agent.conf
input {file {path => ["/var/log/command.log"]type => "command"codec => "json"}
}output {
redis {host => ["10.10.125.8:6379"]data_type =>"list"
key => "logstash:redis"}}

这个配置就是收集/var/log/command.log的日志,这个日志是记录history命令的,output输出到redis服务。

下面是如何记录history历史命令

在/etc/bashrc里添加

HISTDIR='/var/log/command.log'
if [ ! -f $HISTDIR ];then
touch $HISTDIR
chmod 666 $HISTDIR
fi
export HISTTIMEFORMAT="{\"TIME\":\"%F %T\",\"HOSTNAME\":\"$HOSTNAME\",\"LI\":\"$(who -u am i 2>/dev/null| awk '{print $NF}'|sed -e 's/[()]//g')\",\"LU\":\"$(who am i|awk '{print $1}')\",\"NU\":\"${USER}\",\"CMD\":\""
export PROMPT_COMMAND='history 1|tail -1|sed "s/^[ ]\+[0-9]\+  //"|sed "s/$/\"}/">> /var/log/command.log'

然后source /etc/bashrc

查看一下/var/log/command.log

是一个json格式的,包括时间、主机名、登陆ip、登陆用户、当前用户、命令

下面是indexer的配置

09:25:19 # cat /etc/logstash/conf.d/logstash_indexer.conf
input {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/logstash start

三、redis安装

1、下载

wget http://download.redis.io/releases/redis-3.0.4.tar.gz

2、解压

tar zxvf redis-3.0.4.tar.gz -C /usr/local/

3、安装

cd /usr/local/redis-3.0.4
make

4、复制程序变量

cp src/redis-cli /usr/bin
cp src/redis-server /usr/bin

5、创建目录

mkdir conf log db data

6、配置文件

[root@ip-10-10-125-8 redis-3.0.4]# cat conf/redis-6379.conf |grep -v "^#"|sed '/^$/d'
daemonize yes
pidfile /var/run/redis_6379.pid
port 6379
bind 10.10.125.8
timeout 0
tcp-keepalive 0
loglevel notice
logfile /var/log/redis/redis_6379.log
databases 16
save 900 1
save 300 10
save 60 10000
stop-writes-on-bgsave-error yes
rdbcompression yes
rdbchecksum yes
dbfilename redis_6379.rdb
dir /usr/local/redis-3.0.4/db/
slave-serve-stale-data yes
slave-read-only yes
repl-disable-tcp-nodelay no
slave-priority 100
appendonly no
appendfsync everysec
no-appendfsync-on-rewrite no
auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb
lua-time-limit 5000
slowlog-log-slower-than 10000
slowlog-max-len 128
hash-max-ziplist-entries 512
hash-max-ziplist-value 64
list-max-ziplist-entries 512
list-max-ziplist-value 64
set-max-intset-entries 512
zset-max-ziplist-entries 128
zset-max-ziplist-value 64
activerehashing yes
client-output-buffer-limit normal 0 0 0
client-output-buffer-limit slave 256mb 64mb 60
client-output-buffer-limit pubsub 32mb 8mb 60
hz 10
aof-rewrite-incremental-fsync yes

7、启动redis

redis-server /usr/local/redis-3.0.4/conf/redis-6379.conf

四、安装elasticsearch

1、安装

curl -L -O https://download.elastic.co/elasticsearch/elasticsearch/elasticsearch-1.7.1.zip
unzip elasticsearch-1.7.1.zip
cd  elasticsearch-17.1

2、配置

09:52:38 # grep -v "^#" config/elasticsearch.yml |sed '/^$/d'
cluster.name: dl-elk
node.name: "elk-bj-1-server"
node.master: true

就配置了集群命令与节点名字

3、启动

bin/elasticsearch -d

这样elk就都安装完成了,我也没写的太详细,大家有需求可以自己查看官方介绍安装。

附件里我把我的Dashboard与相应视图都export了,大家需要可以自行import,但一定注意版本。

导入的顺序是:

1、Linux系统历史命令图形.json;

2、Linux系统历史命令搜索.json;

3、Linux系统历史命令数据视图.json.

企业日志分析之linux系统history收集展示相关推荐

  1. 企业日志分析之linux系统message收集展示

    之前写了收集linux系统历史history命令,下面介绍一下系统里日志收集与展示的. 老规矩,先看效果,满意的话继续看. 一.效果图 1.总览 2.linux系统日志收集数据总量 主要是展示所选范围 ...

  2. 日志分析篇---Linux日志分析

    日志分析篇-Linux日志分析 文章目录 日志分析篇---Linux日志分析 前言 一.日志简介 二.日志分析技巧 1.常用的shell命令 2.日志分析技巧 三.我的公众号 前言 Linux系统拥有 ...

  3. CSDN首例Python自动化运维实战:从Linux系统中收集数据

    目录:导读 从Linux系统中收集数据 通过邮件发送收集的数据 使用time和date模块 定期运行脚本 从Linux系统中收集数据 使用Linux命令可以查看当前系统状态和运行状况的相关数据.然而, ...

  4. 企业日志分析ELK(Logstash+Elasticsearch+Kibana)介绍及搭建

    目录 一.ELK概述 1.ELK日志分析系统 2.ELK中日志处理步骤 二.Elasticsearch介绍 1.Elasticsearch的基础核心概念 2.分片和副本 三.LogStash概述 1. ...

  5. 企业日志分析 五大问题需重点注意

    资讯 |  安全 |  论坛 |  下载 |  读书 |  程序开发 |  数据库 |  系统 |  网络 |  电子书 |  微信学院 |  站长学院 |  源码 |  QQ |  专栏 |  考试 ...

  6. 【日志分析】Linux日志分析

    0x00 前言 Linux系统拥有非常灵活和强大的日志功能,可以保存几乎所有的操作记录,并可以从中检索出我们需要的信息. 本文简介一下Linux系统日志及日志分析技巧. 0x01 日志简介 日志默认存 ...

  7. linux日志pdf下载,Linux系统下改进的日志采集模块.pdf

    第36卷第6期 电子科技大学学报 Vbl.36No.6 Journal ofElectronicScience of 2007年12月 ofUniversity and China Dec.2007 ...

  8. window计算机日志分析详解,系统基础知识:筛选Windows日志与借助Windows日志分析故障...

    系统基础知识:筛选Windows日志与借助Windows日志分析故障 我们最关心的事情,一定是我们Windows 7系统的安全,我们学习Windows事件查看器的最终目的,也是希望通过WIndows事 ...

  9. linux系统var日志磁盘满了,Linux 系统(Centos版本)磁盘空间占满的解决办法。

    这两天 ,服务器借给了朋友 搭建  三端合一的 游戏,结果没弄成. 还给我服务器的时候,卧槽!!! ,40G的硬盘,使用率 百分百,这是放种子了??? 算了 ,自己借出去的服务器,含着泪也要修好. 本 ...

  10. 使用cronolog实现linux日志切割,Linux系统tomcat日志切割,tomcat日志切割,cronolog工具的使用

    1.说明 本文档已Tomcat8.5.47.0为例,使用cronolog实现linux系列系统下的tomcat的日志切割,主要切割catalina.out日志. 2.下载安装cronolog工具 下载 ...

最新文章

  1. Lucene的简单应用
  2. 获取物料的103待检库存
  3. struts+hibernate+oracle+easyui实现lazyout组件的简单案例——Emp实体类和对应的配置信息
  4. MapReduce Input Split 输入分/切片
  5. discuz中又拍云在ie8,chrome22下不能上传的问题
  6. MySQL常见的两种存储引擎:MyISAM与InnoDB的爱恨情仇
  7. php及时获取zabbix告警,zabbix邮件告警python脚本代码
  8. matlab 矩阵引用,MATLAB矩阵生成、引用
  9. DataX不支持Mysql8.x
  10. 《剑指offer》面试题6——重构二叉树——已知 前序遍历和中序遍历,求后序遍历(C++)
  11. U盘强制格式化的解决方案
  12. DHCP配置实验(包括接口模式、全局模式和中继模式)
  13. Eclipse好用的翻译插件
  14. 碳膜、金属膜、金属氧化膜电阻区别
  15. python中shuffle是什么意思_python中shuffle()方法的功能详解
  16. 著名球星罗纳尔迪尼奥担任巴西旅游大使
  17. 心灵的吟唱——读《湖海诗情录》
  18. 点击按钮随机更换页面背景颜色
  19. 张志华-统计机器学习-随机变量
  20. 企业如何使用商业智能(BI)进行数据赋能?

热门文章

  1. 一个自定义的C#数据库操作基础类 SqlHelper
  2. PC建立WIFI热点
  3. 【手绘】A old painting ,drawed in middle school ,grade 8
  4. oracle Ebs database clone (no apps clone)
  5. 在源文件(.c)和头文件(.h)中声明和定义的区别——C语言
  6. 关于时间格式的解析问题
  7. 2015软件测试面试题第三篇
  8. Mysql 定时备份操作
  9. 1580. Dean's Debts
  10. Lesson 05 for Plotting in R for Biologists