ELK简单搭建

  1. 软件下载地址https://www.elastic.co/cn/products
  2. 单机版日志配置

先配置logstash文件;

具体配置内容:

input {

    file{

path => ["E:/log/icl.log"]  #文件地址

type => "icl"  #给该log定义类型

start_position => "beginning" #文件读取位置

    }

}

 

filter  {   #对文件过滤

    grok    {   #过滤的正则

    match => {"message" => "%{TIMESTAMP_ISO8601:LogerDate}\:%{LOGLEVEL:LoggerEvel}\s%{USERNAME:LogerExec}\s(?<LoggerJava>.*(\=\=\>|\<\=\=|-))\s(?<LoggerDetails>.*)"}

        }

    date { #对日志里面的字段配置LogerDate格式

 

        match => ["LogerDate", "yyyy-MM-dd HH:mm:ss,SSS"]

 

        target => "@timestamp"

 

     }

 }

 

output {

    stdout {

      codec => rubydebug  #采集的日志输出到控制台

    }

    elasticsearch {  #将日志传输给elasticsearch

        hosts  => "192.168.80.236:9200"      #ElasticSearch host, can be array.

        index  => "logstash-%{+YYYY.MM.dd}"      #The index to write data to.

    }

}

elasticsearch.yml中的IP配置;

kibana.yml配置

 

启动类:

logstash启动的时候要关联配置的文件

logstash.bat -f E:\ELK\logstash-6.2.3\config\log4j_to_es.conf

 

因为logstash读取文件会有记录,所以记录下来。

elasticsearch的启动文件

kibana.bat的启动文件

kibana的访问地址:http://192.168.73.131:5601

 

第二种方式,实时推送日志给logstash

将log4j2的日志推送给tcp的采集装置

 

logstash的配置文件

input {

    tcp {  

        host => "192.168.80.236"

        port => 4567  

     codec => json

    }  

}

 

 

filter  {

    grok    {

    match => {"message" => "%{TIMESTAMP_ISO8601:LogerDate}\:%{LOGLEVEL:LoggerEvel}\s%{USERNAME:LogerExec}\s(?<LoggerJava>.*(\=\=\>|\<\=\=|-))\s(?<LoggerDetails>.*)"}

        }

    date {

 

        match => ["LogerDate", "yyyy-MM-dd HH:mm:ss,SSS"]

 

        target => "@timestamp"

 

     }

 }

 

output {

    stdout {

      codec => rubydebug

    }

    elasticsearch {

        hosts  => "192.168.80.236:9200"      #ElasticSearch host, can be array.

        index  => "logstash-%{+YYYY.MM.dd}"      #The index to write data to.

    }

}

 

在linux部署下的问题总结

 

don't run elasticsearch as root.

 

因为安全问题elasticsearch 不让用root用户直接运行,所以要创建新用户

 

第一步:liunx创建新用户  adduser XXX    然后给创建的用户加密码 passwd XXX    输入两次密码。

 

第二步:切换刚才创建的用户 su XXX  然后执行elasticsearch  会显示Permission denied 权限不足。

 

第三步:给新建的XXX赋权限,chmod 777 *  这个不行,因为这个用户本身就没有权限,肯定自己不能给自己付权限。所以要用root用户登录付权限。

 

第四步:root给XXX赋权限,chown -R XXX /你的elasticsearch安装目录。

 

然后执行成功。

 

 

 

问题二:ERROR: bootstrap checks failed

 

max file descriptors [4096] for elasticsearch process likely too low, increase to at least [65536]

max number of threads [1024] for user [lishang] likely too low, increase to at least [2048]

 

解决:切换到root用户,编辑limits.conf 添加类似如下内容

 

vi /etc/security/limits.conf

 

添加如下内容:

 

* hard nofile 65536

* soft nofile 65536

 

 

 

问题四:max virtual memory areas vm.max_map_count [65530] likely too low, increase to at least [262144]

 

解决:切换到root用户修改配置sysctl.conf

 

vi /etc/sysctl.conf

 

添加下面配置:

 

vm.max_map_count=655360

 

并执行命令:

 

sysctl -p

 

 

 

用 ps -ef | grep elasticsearch

 

查看进程:kill -9 指定进程号进行删除

 

 

格式问题:Exception in thread "main" 2017-11-10 06:29:49,106 main ERROR No log4j2 configuration file found. Using default configuration: logging only errors to the console. Set system property 'log4j2.debug' to show Log4j2 internal initialization logging.ElasticsearchParseException[malformed, expected settings to start with 'object', instead was [VALUE_STRING]]

原因:elasticsearch.yml中的配置项的格式有问题

解决方案:请尽量保持冒号前面没空格,后面一个空格,不要用tab键

bootstrap.memory_lock: false

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值