logback输出日志到elasticsearch方案

功能一: 微服务日志采集汇聚方案

第一步:maven引入,放在dependencys的第一位,一定是第一位


	 com.suncreate
	 log-lib
	 1.0.0-SNAPSHOT

第二步:启动的时候在命令行设置-Des.addre=ip1:port,ip2:port,ip3:port,-Dspring.application.name=自己的服务名

功能二: sparkstreaming日志采集汇聚方案(华为大数据平台已验证)

第一步:将spark.yarn.archive默认属性位置的归档文件下载下来spark-archive-2x.zip

第二步:用winrar打开改文件,不要解压,直接删除log4j相关jar包,将log-lib-1.0.0-SNAPSHOT.jar,logback-core-1.0.11.jar,logback-classic-1.0.11.jar,logback-core-1.0.11.jar直接拖进去

第三步:将spark-archive-2x.zip修改名称为spark-archive-2x-new-1.zip并重新上传到hdfs路径上,执行命令hdfs dfs -put spark-archive-2x-new-1.zip hdfs://hacluster/user/mgguan/

第四步:修改代码,在自己的conf后面,生成context之前,添加es.addre和spring.application.name两个属性

    SparkConf conf = new SparkConf().setAppName("app");
    conf.setExecutorEnv("es.addre", "ip1:port,ip2:port,ip3:port");   // es的地址
    conf.setExecutorEnv("spring.application.name", "app");  // 应用名称,自定义
    JavaStreamingContext jssc = new JavaStreamingContext(conf, batchDuration);

第五步:启动如下命令即可

$SPARK_HOME/bin/spark-submit --master yarn 
--class com.suncreate.bigdata.spark.SparkStreamingDataClear 
--conf "spark.yarn.archive=hdfs://hacluster/user/mgguan/spark-archive-2x-new-1.zip" 
/opt/skynet/mgguan/skynetDataClear-1.0.jar

功能三:tomcat容器托管服务日志采集

第一步:maven引入,放在dependencys的第一位,一定是第一位

	
      com.suncreate
      log-lib
      1.0.0-SNAPSHOT 		
  

第二步:启动的时候在$TOMCAT_HOME/bin/catalina.sh中的第二行添加JAVA_OPTS="$JAVA_OPTS -Des.addre=ip1:port,ip2:port,ip3:port -Dspring.application.name=viid-collection"

接下来日志会自动汇聚到es的logback-*的索引中,根据日志每月建一个索引,可根据kabana进行汇聚展示

1.如果想通过日志做统计怎么办?

    Map map = new HashMap ();
    map.put("restApi", "java-user");
    map.put("aggCount", 1);
    logger.info(JSON.toJSONString(map));

此条json日志写到es的时候,会将map的key值扁平化成es的field,kibana可以根据字段做聚合统计,key值可随意设置,如果除aggCount以外的字段key及value一样,日志组件会根据aggCount聚合相加后输出到es,减少记录数量

你可能感兴趣的:(日志管理)