热门标签 | 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.



推荐阅读
  • 搞懂 ELK 并不是一件特别难的事
    点击下方“民工哥技术之路”,选择“设为星标”回复“1024”获取独家整理的学习资料!本篇文章主要介绍ELK的一些框架组成,原理和实践&#x ... [详细]
  • 本文详细介绍了 InfluxDB、collectd 和 Grafana 的安装与配置流程。首先,按照启动顺序依次安装并配置 InfluxDB、collectd 和 Grafana。InfluxDB 作为时序数据库,用于存储时间序列数据;collectd 负责数据的采集与传输;Grafana 则用于数据的可视化展示。文中提供了 collectd 的官方文档链接,便于用户参考和进一步了解其配置选项。通过本指南,读者可以轻松搭建一个高效的数据监控系统。 ... [详细]
  • 在CentOS 7环境中安装配置Redis及使用Redis Desktop Manager连接时的注意事项与技巧
    在 CentOS 7 环境中安装和配置 Redis 时,需要注意一些关键步骤和最佳实践。本文详细介绍了从安装 Redis 到配置其基本参数的全过程,并提供了使用 Redis Desktop Manager 连接 Redis 服务器的技巧和注意事项。此外,还探讨了如何优化性能和确保数据安全,帮助用户在生产环境中高效地管理和使用 Redis。 ... [详细]
  • 在 CentOS 6.7 系统维护中,常用的巡检命令包括:`uname -a` 用于查看内核、操作系统和 CPU 信息;`head -n 1 /etc/issue` 用于查看操作系统的版本;`cat /proc/cpuinfo` 用于获取详细的 CPU 信息;`hostname` 用于显示当前主机名;`ls` 命令则用于列出目录内容。这些命令可以帮助系统管理员快速了解系统的运行状态和配置信息,确保系统的稳定性和安全性。 ... [详细]
  • 为了确保iOS应用能够安全地访问网站数据,本文介绍了如何在Nginx服务器上轻松配置CertBot以实现SSL证书的自动化管理。通过这一过程,可以确保应用始终使用HTTPS协议,从而提升数据传输的安全性和可靠性。文章详细阐述了配置步骤和常见问题的解决方法,帮助读者快速上手并成功部署SSL证书。 ... [详细]
  • 为了在Hadoop 2.7.2中实现对Snappy压缩和解压功能的原生支持,本文详细介绍了如何重新编译Hadoop源代码,并优化其Native编译过程。通过这一优化,可以显著提升数据处理的效率和性能。此外,还探讨了编译过程中可能遇到的问题及其解决方案,为用户提供了一套完整的操作指南。 ... [详细]
  • 在CentOS系统中部署与配置ZooKeeper详解 ... [详细]
  • 求助:在CentOS 5.8系统上安装PECL扩展遇到问题
    在 CentOS 5.8 系统上尝试安装 APC 扩展时遇到了问题,具体表现为 PECL 工具无法正常工作。为了确保顺利安装,需要解决 PECL 的相关依赖和配置问题。建议检查 PHP 和 PECL 的版本兼容性,并确保所有必要的库和开发工具已正确安装。此外,可以尝试手动下载 APC 扩展的源代码并进行编译安装,以绕过 PECL 工具的限制。 ... [详细]
  • 在VMware虚拟机中部署带有中文图形界面的CentOS 7 Linux系统
    本文详细介绍了在VMware虚拟机中部署带有中文图形界面的CentOS 7 Linux系统的步骤。首先,通过“文件”菜单选择“新建虚拟机”并进入自定义设置。接着,在硬盘兼容性选项中选择默认设置。为了更好地进行Linux操作系统的安装练习,建议选择稍后安装操作系统,并在虚拟机安装完成后,根据实际需求删除不必要的硬件组件。此外,本文还提供了详细的配置参数和注意事项,帮助用户顺利完成整个部署过程。 ... [详细]
  • 在 CentOS 6.6 系统中搭建 MONO 和 Jexus 以支持 ASP.NET 及 MVC 应用的运行环境配置指南
    本文提供了在 CentOS 6.6 系统上配置 MONO 和 Jexus 以支持 ASP.NET 及 MVC 应用的详细步骤。首先,确保本机环境为 CentOS 6.6,并使用阿里云的 YUM 源来安装必要的软件包,包括 gcc、gcc-c++、bison、pkgconfig 和 glib2-devel。这些软件包是构建和运行 MONO 环境的基础,确保系统能够顺利支持 ASP.NET 和 MVC 应用的部署和运行。 ... [详细]
  • Elasticsearch简单使用系列安装
    2019独角兽企业重金招聘Python工程师标准1.elasticsearch支持的操作系统和JVM版本https:www.elastic.cosupportmatrix2. ... [详细]
  • ELK+filebeat安装部署监控springboot日志
    ELK服务器端部署1.安装dockercompose,略2.配置docker-compose.ymlcdrootelkvidocker-compose.ymlversion:&am ... [详细]
  • 分享一下我老师大神的人工智能教程!零基础,通俗易懂!http:blog.csdn.netjiangjunshow也欢迎大家转载本篇文章。分 ... [详细]
  • 1.ELK系统是什么ELK是一套日志中心解决方案,其三个字母分别表示:Elasticsearch:负责日志存储及检索Logstash&#x ... [详细]
  • 用elastic stack来分析下你的redis slowlog
    redis是目前最流行的NoSQL内存数据库,然而如果在使用过程中出现滥用、乱用的情况,很容易发生性能问题,此时我们就要去关注慢查询日志& ... [详细]
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社区 版权所有