Elk日志安装文档

需要用到有三个软件包 和redis

分布式部署:已上图就是分布式部署的架构图

Logstash :    是部署在前台的应用上,收集数据的

和部署在redis和elasticsearch中间充当索引

Elasticsearch: 部署在logstash之后的,将logsstash收集的数据存储

Kibana     : 部署在最后,经elasticsearch收集的数据通过页面展现出来(默认端口号:5601)

我这里部署的logstash  elasticsearch   kibana   在一台服务器上,但是应用的服务器还是要不是logstash的

开始部署:

Server端:(logstash  clasticsearch   kibana的部署)需要jdk环境

将软件包上传的要安装的目录,我安装目录是/picclife (注:要用普通用户暗转,不然不安全)

我有的是app_admin用户

安装jdk环境我安装在/picclife

编辑app_admin 用户的jdk变量

vim  /home/app_admin/.bash_protfile

PATH=/picclife/jdk1.8.0_65/bin/:$PATH:$HOME/bin

export PATH

export JAVA_HOME=/picclife/jdk1.8.0_65/

export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

export PATH=$PATH:$JAVA_HOME/bin

申明变量:source  /home/app_admin/.bash_protfile

查看java  -version

安装logstash:

tar -zxf logstash-5.3.0.tar.gz

在/picclife/logstash-5.3.0/config 创建一个logstash.conf  .conf结尾的文件

编辑vim  logsstach.conf

input{

redis{

batch_count => 1

data_type => "list"

key => "logstash-uap-list"    #logstach应用的服务器上一样就可以

host => "10.135.100.86"  #redis的ip

port => 6379               #redis的端口好

password => "nick123"       #redis的密码

db => 2  #redis的索引(可以在redis上查看一下如没人用就可以最下面有截图)

threads => 1

}

}

output{

elasticsearch{

hosts => ["10.135.33.129"]   #elasticsearch的ip

index => "uap-log"

}

stdout{

codec => rubydebug{}

}

}

编辑启动脚本在/picclife/logstach-5.3.0

vim logstash_start.sh

nohup /picclife/logstash-5.3.0/bin/logstash -f /picclife/logstash-5.3.0/config/logstash.conf  >> /picclife/logstash-5.3.0/logs/logstash-start.log 2>&1 &  #nohup后台运行 将启动的程序追加到logstash-start.log文件里 可以到这个文件查看启动报不报错

在/picclife/logstach-5.3.0创建logs目录

mkdir  logs

执行脚本启动

sh logstash_start.sh

关闭是: ps -ef |grep logstash  kill  查到的进程

安装elasticsearch 

tar -zxf elasticsearch-5.3.0.tar.gz

编辑启动脚本在/picclife/elasticsearch-5.3.0

vim elasticesarch_start.sh

nohup /picclife/elasticsearch-5.3.0/bin/elasticsearch  >> /picclife/elasticsearch-5.3.0/logs/elasticsearch-start.log 2>&1 &

在/picclife/elasticsearch-5.3.0 下创建logs目录

mkdir  logs

启动 sh  elasticseart_start.sh

关闭  ps  -ef|grep elasticseart  kill  查到的进程

 

安装 kibana

tar -zxf kibana-5.3.0-linux-x86_64.tar.gz

/picclife/kibana-5.3.0/config 编辑

vi kibana.yml 指向elasticsearch的ip

/picclife/kibana-5.3.0/创建启动脚本

vi kibana_start.sh

nohup /picclife/kibana-5.3.0/bin/kibana  >> /picclife/kibana5.3.0/logs/kibana-start.log 2>&1 &

kibana-5.3.0创建logs目录

mkdir  logs

启动是 sh  kebana_start.sh

关闭是ps  -ef|grep node   kill  查到的进程 (kibana是不需要jdk环境的)

Redis 查看一显现是可以

服务器基本安装完成开始安装客户端:(jdk环境)

解压:

tar -zxf logstash-5.3.0.tar

在/picclife/logstash-5.3.0/config创建logstash.conf 的文件

Vim logstash.conf

input{

file{

path => ["/picclife/apache-tomcat-8.0.30/logs/catalina.out"] #监听的日志

type => "uap-log-all"

start_position => "beginning"

}

}

filter{

grok {

patterns_dir => "/picclife/logstash-5.3.0/config/patternsutils"  #需要创建这个文件有日志格式的这则

match => {

"message" =>

[

"%{TIMESTAMP_ISO8601:RequestTime}%{SPACE}%{MATCHSTR:RequestName}%{SPACE}>>>%{SPACE}%{USERNAME:RequestId}%{SPACE}>>>%{SPACE}%{ROUTEID:RdID}%{SPACE}<<<%{SPACE}SystemNo:%{ZW:SystemNo}\,%{SPACE}InterfaceNo:%{ZW:InterfaceNo}\,%{SPACE}InterfaceName:%{ZW:InterfaceName}\,%{SPACE}Flag:%{ZW:Flag}\,%{SPACE}CostTime:%{INT:CostTime}%{SPACE}%{ZW:other}"

] #日志格式

}

remove_field => [ "message","other"]

}

##过滤日志(过滤掉requestName!=camlelog的记录)

if [RequestName]!="camellog" and [RequestName]!="gatherlog"{

drop{}

}

date {

match => ["RequestTime", "MMM dd YYY HH:mm:ss", "MMM  d YYY HH:mm:ss", "ISO8601"]

locale => "en"

#timezone => "+00:00"

remove_field => [ "RequestTime" ]

}

mutate {

convert => { "CostTime" => "integer" }

}

}

output{

redis{

data_type => "list"

key => "logstash-uap-list"

host => "10.135.100.86" #redis  ip

port => 6379           #redis端口

password => "nick123"   #redis的密码

db => 2                #redis的索引和上面的一样

}

stdout{

codec => rubydebug{}

}

}

/picclife/logstash-5.3.0/config/下穿件patternsutils文件

Vim patternsutils

ZW (.*)

SPSTR (([\s\S]*))

###匹配{....}格式的字符串

DKH (\{.*\})

###匹配字母

MATCHSTR ([A-Za-z]*)

###java 时间格式  2017-05-26 08:01:03

JAVA_DATE %{DATE_EU} %{TIME}

###匹配XXX{....}、XXX[...]以及XX字符

DKHBODY ((.*\{.*\})|(.*\[.*\])|(.*))

###匹配(

LEFTBRACKET (\()

###匹配)

RIGHTBRACKET (\))

###匹配括号里的routeid

ROUTEID (.{5,9})

/picclife/logstash-5.3.0 创建启动脚本

vim  logstash_start.sh

nohup /picclife/logstash-5.3.0/bin/logstash -f /picclife/logstash-5.3.0/config/logstash.conf  >> /picclife/logstash-5.3.0/logs/logstash-start.log 2>&1 &

/picclife/logstash-5.3.0/创建logs

mkdir  logs

关闭: ps -ef |grep logstash  kill  查到的进程

到此elk的安装完成

有道云笔记的参考

http://note.youdao.com/noteshare?id=a6bce94ea32d5fce9a2b1705d6a272aa

elk的安装部署的更多相关文章

  1. ELK详细安装部署

    一.前言 ​ 日志主要包括系统日志和应用程序日志,运维和开发人员可以通过日志了解服务器中软硬件的信息,检查应用程序或系统的故障,了解故障出现的原因,以便解决问题.分析日志可以更清楚的了解服务器的状态和 ...

  2. ELK+KAFKA安装部署指南

    一.ELK 背景 通常,日志被分散的储存不同的设备上.如果你管理数十上百台服务器,你还在使用依次登录每台机器的传统方法查阅日志.这样是不是感觉很繁琐和效率低下.当务之急我们使用集中化的日志管理,例如: ...

  3. elk单机安装部署

    es 下载地址:wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.1.0-linux-x86_64.t ...

  4. ELK 安装部署小计

    ELK的安装部署已经是第N次了! 其实也很简单,这里记下来,以免忘记. #elasticsearch安装部署 wget https://artifacts.elastic.co/downloads/e ...

  5. ELK日志监控平台安装部署简介--Elasticsearch安装部署

    最近由于工作需要,需要搭建一个ELK日志监控平台,本次采用Filebeat(采集数据)+Elasticsearch(建立索引)+Kibana(展示)架构,实现日志搜索展示功能. 一.安装环境描述: 1 ...

  6. ELK 安装部署实战 (最新6.4.0版本)

    一.实战背景 根据公司平台的发展速度,对于ELK日志分析日益迫切.主要的需求有: 1.用户行为分析 2.运营活动点击率分析 作为上述2点需求,安装最新版本6.4.0是非常有必要的,大家可根据本人之前博 ...

  7. ELK文档-安装部署

    一.ELK简介 请参考:http://www.cnblogs.com/aresxin/p/8035137.html 二.ElasticSearch安装部署 请参考:http://blog.51cto. ...

  8. supervisor的安装部署及集群管理

    supervisor的安装部署及集群管理 supervisor官网:http://www.supervisord.org/ 参考链接: http://blog.csdn.net/xyang81/art ...

  9. ELK集群部署实例(转)

    转载自:http://blog.51cto.com/ckl893/1772287,感谢原博. 一.ELK说明 二.架构图 三.规划说明 四.安装部署nginx+logstash 五.安装部署redis ...

随机推荐

  1. 函数使用九:CAT_CHECK_RFC_DESTINATION

    此函数是用来检查RFC DESTINATION是否存在,RFC是否通 Import RFCDESTINATION          RFC目标  类型:RSCAT-RFCDEST Export MSG ...

  2. MySQL5.6复制技术(2)-主从部署以及半同步配置详细过程

    当前环境规划 主机名称 ec2t-pgtest-01 ec2t-pgtest-02 IP地址 10.189.102.118 10.189.100.195 角色 master slave 系统版本 Ce ...

  3. java后台判断浏览器的版本

    public static void main(String[] args) {              String agent=request.getHeader("User-Agen ...

  4. [转]一次CMS GC问题排查过程(理解原理+读懂GC日志)

    这个是之前处理过的一个线上问题,处理过程断断续续,经历了两周多的时间,中间各种尝试,总结如下.这篇文章分三部分: 1.问题的场景和处理过程:2.GC的一些理论东西:3.看懂GC的日志 先说一下问题吧 ...

  5. 尚学堂java答案解析 第一章

    本答案为本人个人编辑,仅供参考,如果读者发现,请私信本人或在下方评论,提醒本人修改 一.选择题: 1.C 解析:java为了安全,中并没有引入C语言的指针概念. 2.AD 解析:B:Java先通过ja ...

  6. ldap+flask+python2实现统一认证里面的那些编码神坑

    首先想吐槽下,直接接手别人的项目,而且是经过四五个人手的项目,是怎么个痛苦.两三套代码django.flask.tornado应有尽有,代码里,掰开手指头就可数的全英文注释,几台服务器没交接清楚,所有 ...

  7. Grafana配置SingleStat图表信息(三)

    Grafana是一个用于展示数据的工具,配置数据源,直接连接数据库.(这里的数据库应该是结果库,直接需要给用户看的结果数据信息) SingleStat : 想用来展示单一数据信息的图表,效果图如图 ( ...

  8. JNA调用DLL(入门):让你一眼就学会

    DLL(Dynamic Link Library)文件,是基于C语言的动态链接库文件,就是一些封装好的方法,打成dll格式包,供别人调用 JNA是一种能够使Java语言使调用DLL的一种技术, 首先, ...

  9. 每天CSS学习之border-radius

    css3的border-radius属性,我们用之来画圆角边框. 1.border-radius:none;//表示不用圆角边框,边框会变成方形. 2.border-radius:水平方向{1,4}[ ...

  10. 异常处理机制中的return关键字

    Java中,执行try-catch-finally语句需要注意: 第一:return语句并不是函数的最终出口,如果有finally语句,这在return之后还会执行finally(return的值会暂 ...