多服务器模式的管理日志和数据系统,功能更强大

优采云 发布时间: 2021-04-25 18:23

  多服务器模式的管理日志和数据系统,功能更强大

  日志监视和分析在确保业务稳定运行中起着非常重要的作用。但是,通常,日志分散在各种生产服务器上,并且开发人员无法登录到生产服务器。此时,需要集中式日志。采集设备监视日志中的关键字,在触发异常时发出警报,并且开发人员可以查看相关日志。 logstash + elasticsearch + kibana3是一个实现此功能的系统,功能更强大。

  logstash:是用于管理日志和事件的工具。您可以采集它们,对其进行解析,然后将其存储以供以后使用(例如日志搜索)。 Logstash具有内置的Web界面,可搜索您的所有日志。 Logstash在部署期间有两种操作模式:独立和集中式:

  *独立:``独立意味着所有内容都在一台服务器上运行,包括日志采集,日志索引和前端WEB界面都部署在一台计算机上。

  *集中式:这是一种多服务器模式,从该模式将日志从许多服务器传送到集合日志(采集器)服务器以进行索引和搜索。

  应该注意的是,logstash本身没有诸如托运人和索引器之类的术语,因为运输日志的过程和采集总日志的过程都运行相同的程序,但是所使用的配置文件是不同的。

  elasticsearch:

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

  kibana3:

  作为Web前端的可视日志和数据系统可以轻松地与Elasticsearch系统集成。 kibana的版本2和版本3之间有区别。版本2是用ruby编写的,部署起来很麻烦。它需要安装许多ruby依赖包(当前此版本已部署在Internet上),而版本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,根据实际情况定义,以下主要定义输入源为文件,输出到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的配置文件非常简单,收录三个主要部分:输入,过滤器和输出。配置文件中事件的发生是连续的。在输入,输出和过滤器中,允许您设置配置插件。配置插件由插件名称和紧随其后的插件配置代码块组成。插件中的值可以是布尔值,字符串,数字,哈希,数组等,并支持条件判断(如果...否则)。

  例如,配置以下索引器并启动索引器:

  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,该接口位于特定目录的源目录下的app / dashboard中。

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

  此外,elasticsearch的目的远非如此。它可以用作搜索数据源。 ES提供了一个编程接口。您可以使用编程来获取ES中的数据,以自定义监视程序的开发,这是灵活而强大的。

  正式文件(现已全部合并):

  logstash:

  elasticsearch:

  木乃伊:

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线