根据关键词文章采集系统(一个运输日志监控和分析系统的特点及解决办法)

优采云 发布时间: 2022-02-23 05:29

  根据关键词文章采集系统(一个运输日志监控和分析系统的特点及解决办法)

  日志监控和分析对于保证业务的稳定运行起着重要的作用。但是,一般情况下,日志分散在各个生产服务器上,开发者无法登录生产服务器。在这种情况下,需要一个集中的日志采集设备。日志中的关键字被监控,异常触发报警,开发者可以查看相关日志。logstash+elasticsearch+kibana3就是实现了这样一个功能的系统,功能更强大。

  logstash:是一个管理日志和事件的工具,你可以采集它们,解析它们,并存储它们以供以后使用(例如日志搜索),logstash 有一个内置的网络界面来搜索你所有的日志。Logstash 部署时有两种运行模式:独立和集中式:

  * 单机:单机是指一切都运行在一台服务器上,包括日志采集、日志索引、前端WEB接口都部署在一台机器上。

  * 集中式:它是一种多服务器模式,将日志从多个服务器传送到一个总日志(采集器)服务器,用于索引和搜索。

  需要注意的是logstash本身并没有shipper和indexer这样的术语,因为传输日志的过程和采集总日志的过程都是运行同一个程序,只是使用的配置文件不同。

  弹性搜索:

  基于Lucene的开源搜索引擎是一个分布式搜索分析系统。主要功能有:实时数据、实时分析、分布式、高可用性、多租户、全文搜索、面向文档、冲突管理、无模式、restful api 等。

  kibana3:

  可视化日志和数据系统可以很方便的与elasticsearch系统结合作为WEB前端。Kibana 分为版本 2 和版本 3。版本 2 是用 ruby​​ 编写的,部署起来很麻烦,需要安装很多 ruby​​ 依赖项(目前网上部署了这个版本)。版本3是纯html+css编写的,所以部署起来很方便,解压后就可以使用了。已经是kibana4了。建议您使用最新版本。

  出于性能和可扩展性的考虑,我们在实际应用中必须使用logstash的集中模式。最基本的*敏*感*词*如下:

  

  1、安装redis,安装过程比较简单,这里不再详述。

  2、安装 ElasticSearch(当前版本1.4)

  wget 'https://download.elasticsearch.org/elasticsearch/elasticsearch/elasticsearch-0.90.7.tar.gz'

tar zxvf elasticsearch-0.90.7.tar.gz

cd elasticsearch-0.90.7/bin

#可以在logstash agent启动后再启动

./elasticsearch -f

  3、启动logstash shipper,定义配置文件logstash.conf,根据实际情况,下面主要定义输入源为file,输出到redis,启动logstash shipper,例如:

  input {

file {

type => "api_log"

path => "/home/jws/app/nginxserver/logs/apiaccess.log"

debug => true

}

file {

type => "cas_log"

path => "/home/jws/app/nginxserver/logs/casaccess.log"

debug => true

}

file {

type => "id_log"

path => "/home/jws/app/nginxserver/logs/idaccess.log"

debug => true

}

file {

type => "login_log"

path => "/home/jws/app/nginxserver/logs/loginaccess.log"

debug => true

}

file {

type => "proxy_log"

path => "/home/jws/app/nginxserver/logs/proxyaccess.log"

debug => true

}

}

output {

redis {

host => "10.20.164.121"

data_type => "list"

key => "logstash:redis"

}

redis {

host => "10.20.164.122"

data_type => "list"

key => "logstash:uop_file"

}

}

  启动托运人:

  java -jar /home/jws/htdocs/logstash/lib/logstash.jar 代理 -f /home/jws/htdocs/logstash/conf/logstash.conf -l /home/jws/htdocs/logstash/logs/logstash.log

  4、启动logstash索引器

  logstash 的配置文件比较简单,主要由输入、过滤器和输出三部分组成。事件按顺序出现在配置文件中。在输入、输出和过滤器中,允许您设置配置插件,由插件名称后跟插件配置代码块组成。插件中的值可以是布尔值、字符串、数字、哈希、数组等,支持条件判断(if...else)。

  比如在下面配置indexer,并启动indexer:

  input {

file {

path => "/home/rsyslog/asaserver/*/*/*/proxy.log.*"

exclude => "*.bz2"

type => "proxy"

}

}

filter {

grok {

match => [ "message", "%{APIPROXY}" ]

patterns_dir => ["/home/jws/app/logstash/patterns"]

}

if [request_uripath_orig]{

grok {

match => [ "request_uripath_orig", "%{NSSS}" ]

patterns_dir => ["/home/jws/app/logstash/patterns"]

}

}

}

output {

#stdout { codec =>"rubydebug"}

elasticsearch_http {

host => "10.20.161.36"

flush_size => 500

idle_flush_time => 3

index => "logstash_pf_proxy-%{+YYYY.MM.dd.HH}"

template => "/home/jws/app/logstash/template/t.json"

template_overwrite => true

}

}

  5、安装并启动kibana3。安装过程与普通软件安装相同。可以用 nginx 安装。此处不再赘述。需要注意的是,需要在kibana config.js中配置elasticSearch的地址和端口。

  

  注意红框内的内容,这只是kibana3的默认接口,我们需要将default.json接口替换为logstash.json,具体目录下的source目录下的app/dashboards。

  例如,在项目中的一个示例中,根据需求制作图表(类似于饼图、条形图、折线图等)。在笔者的实际项目中,从日志中分析数据,实现系统稳定性、响应时间、请求量、业务响应代码等。、HTTP状态码等在kibana中显示;

  

  此外,elasticsearch 的用处要小得多。它可以用作搜索数据源。ES提供了编程接口,可以在ES中通过编程获取数据来定制开发监控程序,灵活强大。

  官方文档(现在都在一起):

  日志存储:

  弹性搜索:

  基巴纳:

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线