logstash日志收集展示与邮件报警
2016-05-06 14:48
393 查看
有时候我们需要对一些服务器日志进行分析,并对其中错误的日志进行报警,在这里我们采用logstash来收集这些日志,和采用自己开发的邮件发送系统来发送错误日志数据。
例如我们有几个文件需要监控(BI日志)
我们可以通过配置logstash来收集这些文件日志
通过启动这个conf文件,就可以把全部数据导入ES中,可由kibana展示,具体展示不再赘述;而同时把状态为error的日志导入到一个文本中,供邮件发送系统使用。至此完毕。
下附上:发送邮件脚本
例如我们有几个文件需要监控(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" } } |
下附上:发送邮件脚本
#!/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="zhanglibing@staff.hexun.com" cat > /etc/nail.rc<<EOF set from=bigdata@staff.hexun.com set smtp=60.28.250.158 set smtp-auth-user=bigdata@staff.hexun.com 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 |
相关文章推荐
- 翰思博客
- 加密签名
- jpa,querydsl
- oracle 的安装脚本
- Android 高仿微信实时聊天 基于百度云推送
- Unity Shaders and Effects Cookbook (6-2) 透明裁剪着色器
- c++中getopt和getopt_long的使用方法
- 用gprof分析性能初步
- Java WEB之JDBC连接数据库的增删改查
- Android WebView的前进、后退、与刷新以及OnkeyDown事件 和 OnBackPressed方法注意点
- 信贷
- 又学一招——c#添加引用,叹号
- 【转】测试趋势之我的观点
- win10每次开机都显示“你的硬件设置已更改,请重启电脑……”的解决办法
- jconsole监控远程linux tomcat运行情况的配置
- ioctl函数详细说明(网络)
- Bound service
- Java性能调优笔记
- POJ 3522 Slim Span【枚举+克鲁斯卡尔求最小生成树】
- 大数据学习资源汇总