$z[0][4]=array(); $z[0][4]['itemname']="文章内容"; $z[0][4]['autofield']="0"; $z[0][4]['notsend']="0"; $z[0][4]['type']="htmltext"; $z[0][4]['isnull']="true"; $z[0][4]['islist']="1"; $z[0][4]['default']=""; $z[0][4]['maxlength']=""; $z[0][4]['page']="split"; ?> usdt官网下载(www.caibao.it):初探ELK和集中式日志治理系统_绥化新闻网_绥化新闻

内容字号:默认大号超大号

段落设置:段首缩进取消段首缩进

字体设置:切换到微软雅黑切换到宋体

usdt官网下载(www.caibao.it):初探ELK和集中式日志治理系统

2021-01-16 08:14 出处:  人气:   评论( 0

前言

一样平常我们需要举行日志剖析场景:直接在日志文件中 grepawk 就可以获得自己想要的信息。但在规模较大的场景中,此方式效率低下,面临问题包罗日志量太大若何归档、文本搜索太慢怎么办、若何多维度查询。需要集中化的日志治理,所有服务器上的日志网络汇总。常见解决思绪是确立集中式日志网络系统,将所有节点上的日志统一网络,治理,接见。ELK提供了一整套解决方案,而且都是开源软件,之间互相配合使用,完善衔接,高效的知足了许多场所的应用。

ELK

ELK是三个开源项目的首字母缩写,这三个项目分别是:ElasticsearchLogstashKibanaElasticsearch 是一个搜索和剖析引擎。Logstash 是服务器端数据处置管道,能够同时从多个泉源采集数据,转换数据,然后将数据发送到诸如 Elasticsearch 等“存储库”中。Kibana 则可以让用户在Elasticsearch 中使用图形和图表对数据举行可视化。

Elasticsearch

Elasticsearch 是一个实时的分布式搜索剖析引擎,它能让你以亘古未有的速率和规模去检索你的数据。

下载地址:https://www.elastic.co/cn/downloads/elasticsearch

设置

下面枚举一下常见的设置项

  • cluster.name:集群名称,默以为elasticsearch
  • node.master:该节点是否可以作为主节点(注重这里只是有资格作为主节点,不代表该节点一定就是master),默以为true
  • node.name:节点名称,若是不设置es则会自动获取
  • path.conf:设置文件路径,默以为es根目录的config文件夹
  • path.data:设置索引数据的文件路径,默认是es根目录下的data文件夹,可以设置多个存储路径,用逗号离隔
  • path.logs:设置日志文件路径,默认是es根目录下的logs文件夹
  • path.plugins:设置es插件路径,默认是es根目录下的plugins文件夹
  • http.port:es的http端口,默以为9200
  • transport.tcp.port:与其它节点交互的端口,默以为9300
  • transport.tcp.compress:设置是否压缩tcp传输时的数据,默以为false,不压缩。
  • network.bind_host:设置绑定地址,默以为0.0.0.0
  • network.publish_host:设置其他节点毗邻此节点的ip地址,若是不设置的话,则自动获取,publish_host的地址必须为真实地址
  • network.host:同时设置bind_hostpublish_host这两个参数
  • http.enabled:是否对外使用http协议,默以为true
  • index.number_of_replicas:设置索引副本个数,默以为1
  • http.cors.enabled:是否支持跨域,默以为false
  • http.cors.allow-origin:当设置允许跨域,默以为*

测试

领会的设置文件项之后我们可以来举行简朴的设置

vim config/elasticsearch.yml

cluster.name: master

node.name: elk-1

path.data: /data/es

path.logs: /var/log/es/

bootstrap.memory_lock: true

network.host: 0.0.0.0

http.port: 9200

http.cors.enabled: true

http.cors.allow-origin: "*"

然后启动es

bin/elasticsearch

检查服务端口是否正常监听

[qiyou@example es]$ netstat -utnl|grep -E "9200|9300"
tcp6       0      0 127.0.0.1:9200          :::*                    LISTEN     
tcp6       0      0 ::1:9200                :::*                    LISTEN     
tcp6       0      0 127.0.0.1:9300          :::*                    LISTEN     
tcp6       0      0 ::1:9300                :::*                    LISTEN

检查es是否正常事情,可以看到是正常事情的

[qiyou@example es]$ curl -i -XGET 'localhost:9200/_count?pretty' 
HTTP/1.1 200 OK
content-type: application/json; charset=UTF-8
content-length: 114

{
  "count" : 0,
  "_shards" : {
    "total" : 0,
    "successful" : 0,
    "skipped" : 0,
    "failed" : 0
  }
}

上面用下令检索数据来是不是感受贫苦,我们可以安装es插件elasticsearch-head,项目链接:https://github.com/mobz/elasticsearch-head

git clone git://github.com/mobz/elasticsearch-head.git
cd elasticsearch-head
npm install
npm run start

检查是否正常启动

netstat -untl|grep 9100
tcp        0      0 0.0.0.0:9100            0.0.0.0:*               LISTEN

然后接见http://localhost:9100/即可

,

欧博Allbet

欢迎进入欧博Allbet官网(Allbet Game):www.aLLbetgame.us,欧博官网是欧博集团的官方网站。欧博官网开放Allbet注册、Allbe代理、Allbet电脑客户端、Allbet手机版下载等业务。

,

Logstash

Logstash是一个实时的管道式开源日志网络引擎。Logstash可以动态的将不同泉源的数据举行归一而且将格式化的数据存储到你选择的位置。对你的所有做数据洗濯和普通化处置,以便做数据剖析和可视化。Logstash通过输入、过滤和输出插件Logstash可以对任何类型的事宜厚实和转换,通过内陆编码器还可以进一步简化此历程。

logstash下载地址:https://www.elastic.co/cn/downloads/logstash

logstash的基本目录结构如下及其寄义:

Type Description Default Location Setting
home logstash安装的目录 {extract.path}
bin logstash的二进制剧本以及插件 {extract.path}/bin
settings 设置文件, 包罗logstash.ymljvm.options {extract.path}/config path.settings
logs 日志文件 {extract.path}/logs path.logs
plugins 插件存放的目录,每个插件都包罗在一个子目录中 {extract.path}/plugins path.plugins
data logstash及其插件为任何持久性需求所使用的数据文件 {extract.path}/data path.data

一个Logstash管道有两个必须的组件,inputoutput,除此之外另有一个可选的组件filterinput插件将数据从源读入,filter插件根据你的界说处置数据,最后通过output插件写入到目的地。

Logstash支持的input插件:https://www.elastic.co/guide/en/logstash/current/input-plugins.html

Logstash支持的output插件:https://www.elastic.co/guide/en/logstash/current/input-plugins.html

注:有的插件默认是没有安装的,可以使用logstash-plugin list列出所有已经安装的插件

设置

input插件

可以指定logstash的事宜源

下面枚举几种常见的事宜源

  • stdin:尺度输入
input { 
    stdin { } 
}
  • file:从文件中读取
file {
    path => "/var/log/secure" 
    type => "logstash_log" , 界说类型,一样平常用于过滤器中
    start_position => "beginning" , 示意从文件开头读取,默以为end
}
  • syslog:从syslog传输过来的事宜中读取
syslog{
    port =>"514" , 监听的端口,syslog设置文件中设置:*.* @ip:514 即可
    type => "syslog"
}
  • beats:从Elastic beats吸收事宜
beats {
    port => 5044   , 监听的端口
}

然后在beat举行如下设置即可
output.logstash:
    hosts: ["localhost:5044"]
  • Redis:从redis中获取事宜
redis {
                host => "127.0.0.1"
                port => "6379"
                password => "passwd"
                db => "1"
                data_type => "list"
                key => "redis_key"
                batch_count => 1 
    }

output插件

指定logstash事宜的吸收源

下面枚举几种常见的接受源

  • stdout:尺度输出
output{
    stdout{
        codec => "rubydebug"
    }
}
  • file:将事宜保存到文件中
file {
   path => "/var/log/logstash/%{host}/{application}
   codec => line { format => "%{message}"} }
}
  • kafka:将事宜发送到kafka
kafka{
    bootstrap_servers => "localhost:9092"
    topic_id => "logstash_log"
}
  • elasticseach:将事宜发送到es中
elasticsearch {
    hosts => "localhost:9200"
    index => "logstash-%{ YYYY.MM.dd}"  
}
  • redis:将事宜发送到redis
redis {
        data_type => "list"
        host => "127.0.0.1"
        port => "6379"
        db => "1"
        password => "passwd"
        key => "redis_key"
}

filter过滤器插件

对事宜举行中心处置,filter过滤器这里只枚举gork

gork可以将非结构化日志数据剖析为结构化和可查询的数据,gork的基本语法为:%{SYNTAX:SEMANTIC}

  • SYNTAXSYNTAX是与文本匹配的模式的名称,如123可以匹配的是NUMBER127.0.0.1可以匹配的是IP

注:NUMBERIP都是gork默认内置的字段,不需要我们分外编写正则表达式,gork默认内置120个预界说匹配字段:https://github.com/logstash-plugins/logstash-patterns-core/tree/master/patterns

登录并阅读全文
分享给小伙伴们:
本文标签: 安全技术企业安全

相关文章

Copyright © 2002-2019 绥化新闻网 版权所有 Power by DedeMao