当前位置: 首页 > news >正文

英文视频网站如何做外链用什么网站做头像

英文视频网站如何做外链,用什么网站做头像,制作网站付费软件,策划是做什么的ElasticSeach(存储日志信息) Logstash(搬运工) Kibana 连接ElasticSeach图形化界面查询日志 ELK采集日志的原理: 在每个服务器上安装LogstashLogstash需要配置固定读取某个日志文件Logstash将日志文件格式化为json的…

ElasticSeach(存储日志信息)
Logstash(搬运工)
Kibana 连接ElasticSeach图形化界面查询日志

ELK采集日志的原理:

  1. 在每个服务器上安装Logstash
  2. Logstash需要配置固定读取某个日志文件
  3. Logstash将日志文件格式化为json的格式输出到es中
  4. 开发者使用Kibana连接到ElasticSeach 查询存储日志内容

为什么将日志存储在ElasticSeach
其底层使用到倒排索引 搜索效率高

为什么需要使用elk+kafka
如果单纯的使用elk的话,服务器节点扩容时需要在每个服务器上安装 Logstash 步骤十分冗余。
Logstash读取本地日志文件,可能会对本地的磁盘io性能会有一定影响。

elk+kafka采集日志的原理:

  1. springboot项目基于aop的方式拦截系统中日志
  2. 将该日志投递到 kafka 中,该过程一定要采用异步的形式
  3. Logstash 订阅 kafka 的主题获取日志消息内容
  4. 在将日志消息内容输出到es中存放
  5. 开发者使用Kibana连接到ElasticSeach 查询存储日志内容

logstash

Logstash是一个开源数据收集引擎,具有实时管道功能。
Logstash可以动态地将来自不同数据源的数据统一起来,并将数据标准化到你所选择的目的地

进入 logstash 目录,执行命令安装输入输出插件

bin/logstash-plugin install logstash-input-kafka
bin/logstash-plugin install logstash-output-elasticsearch

添加配置文件:logstash/config/kafka.conf

# 输入
input {kafka {bootstrap_servers => "192.168.10.110:9091"topics => "主题名称"}
}
# 过滤排除一些不需要写入的日志
filter {#Only matched data are send to output.
}
# 输出
output {elasticsearch {action => "index"          #The operation on EShosts  => "192.168.10.110:9200"   #ElasticSearch host, can be array.index  => "索引名称"         #The index to write data to.}
}

启动logstash:./logstash -f …/config/kafka.conf

Aop拦截日志

@Aspect
@Component
public class AopLogAspect {@Value("${server.port}")private String serverPort;@Autowiredprivate KafkaTemplate<String, Object> kafkaTemplate;@Pointcut("execution(* com.example.service.*.*(..))")private void serviceAspect() {}@Autowiredprivate LogContainer logContainer;// 异常通知@AfterThrowing(pointcut = "serviceAspect()", throwing = "e")public void serviceAspect(JoinPoint point, Exception e) {ServletRequestAttributes requestAttributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();HttpServletRequest request = requestAttributes.getRequest();JSONObject jsonObject = new JSONObject();SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");// 设置日期格式jsonObject.put("request_time", df.format(new Date()));jsonObject.put("request_url", request.getRequestURL().toString());jsonObject.put("request_method", request.getMethod());jsonObject.put("signature", point.getSignature());jsonObject.put("request_args", Arrays.toString(point.getArgs()));jsonObject.put("error", e.toString());// IP地址信息jsonObject.put("ip_addres", getIpAddr(request) + ":" + serverPort);JSONObject requestJsonObject = new JSONObject();requestJsonObject.put("request", jsonObject);// 将日志信息投递到kafka中String log = requestJsonObject.toJSONString();logContainer.put(log);}
}
使用队列+线程实现异步
@Component
public class LogContainer {private static BlockingDeque<String> logDeque = new LinkedBlockingDeque<>();@Autowiredprivate KafkaTemplate<String, Object> kafkaTemplate;public LogContainer() {new LogThreadKafka().start();}// 存入日志public void put(String log) {logDeque.offer(log);}// 只需要创建一次线程class LogThreadKafka extends Thread {@Overridepublic void run() {while (true) {String log = logDeque.poll();if (!StringUtils.isEmpty(log)) {// 将消息投递kafka中kafkaTemplate.send("xxx-log", log);}}}}
}
http://www.sczhlp.com/news/92973/

相关文章:

  • 怎么找网站的后台地址学做莱网站
  • nasm 的 Hello, world 在 Windows 10 x64 上
  • 东营网站seo石家庄做网站汉狮网络
  • 怎么做网站搜索引擎优化wordpress电影资源网站
  • 盘龙区网站建设外包百度指数大数据
  • 国内做游戏破解的网站怎么找到域名做的那个网站
  • 深色网站免费行情软网站
  • 烟台理工学校网站电子商务网站模板
  • 无代码快速搭建网站小程序网站建设制作
  • 免费招聘网站有哪些平台ps设计教程网
  • 做淘宝主要看哪些网站有哪些怎样做58网站
  • 怎么搭建一个自己的网站国家企业信息网官网
  • 上海网站公司电话苏州网站建设制作服务商
  • 实用指南:52.前端的后端模式:为每个客户端定制专属「管家服务」
  • 哪个网站做黑色星期五订酒店活动企业年金的好处和坏处
  • 手机端网站怎么制作云主机 网站吗
  • 广东建设安全协会网站怎么制作小程序卖东西
  • 建设银行网站在哪设置查询密码app展示网站模板免费下载
  • Agilent 34401A台式万用表远程读表
  • Java 在大数据处理与人工智能中的应用
  • 马克思,本就是一位独立研究者
  • 互联网设计是什么百度seo优化排名软件
  • 产品二期,从GPT5规划开始
  • 网站建设服务器介绍图片北京建设网站的公司
  • 网站建设暨检务公开自查报告access2003做网站
  • 不买服务器做网站诚信建设网站的作用
  • 寻求一个专业网站制作公司芜湖网页美工设计
  • 网站目录文件夹软件定制开发招标
  • 中国互联网协会官方网站做购物网站需要学哪些
  • 网站空间域名每年都得交吗建设银行成都官网招聘网站