filebeat-elasticsearch(docker)+kibana 7.6.2(docker)日志采集并展现(centos7)

filebeat-elasticsearch(docker)+kibana 7.6.2(docker)日志采集并展现(centos7)

一、docker安装elasticsearch+kibana

1)下载ealastic search和kibana

docker pull elasticsearch:7.6.2
docker pull kibana:7.6.2

(2)配置

mkdir -p /mydata/elasticsearch/config
mkdir -p /mydata/elasticsearch/data 
echo "http.host: 0.0.0.0" >/mydata/elasticsearch/config/elasticsearch.yml 
chmod -R 777 /mydata/elasticsearch/

(3)启动elasticsearch

elasticsearch:

docker run --name elasticsearch -p 9200:9200 -p 9300:9300 -e  "discovery.type=single-node"  -e ES_JAVA_OPTS="-Xms64m -Xmx256m"  -v /mydata/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml  -v /mydata/elasticsearch/data:/usr/share/elasticsearch/data  -v  /mydata/elasticsearch/plugins:/usr/share/elasticsearch/plugins  -d elasticsearch:7.6.2

(4)启动 kibana

kibana:

docker run --name kibana -e ELASTICSEARCH_HOSTS=http://172.17.127.219:9200 -p 5601:5601 -d kibana:7.6.2

(5)汉化 kibana

Kibana中文汉化支持

Kibana从6.6.0版本开始支持中文

参考:https://github.com/anbai-inc/Kibana_Hanization

汉化方法如下:

以现行最新版本7.2.0为例,测试机器为Windows 10

打开\kibana-7.2.0-windows-x86_64\config\kibana.yml

找到i18n.locale,如果没找到自行添加如下文本

Copy

i18n.locale: "zh-CN"

启动Kibana,应该就可以查看到中文界面。如果没有正确汉化,请找到目录\kibana-7.2.0-windows-x86_64\x-pack\plugins\translations\translations,该目录下应存在汉化包,一个Json文件 zh-CN.json


二、安装filebeat

下载tar版本

curl -L -O https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-7.6.2-linux-x86_64.tar.gz
tar xzvf filebeat-7.6.2-linux-x86_64.tar.gz

[root@localhost filebeat]# ls
filebeat-7.6.2-linux-x86_64  filebeat-7.6.2-linux-x86_64.tar.gz
[root@localhost filebeat]# 

三、修改filebeat.yml

filebeat.inputs:
- type: log
  enabled: true
  paths:
   - /root/filebeat/filebeat-7.6.2-linux-x86_64/apache-daily-access.log
  fields_under_root: true
  multiline.pattern: '^[[0-9]{4}-[0-9]{2}-[0-9]{2}'
  multiline.negate: true
  multiline.match: after

filebeat.config.modules:
  path: ${path.config}/modules.d/*.yml
  reload.enabled: false
setup.template.name: "filebeat-admin"
setup.template.pattern: "filebeat-admin*"
setup.template.fields: "fields.yml"
setup.template.overwrite: false


output.elasticsearch:
  hosts: ["localhost:9200"]
  indices:
    - index: "filebeat-admin-%{+yyyy.MM.dd}"

读取日志文件apache-daily-access.log,也可以使用其它的(在解压后的filebeat-7.6.2-linux-x86_64下自行建立):

2021-10-11 14:48:24.244 [http-nio-8889-exec-1] [DEBUG] c.f.m.mapper.ContentUGCMapper.upDateNii.debug [traceId:0a3b5f39e76129f7] [SpanId:0a3b5f39e76129f7] ==>  Preparing: update nova_invitation_info info set FKey5='1',weighting=? where info.id=? 
2021-10-11 14:48:24.245 [http-nio-8889-exec-1] [DEBUG] c.f.m.mapper.ContentUGCMapper.upDateNii.debug [traceId:0a3b5f39e76129f7] [SpanId:0a3b5f39e76129f7] ==> Parameters: 78.0(Double), 391(String)
2021-10-11 14:48:24.247 [ForkJoinPool.commonPool-worker-1] [DEBUG] c.f.m.mapper.ContentUGCMapper.getDzCount.debug [traceId:] [SpanId:] <==      Total: 1
2021-10-11 14:48:24.247 [ForkJoinPool.commonPool-worker-1] [DEBUG] c.f.m.mapper.ContentUGCMapper.getPlCount.debug [traceId:] [SpanId:] ==>  Preparing: SELECT count(info.FID) as FCommentCnt from comment_details_info info INNER JOIN comment_info comm on comm.FID = info.FCommentInfoId INNER join nova_invitation_info ni on comm.FContentId = ni.id and ni.FIsDelete=0 and ni.bus_type='1' where info.FIsDelete=0 and info.FStatus=1 and comm.FCommentType = 8500 and ni.id=? 
2021-10-11 14:48:24.248 [ForkJoinPool.commonPool-worker-1] [DEBUG] c.f.m.mapper.ContentUGCMapper.getPlCount.debug [traceId:] [SpanId:] ==> Parameters: 504(String)
2021-10-11 14:48:24.248 [ForkJoinPool.commonPool-worker-2] [DEBUG] c.f.m.m.ContentUGCMapper.getPicCount.debug [traceId:] [SpanId:] <==      Total: 1
2021-10-11 14:48:24.248 [ForkJoinPool.commonPool-worker-2] [DEBUG] c.f.m.mapper.ContentUGCMapper.getDzCount.debug [traceId:] [SpanId:] ==>  Preparing: SELECT IFNULL(sum(dz.fCnt),0) dz from nova_invitation_like_info dz LEFT JOIN nova_invitation_info info on dz.inv_id = info.id and dz.FTouchCode != '0' where info.id=? and info.FIsDelete=0 and info.bus_type='1' 
2021-10-11 14:48:24.248 [ForkJoinPool.commonPool-worker-2] [DEBUG] c.f.m.mapper.ContentUGCMapper.getDzCount.debug [traceId:] [SpanId:] ==> Parameters: 459(String)
2021-10-11 14:48:24.249 [ForkJoinPool.commonPool-worker-4] [ERROR] druid.sql.Statement.statementLogError [traceId:] [SpanId:] {conn-10006, pstmt-20224} execute error. insert  into content_ugc_info(nii_id,weighting,basic_score,subject_score,characters_score,pic_score,praise_score,comment_score)  VALUES (?,?,?,?,?,?,?,?)
java.sql.SQLIntegrityConstraintViolationException: Duplicate entry '368' for key 'nii_id'
	at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:117)
	at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:97)
	at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122)
	at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:955)
	at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:372)
	at com.alibaba.druid.filter.FilterChainImpl.preparedStatement_execute(FilterChainImpl.java:3461)
	at com.alibaba.druid.filter.FilterEventAdapter.preparedStatement_execute(FilterEventAdapter.java:440)
	at com.alibaba.druid.filter.FilterChainImpl.preparedStatement_execute(FilterChainImpl.java:3459)
	at com.alibaba.druid.filter.FilterEventAdapter.preparedStatement_execute(FilterEventAdapter.java:440)
	at com.alibaba.druid.filter.FilterChainImpl.preparedStatement_execute(FilterChainImpl.java:3459)
	at com.alibaba.druid.proxy.jdbc.PreparedStatementProxyImpl.execute(PreparedStatementProxyImpl.java:167)
	at com.alibaba.druid.pool.DruidPooledPreparedStatement.execute(DruidPooledPreparedStatement.java:497)
	at sun.reflect.GeneratedMethodAccessor193.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:59)
	at com.sun.proxy.$Proxy348.execute(Unknown Source)
	at org.apache.ibatis.executor.statement.PreparedStatementHandler.update(PreparedStatementHandler.java:47)
	at org.apache.ibatis.executor.statement.RoutingStatementHandler.update(RoutingStatementHandler.java:74)
	at org.apache.ibatis.executor.SimpleExecutor.doUpdate(SimpleExecutor.java:50)
	at org.apache.ibatis.executor.BaseExecutor.update(BaseExecutor.java:117)
	at org.apache.ibatis.executor.CachingExecutor.update(CachingExecutor.java:76)
	at sun.reflect.GeneratedMethodAccessor208.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:63)
	at com.sun.proxy.$Proxy346.update(Unknown Source)
	at org.apache.ibatis.session.defaults.DefaultSqlSession.update(DefaultSqlSession.java:197)
	at sun.reflect.GeneratedMethodAccessor207.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:433)
	at com.sun.proxy.$Proxy182.update(Unknown Source)
	at org.mybatis.spring.SqlSessionTemplate.update(SqlSessionTemplate.java:294)
	at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:67)
	at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:58)
	at com.sun.proxy.$Proxy253.insertUgc(Unknown Source)
	at com.faw.membercenter.service.ContentUGCService.updateOrAdd(ContentUGCService.java:298)
	at com.faw.membercenter.service.ContentUGCService.upDataJf(ContentUGCService.java:189)
	at com.faw.membercenter.service.ContentUGCService.lambda$getAllComputeWeight$0(ContentUGCService.java:48)
	at java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:184)
	at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1382)
	at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481)
	at java.util.stream.ForEachOps$ForEachTask.compute(ForEachOps.java:291)
	at java.util.concurrent.CountedCompleter.exec(CountedCompleter.java:731)
	at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289)
	at java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1056)
	at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1692)
	at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:157)
2021-10-11 14:48:24.250 [ForkJoinPool.commonPool-worker-4] [DEBUG] c.f.m.mapper.ContentUGCMapper.upDateNii.debug [traceId:] [SpanId:] ==>  Preparing: update nova_invitation_info info set FKey5='1',weighting=? where info.id=? 
2021-10-11 14:48:24.250 [ForkJoinPool.commonPool-worker-4] [DEBUG] c.f.m.mapper.ContentUGCMapper.upDateNii.debug [traceId:] [SpanId:] ==> Parameters: 78.0(Double), 368(String)

2021-10-11 14:48:24.277 [ForkJoinPool.commonPool-worker-6] [DEBUG] c.f.m.mapper.ContentUGCMapper.getPlCount.debug [traceId:] [SpanId:] <==      Total: 1
2021-10-11 14:48:24.277 [ForkJoinPool.commonPool-worker-7] [ERROR] druid.sql.Statement.statementLogError [traceId:] [SpanId:] {conn-10005, pstmt-20229} execute error. insert  into content_ugc_info(nii_id,weighting,basic_score,subject_score,characters_score,pic_score,praise_score,comment_score)  VALUES (?,?,?,?,?,?,?,?)
java.sql.SQLIntegrityConstraintViolationException: Duplicate entry '42' for key 'nii_id'
	at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:117)
	at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:97)
	at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122)
	at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:955)
	at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:372)
	at com.alibaba.druid.filter.FilterChainImpl.preparedStatement_execute(FilterChainImpl.java:3461)
	at com.alibaba.druid.filter.FilterEventAdapter.preparedStatement_execute(FilterEventAdapter.java:440)
	at com.alibaba.druid.filter.FilterChainImpl.preparedStatement_execute(FilterChainImpl.java:3459)
	at com.alibaba.druid.filter.FilterEventAdapter.preparedStatement_execute(FilterEventAdapter.java:440)
	at com.alibaba.druid.filter.FilterChainImpl.preparedStatement_execute(FilterChainImpl.java:3459)
	at com.alibaba.druid.proxy.jdbc.PreparedStatementProxyImpl.execute(PreparedStatementProxyImpl.java:167)
	at com.alibaba.druid.pool.DruidPooledPreparedStatement.execute(DruidPooledPreparedStatement.java:497)
	at sun.reflect.GeneratedMethodAccessor193.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:59)
	at com.sun.proxy.$Proxy348.execute(Unknown Source)
	at org.apache.ibatis.executor.statement.PreparedStatementHandler.update(PreparedStatementHandler.java:47)
	at org.apache.ibatis.executor.statement.RoutingStatementHandler.update(RoutingStatementHandler.java:74)
	at org.apache.ibatis.executor.SimpleExecutor.doUpdate(SimpleExecutor.java:50)
	at org.apache.ibatis.executor.BaseExecutor.update(BaseExecutor.java:117)
	at org.apache.ibatis.executor.CachingExecutor.update(CachingExecutor.java:76)
	at sun.reflect.GeneratedMethodAccessor208.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:63)
	at com.sun.proxy.$Proxy346.update(Unknown Source)
	at org.apache.ibatis.session.defaults.DefaultSqlSession.update(DefaultSqlSession.java:197)
	at sun.reflect.GeneratedMethodAccessor207.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:433)
	at com.sun.proxy.$Proxy182.update(Unknown Source)
	at org.mybatis.spring.SqlSessionTemplate.update(SqlSessionTemplate.java:294)
	at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:67)
	at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:58)
	at com.sun.proxy.$Proxy253.insertUgc(Unknown Source)
	at com.faw.membercenter.service.ContentUGCService.updateOrAdd(ContentUGCService.java:298)
	at com.faw.membercenter.service.ContentUGCService.upDataJf(ContentUGCService.java:189)
	at com.faw.membercenter.service.ContentUGCService.lambda$getAllComputeWeight$0(ContentUGCService.java:48)
	at java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:184)
	at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1382)
	at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481)
	at java.util.stream.ForEachOps$ForEachTask.compute(ForEachOps.java:291)
	at java.util.concurrent.CountedCompleter.exec(CountedCompleter.java:731)
	at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289)
	at java.util.concurrent.ForkJoinPool$WorkQueue.execLocalTasks(ForkJoinPool.java:1040)
	at java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1058)
	at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1692)
	at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:157)
2021-10-11 14:48:24.278 [ForkJoinPool.commonPool-worker-6] [DEBUG] c.f.m.mapper.ContentUGCMapper.insertUgc.debug [traceId:] [SpanId:] ==>  Preparing: insert into content_ugc_info(nii_id,weighting,basic_score,subject_score,characters_score,pic_score,praise_score,comment_score) VALUES (?,?,?,?,?,?,?,?) 
catalog.CatalogConsulClient.getCatalogServices(CatalogConsulClient.java:141)

四、运行filebeat

[root@localhost filebeat-7.6.2-linux-x86_64]# ./filebeat -e
五、在kibana中查看数据:

1.建立索引视图:找到filebeat中配置的filebeat-admin*,点next step完成,点击discover查看收集到的日志信息
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值