热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

historylinux日志服务器_企业日志分析之Linux系统history收集展示

【引自吟—技术交流的博客】最近一方面给自己开发的平台套模板,一方面研究一些新的技术,比如今天介绍的elk,下面介绍一下我是如何使用elk收

abfe5ce8bc44fbf0dfa690496f7355ad.png

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

一、效果图

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

74ddb693f074e8f9dc613a27ba92e975.png

下面是具体介绍:

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

73527b4b7203a3ef6825d4923a07e4fc.png

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

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

87a8f22812b5c51c9d552f3b3267493a.png

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

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

f2376d411e69d4497ebd1fcc43f81e42.png

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

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

2067a120506585abda6f880a0cf017a3.png

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

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

148b07db17fa690701e6d0deb9349768.png

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

6.Linux系统历史命令数据

38df97aeeb46da03ee981b72b80fb751.png

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

二、logstash安装

我使用的elk架构如下:

718ea575c4de2554a0651a343dd543bc.png

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

[logstash-1.5]

name=Logstash repositoryfor1.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的配置。

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

下面是如何记录history历史命令,在/etc/bashrc里添加:

cat >>/etc/bashrc<

HISTDIR&#61;&#39;/var/log/command.log&#39;

if [ ! -f $HISTDIR ];then

touch $HISTDIR

chmod 666 $HISTDIR

fi

export HISTTIMEFORMAT&#61;"{\"TIME\":\"%F %T\",\"HOSTNAME\":\"$HOSTNAME\",\"LI\":\"$(who -u am i 2>/dev/null| awk &#39;{print $NF}&#39;|sed -e &#39;s/[()]//g&#39;)\",\"LU\":\"$(who am i|awk &#39;{print $1}&#39;)\",\"NU\":\"${USER}\",\"CMD\":\""

export PROMPT_COMMAND&#61;&#39;history 1|tail -1|sed "s/^[ ]\&#43;[0-9]\&#43;  //"|sed "s/$/\"}/">> /var/log/command.log&#39;

EOF

然后source /etc/bashrc。

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

58477f873e089fbd9d01da4863d6a3ce.png

这是一个json格式的&#xff0c;包括时间、主机名、登陆ip、登陆用户、当前用户、命令。

下面是indexer的配置&#xff1a;

09:25:19 # cat /etc/logstash/conf.d/logstash_indexer.conf

input {

redis {

host &#61;> "10.10.125.8"

port &#61;> "6379"

data_type &#61;> "list"

key&#61;>"logstash:redis"

type &#61;> "redis-input"

}

}

output{

elasticsearch {

host &#61;>"172.16.3.72"

codec &#61;> "json"

protocol &#61;> "http"

}

stdout {}

}

其中10.10.125.8是redis服务器&#xff0c;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&#64;ip-10-10-125-8 redis-3.0.4]# cat conf/redis-6379.conf |grep -v"^#"|sed&#39;/^$/d&#39;

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-onlyyes

repl-disable-tcp-nodelay no

slave-priority 100

appendonly no

appendfsync everysec

no-appendfsync-on-rewriteno

auto-aof-rewrite-percentage 100

auto-aof-rewrite-min-size64mb

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&#39;/^$/d&#39;

cluster.name: dl-elk

node.name:"elk-bj-1-server"

node.master: true

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

3.启动

bin/elasticsearch -d

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

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

导入的顺序是&#xff1a;

1.Linux系统历史命令图形.json&#xff1b;

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

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



推荐阅读
  • 本文介绍了在CentOS 6.4系统中更新源地址的方法,包括备份现有源文件、下载163源、修改文件名、更新列表和系统,并提供了相应的命令。 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • Mac OS 升级到11.2.2 Eclipse打不开了,报错Failed to create the Java Virtual Machine
    本文介绍了在Mac OS升级到11.2.2版本后,使用Eclipse打开时出现报错Failed to create the Java Virtual Machine的问题,并提供了解决方法。 ... [详细]
  • Windows 7 部署工具DISM学习(二)添加补丁的步骤详解
    本文详细介绍了在Windows 7系统中使用部署工具DISM添加补丁的步骤。首先需要将光驱中的安装文件复制到指定文件夹,并进行挂载。然后将需要的MSU补丁解压并集成到系统中。文章给出了具体的命令和操作步骤,帮助读者完成补丁的添加过程。 ... [详细]
  • 本文介绍了在CentOS上安装Python2.7.2的详细步骤,包括下载、解压、编译和安装等操作。同时提供了一些注意事项,以及测试安装是否成功的方法。 ... [详细]
  • CEPH LIO iSCSI Gateway及其使用参考文档
    本文介绍了CEPH LIO iSCSI Gateway以及使用该网关的参考文档,包括Ceph Block Device、CEPH ISCSI GATEWAY、USING AN ISCSI GATEWAY等。同时提供了多个参考链接,详细介绍了CEPH LIO iSCSI Gateway的配置和使用方法。 ... [详细]
  • Vagrant虚拟化工具的安装和使用教程
    本文介绍了Vagrant虚拟化工具的安装和使用教程。首先介绍了安装virtualBox和Vagrant的步骤。然后详细说明了Vagrant的安装和使用方法,包括如何检查安装是否成功。最后介绍了下载虚拟机镜像的步骤,以及Vagrant镜像网站的相关信息。 ... [详细]
  • 本文介绍了一种轻巧方便的工具——集算器,通过使用集算器可以将文本日志变成结构化数据,然后可以使用SQL式查询。集算器利用集算语言的优点,将日志内容结构化为数据表结构,SPL支持直接对结构化的文件进行SQL查询,不再需要安装配置第三方数据库软件。本文还详细介绍了具体的实施过程。 ... [详细]
  • Centos下安装memcached+memcached教程
    本文介绍了在Centos下安装memcached和使用memcached的教程,详细解释了memcached的工作原理,包括缓存数据和对象、减少数据库读取次数、提高网站速度等。同时,还对memcached的快速和高效率进行了解释,与传统的文件型数据库相比,memcached作为一个内存型数据库,具有更高的读取速度。 ... [详细]
  • Centos7搭建ELK(Elasticsearch、Logstash、Kibana)教程及注意事项
    本文介绍了在Centos7上搭建ELK(Elasticsearch、Logstash、Kibana)的详细步骤,包括下载安装包、安装Elasticsearch、创建用户、修改配置文件等。同时提供了使用华为镜像站下载安装包的方法,并强调了保证版本一致的重要性。 ... [详细]
  • 成功安装Sabayon Linux在thinkpad X60上的经验分享
    本文分享了作者在国庆期间在thinkpad X60上成功安装Sabayon Linux的经验。通过修改CHOST和执行emerge命令,作者顺利完成了安装过程。Sabayon Linux是一个基于Gentoo Linux的发行版,可以将电脑快速转变为一个功能强大的系统。除了作为一个live DVD使用外,Sabayon Linux还可以被安装在硬盘上,方便用户使用。 ... [详细]
  • 在CentOS/RHEL 7/6,Fedora 27/26/25上安装JAVA 9的步骤和方法
    本文介绍了在CentOS/RHEL 7/6,Fedora 27/26/25上安装JAVA 9的详细步骤和方法。首先需要下载最新的Java SE Development Kit 9发行版,然后按照给出的Shell命令行方式进行安装。详细的步骤和方法请参考正文内容。 ... [详细]
  • Go GUIlxn/walk 学习3.菜单栏和工具栏的具体实现
    本文介绍了使用Go语言的GUI库lxn/walk实现菜单栏和工具栏的具体方法,包括消息窗口的产生、文件放置动作响应和提示框的应用。部分代码来自上一篇博客和lxn/walk官方示例。文章提供了学习GUI开发的实际案例和代码示例。 ... [详细]
  • CentOS 6.5安装VMware Tools及共享文件夹显示问题解决方法
    本文介绍了在CentOS 6.5上安装VMware Tools及解决共享文件夹显示问题的方法。包括清空CD/DVD使用的ISO镜像文件、创建挂载目录、改变光驱设备的读写权限等步骤。最后给出了拷贝解压VMware Tools的操作。 ... [详细]
  • Linux下安装依赖包版本高解决方法
    本文介绍了在Linux系统下,当已安装的依赖包版本高于需要安装的依赖包版本时,解决方法包括欺骗安装程序和修改相关配置文件等操作。针对不同情况,提供了不同的解决方案。 ... [详细]
author-avatar
na点儿破事凶
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有