谁说运维用ELK没用?我就说很有用,只是你之前不会用【转】
1.安装JDK
1)登陆ORACLE官网 (http://www.oracle.com/technetwork/java/javase/downloads/index-jsp-138363.html )下载JDK
2)将jdk包放到目录/home/app下,执行解压命令
tar -xvf jdk-8u101-linux-i586.tar.gz
3)添加java环境变量
export JAVA_HOME=/home/app/java/jdk1.8.0_101
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
4)java配置生效
source /etc/profile
5)查看jdk是否安装成功
java -version
2.安装配置Logstash
1)上传logstash-2.4.0.zip到 /home/app目录下
2)解压logstash-2.4.0.zip
unzip logstash-2.4.0.zip
3)查看logstash 是否可以正常运行
进入/home/bin/logstash-2.4.0/bin 目录,执行命令 ./logstash -v,返回信息:
输入 hello logstash,查看返回结果
4)新建patterns 目录,添加gork配置文件hirecar_log_pattern(定义gork信息)
ANYTHING .+
BROWSER [a-zA-Z0-9.@-+_%]+/[0-9]+.[0-9]+
NGUSERNAME [a-zA-Z.@-+_%]+
NGUSER %{NGUSERNAME}
NGINXACCESS %{IPORHOST:clientip} %{NGUSER:ident} %{NGUSER:auth} [%{HTTPDATE:timestamp}] "%{WORD:verb} %{URIPATHPARAM:request} HTTP/%{NUMBER:httpversion}" %{NUMBER:response} (?:%{NUMBER:bytes}|-) (?:"(?:%{URI:referrer}|-)"|%{QS:referrer}) %{QS:agent} %{QS:xforwardedfor} %{IPORHOST:host} %{BASE10NUM:request_duration}
5)新建ifo_confs目录,添加hirecarlog文件(定义输入,输出,过滤器)
input {
file {
path => "/home/app/hirecarlog/*"
start_position => beginning
}
}
filter {
grok {
patterns_dir => "/home/app/logstash-2.4.0/dir"
match => {
"message" => "%{IPORHOST:clientip} %{NGUSER:ident} "%{NGUSER:ident2}" %{NGUSER:ident3} [%{HTTPDATE:timestamp}] "%{WORD:verb} %{URIPATHPARAM:request} HTTP/%{NUMBER:httpversion}" %{NUMBER:response} (?:%{NUMBER:bytes}|-) "(%{URI:referrer}|-)" %{ANYTHING:anything}"
}
}
grok {
patterns_dir => "/home/app/logstash-2.4.0/dir"
match => {
"clientip" => "%{NUMBER:xx}"
}
remove_field => ["message","host","ident","ident2","ident3","httpversion","bytes","xx","anything"]
}
date{
match => ["timestamp", "dd/MMM/yyyy:HH:mm:ss Z"]
}
}
output {
stdout {
codec => rubydebug
}
elasticsearch{
hosts => ["localhost:9200"]
}
}
3 安装Elasticsearch
1)解压 elasticsearch-1.5.0.zip
2)/home/app/elasticsearch-1.5.0/config目录下 修改文件 elasticsearch.yml
修改cluster.name 为 hirecar
注释信息:
network.bind_host
network.publish_host
network.host
注:elasticsearch 2.4.0 需要指定IP:即修改network.host属性值。
3)安装插件 head
elasticsearch/bin/plugin -install mobz/elasticsearch-head
4)后台启动elasticsearch ./elaticsearch -d
5) 查看elasticsearch运行状态:host:9200/ ,返回elasticsearch基础信息
{
"status" : 200,
"name" : "50 hirecar",
"cluster_name" : "hirecar",
"version" : {
"number" : "1.5.0",
"build_hash" : "544816042d40151d3ce4ba4f95399d7860dc2e92",
"build_timestamp" : "2015-03-23T14:30:58Z",
"build_snapshot" : false,
"lucene_version" : "4.10.4"
},
"tagline" : "You Know, for Search"
}
6)通过head插件查看elasticsearch运行详细信息:访问:host:9200/plugin/_head
4.安装kibana
1)解压kibana-4.1.11-linux-x64.zip
2)定义kibana访问的elasticsearch地址属性:elasticsearch_url
3)注释服务绑定地址属性: host
4)$Kibana_HOME/bin 目录下,启动kibana服务 ./kibana
5)验证kibana是否启动正常,访问链接: http://host:5601/
5.kibana简单应用 -创建一个饼状图
1) 访问Visulize选型,选择创建饼状统计分析图
2)点击创建一个新查询条件
3)选择时间,定义统计指标,定义统计分区
4)点击执行按钮后,返回指定时间范围内排名前20的IP访问地址
6 运维使用ELK效果展示
上述的内容仅是简单介绍了ELK的部署,但是很多人会问,我能用ELK来做什么?如果你是一个开发,那么你可以用ELK来进行大数据分析和自定义图标,制作报表等;如果你是一个运维,那么你可以用ELK来收集你各个系统的系统日志、安全日志、用户操作记录等等,当然你也可以收集程序日志,但是前提是你的程序日志不是debug模式,不然ELK收集的日志会让你怀疑人生(因为实在是太多太多的日志输出了)。
下面我来展示下运维使用ELK的简单例子,也是我们公司目前在用的一个审计手段:
1)操作系统用户操作记录审计功能
该功能可以实现,任何用户任何时间只要在操作系统上进行了操作,他的操作指令就会立即传输到ELK中的Elasticsearch中,即使用户在操作系统上清除了操作记录也没用,依然是可以记录到。该功能可以为操作审计提供一大助力。
2)记录安全日志
该功能可以统计系统上用户登录次数等,过滤关键字可以查看时间段内是否有人包里破解系统,这个功能可以作为日常巡检中的一项,提高系统安全性。
3)查看系统日志,判断系统是否出现异常情况
通过过滤Error或Warn等关键字眼,可以巡查是否有服务器出现了系统异常。该功能也可以作为日常巡检工作之一,确保服务器能够正常运作。
4)进行绘图,自定义控制面板查看重要信息
例如我想看下我的操作系统每天都有多少次登录信息、或者说是否有人在服务器上进行了危险操作,或者系统是否出现了异常输出等等,均可以自定义控制面板。点击向上按钮可以查看面板图中的相关信息。
转自
谁说运维用ELK没用?我就说很有用,只是你之前不会用
http://www.toutiao.com/i6445042259703366157/
谁说运维用ELK没用?我就说很有用,只是你之前不会用【转】的更多相关文章
- ubuntu下安装python各类运维用模块(以后补充用途)
环境:ubuntu 16.04LTS,python3,python2 已安装:pip3,pip2 注:基于Python自动化运维这本书上介绍的各模块而来 1.python-rrdtool(just f ...
- [运维]ELK实现日志监控告警
https://blog.csdn.net/yeweiouyang/article/details/54948846
- linux常用命令(运维用到)
0.基础命令 pwd 查看当前目录 ls 查看当前目录所有文件夹和文件 mkdir 新建目录 mkdir -p a/b/c 创建多级目录 touch 新建文件 cat 查看文件 clear 清屏 sh ...
- 最全的linux命令大全,shell运维手册
shell实例手册 0 说明{ 手册制作: 雪松} 1 文件{ ls -rtl # 按时间倒叙列出所有目录和文件 ll -rt touch file ...
- [转帖]Shell运维手册
shell实例手册 https://github.com/liquanzhou/ops_doc 0 说明{ 手册制作: 雪松 更新日期: 2018-09-11 欢 ...
- 【Eclipse】Eclipse 快捷键
Eclipse 快捷键 关于快捷键 Eclipse 的很多操作都提供了快捷键功能,我们可以通过键盘就能很好的控制 Eclipse 各个功能: 使用快捷键关联菜单或菜单项 使用快捷键关联对话窗口或视图或 ...
- Eclipse 实用技巧
代码智能提示 Java智能提示 Window -> Preferences -> Java -> Editor -> Content Assist -> Auto Act ...
- MyEclipse 常用快捷键
MyEclipse 常用快捷键 编辑: Ctrl+1 快速修复(最经典的快捷键,就不用多说了,可以解决很多问题,比如import类.try catch包围等) Ctrl+Shift+F 格式化当前代码 ...
- eclipse最有用快捷键整理
在网上搜eclipse快捷键,可以搜出一大堆,大多罗列了n多的快捷键,估计大部分人看了以后都会头大的,我也头大,不过我一一尝试了一遍,整理出了eclipse最常用最有用,写代码必须用到的一些快捷键,大 ...
随机推荐
- BZOJ 2109 航空管制(拓扑排序+贪心)
绝世好题啊.. 题意:给出一个DAG,和每个点要求出现在这个DAG里面的拓扑排序的位置<=ti,求出所有可能的拓扑排序里面每个点出现的位置的最小值. 正着做不好做,考虑反着做,建立这个图的反图. ...
- 利用JavaFX访问MySQL数据库
1. 创建数据库表 create table Course( courseId char(5), subjectId char(4) not null, courseNumber integer, t ...
- 使用Runtime.getRuntime().exec()方法的几个陷阱
Process 子类的一个实例,该实例可用来控制进程并获得相关信息.Process 类提供了执行从进程输入.执行输出到进程.等待进程完成.检查进程的退出状态以及销毁(杀掉)进程的方法. 创建进程的方法 ...
- UVA10859 Placing Lampposts
我是题面 这道题使我知道了一种很神奇的方法,一定要认真看哦 如果没有被两盏灯同时照亮的边数应尽量大这个限制的话,这就是一道很经典的树形DP题--没有上司的舞会 很可惜,这个限制就在那里,它使得我辛苦写 ...
- 【BZOJ3712】Fiolki(并查集重构树)
[BZOJ3712]Fiolki(并查集重构树) 题面 BZOJ 题解 很神仙的题目. 我们发现所有的合并关系构成了一棵树. 那么两种不同的东西如果产生反应,一定在两个联通块恰好联通的时候反应. 那么 ...
- 洛谷U14667 肝活动【比赛】 【状压dp】
题目描述 Yume 最近在玩一个名为<LoveLive! School idol festival>的音乐游戏.他之所以喜欢上这个游戏,是因为这个游戏对非洲人十分友好,即便你脸黑到抽不出好 ...
- 51nod 1766 树上的最远点对(线段树)
像树的直径一样,两个集合的最长路也是由两个集合内部的最长路的两个端点组成的,于是我们知道了两个集合的最长路,枚举一下两两端点算出答案就可以合并了,所以就可以用线段树维护一个区间里的最长路了. #inc ...
- 音视频处理之H264编码标准20170906
一. H264基础概念 1.名词解释 场和帧 : 视频的一场或一帧可用来产生一个编码图像.在电视中,为减少大面积闪烁现象,把一帧分成两个隔行的场. 片: 每个图象中,若干 ...
- Android MediaRecorder解析
源码路径:frameworks/base/media/java/android/media/MediaRecorder.javaframeworks/base/media/jni/android_me ...
- libevent文档学习(一)多线程接口和使用
参考libevent官方提供的文档: http://www.wangafu.net/~nickm/libevent-book/Ref1_libsetup.html 这一篇主要翻译libevent多线程 ...