logstash日志收集展示与邮件报警

有时候我们需要对一些服务器日志进行分析,并对其中错误的日志进行报警,在这里我们采用logstash来收集这些日志,和采用自己开发的邮件发送系统来发送错误日志数据。

例如我们有几个文件需要监控(BI日志)

我们可以通过配置logstash来收集这些文件日志


input{

file{

path=> "/diskb/bidir/smartbi_prd_*/apache-tomcat-5.5.25_prd_*/logs/catalina.out"

start_position=> "beginning"

sincedb_path=> "/diskb/logstashlog/log"

codec => plain {

charset => "GBK"

}

}

}

filter {

multiline {

pattern => "^\d{2}-\d{2}\s\d{2}:\d{2}:\d{2}"

negate => true

what => "previous"

}

mutate{

add_field =>   {

"logmessage" => "%{[message]}"

}

split => ["message"," "]

add_field =>   {

"logdate" => "%{[message][0]}"

"logtime" => "%{[message][1]}"

"logstate" => "%{[message][2]}"

}

remove_field => ["message"]

}

if [logdate] !~ /\d{2}-\d{2}/ {

drop{}

}

urldecode {

all_fields => true

}

}

output{

#对错误的日志写入到文件中,供邮件发送使用的附件

#其实在这里可以直接使用logstash自带的邮件发送系统,只不过部门要求邮件发送的频率不能

#高于一分钟,故只能采用外部定时发送

if [logstate] =~ /ERROR/ {

file {

path => "/diskb/bi_error_log/bi_error.log"

}

}

elasticsearch{

hosts => [ "10.130.2.53:9200","10.130.2.46:9200","10.130.2.54:9200" ]

flush_size=>50000

workers => 5

index=> "logstash-bi-tomcat-log"

}

}

通过启动这个conf文件,就可以把全部数据导入ES中,可由kibana展示,具体展示不再赘述;而同时把状态为error的日志导入到一个文本中,供邮件发送系统使用。至此完毕。

下附上:发送邮件脚本


#!/bin/sh

#sendmail error log to someone

#发送的附件路径

attachement="/diskb/bi_error_log/*.log"

if [ ! -f $attachement ];then

echo "file is not exist"

exit 1

fi

#收件人

maillist="[email protected]"

cat > /etc/nail.rc<<EOF

set [email protected]

set smtp=60.28.250.158

set [email protected]

set smtp-auth-password=******

set smtp-auth=login

EOF

#echo "邮件内容" | /usr/local/mailx-12.4/mailx -v -s "邮件标题" [-a "附件路径"] [-c "密送人mail"] 收件人

echo "Hello, please receive the error log for BI from hexun.bdc." | /usr/local/mailx-12.4/mailx -v -s "[The system sends]" -a $attachement $maillist

#发送成功,删除文件

rm -fr $attachement

时间: 2024-10-22 21:54:38

logstash日志收集展示与邮件报警的相关文章

logstash日志收集分析系统elasticsearch&kibana

logstash日志收集分析系统Logstash provides a powerful pipeline for storing, querying, and analyzing your logs. When using Elasticsearch as a backend data store and Kibana as a frontend reporting tool, Logstash acts as the workhorse. It includes an arsenal of

目前线上环境(ubuntu server)终于部署好一个logstash日志收集系统了

断断续续的看了一周logstash的文档,总算在线上ubuntu搭建起来一个logstash环境了.现在分享一下自己的经验 关于logstash 这玩意现在还算是火爆,依托于elasticsearch这棵大树下,logstash的关注度是非常高的,项目目前来说算是活跃.logstash是一个用于日志收集.分析的系统,架构设计非常灵活,几乎可以满足各种规模的需求. logstash的逻辑架构 logstash的逻辑架构其实一点都不复杂,经历收集->过滤->输出三个步骤即可简简单单的筛选与管理日志

rsyslog+analyzer+mysql实现日志收集展示

why->what->where->when->who->how 1.为什么要进行日志收集?为什么要用到rsyslog? 日志是我们对系统和应用程序的运行状况分析的根本依据,同时一些日志也有其特殊的作用,例如mysql的二进制日志和事务日志.因此要进行日志收集,为了避免重复的进行日志系统的实现,因此在linux发行版中提供了系统日志收集-rsyslogd 2.什么是rsyslog? rsyslog的前身是syslog,其是一个日志收集器,用于应用程序日志收集和内核日志收集.

logstash日志收集

input {file {path => "/home/nflow/logs/nisp-service/nisp-service.log" type => "nisp-servvice" start_position => "end"stat_interval => "1" type => 'nisp-servvice'tags => ["nisp-servvice"]c

用ElasticSearch,LogStash,Kibana搭建实时日志收集系统

用ElasticSearch,LogStash,Kibana搭建实时日志收集系统 介绍 这套系统,logstash负责收集处理日志文件内容存储到elasticsearch搜索引擎数据库中.kibana负责查询elasticsearch并在web中展示. logstash收集进程收获日志文件内容后,先输出到redis中缓存,还有一logstash处理进程从redis中读出并转存到elasticsearch中,以解决读快写慢速度不一致问题. 官方在线文档:https://www.elastic.co

企业级日志收集系统——ELKstack

ELKstack简介: ELKstack是Elasticsearch.Logstash.Kibana三个开源软件的组合而成,形成一款强大的实时日志收集展示系统. 各组件作用如下: Logstash:日志收集工具,可以从本地磁盘,网络服务(自己监听端口,接受用户日志),消息队列中收集各种各样的日志,然后进行过滤分析,并将日志输出到Elasticsearch中. Elasticsearch:日志分布式存储/搜索工具,原生支持集群功能,可以将指定时间的日志生成一个索引,加快日志查询和访问. Kiban

ELKstack-企业级日志收集系统

ELKstack-企业级日志收集系统 1. ELKstack简介 ELKstack是Elasticsearch.Logstash.Kibana三个开源软件的组合而成,形成一款强大的实时日志收集展示系统. 各组件作用如下: Logstash:日志收集工具,可以从本地磁盘,网络服务(自己监听端口,接受用户日志),消息队列中收集各种各样的日志,然后进行过滤分析,并将日志输出到Elasticsearch中. Elasticsearch:日志分布式存储/搜索工具,原生支持集群功能,可以将指定时间的日志生成

ELK日志收集分析系统配置

ELK是日志收益与分析的利器. 1.elasticsearch集群搭建 略 2.logstash日志收集 我这里的实现分如下2步,中间用redis队列做缓冲,可以有效的避免es压力过大: 1.n个agent对n个服务的log做日志收集(1对1的方式),从日志文件解析数据,存入broker,这里用的是redis的发布订阅模式的消息队列,当然你可以选用kafka,redis比较方便: 3.indexer做日志汇总,从redis队列中拿数据入es: 下面给出agent和index的配置示例: 1.dr

syslog+rsyslog+logstash+elasticsearch+kibana搭建日志收集

最近rancher平台上docker日志收集捣腾挺久的,尤其在配置上,特写下记录 Unix/Linux系统中的大部分日志都是通过一种叫做syslog的机制产生和维护的.syslog是一种标准的协议,分为客户端和服务器端,客户端是产生日志消息的一方,而服务器端负责接收客户端发送来的日志消息,并做出保存到特定的日志文件中或者其他方式的处理. ryslog 是一个快速处理收集系统日志的程序,提供了高性能.安全功能和模块化设计.rsyslog 是syslog 的升级版,它将多种来源输入输出转换结果到目的