最近一方面给自己开发的平台套模板,一方面研究一些新的技术,比如今天介绍的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里添加
cat >>/etc/bashrc<<EOF 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' EOF然后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.gz2、解压
3、安装
4、复制程序变量
5、创建目录
6、配置文件
7、启动redis
四、安装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.12、配置
就配置了集群命令与节点名字
3、启动
bin/elasticsearch -d这样elk就都安装完成了,我也没写的太详细,大家有需求可以自己查看官方介绍安装。
如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!
赞1
添加新评论0 条评论