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

天津网站建设渠道哈尔滨seo优化

天津网站建设渠道,哈尔滨seo优化,微信上做网站,wordpress 页面下文章文章目录1.1为什么需要监控项目日志1.2ELK日志监控系统介绍1.3ELK的工作流程1.4ELK环境搭建1.4.1Elasticsearch的安装1.4.2Kibana的安装1.4.3Logstash的安装1.4.4数据源配置1.4.5日志监测测试1.4.6日志数据可视化展示1.1为什么需要监控项目日志 项目日志是记录项目运行过程中产…

文章目录

    • 1.1为什么需要监控项目日志
    • 1.2ELK日志监控系统介绍
    • 1.3ELK的工作流程
    • 1.4ELK环境搭建
      • 1.4.1Elasticsearch的安装
      • 1.4.2Kibana的安装
      • 1.4.3Logstash的安装
      • 1.4.4数据源配置
      • 1.4.5日志监测测试
      • 1.4.6日志数据可视化展示

1.1为什么需要监控项目日志

项目日志是记录项目运行过程中产生的事件和信息的重要工具,对于项目管理来说,监控项目日志的重要性体现在以下几个方面:

  1. 提升项目管理效率:监控项目日志可以及时发现和解决问题,从而避免问题影响到项目的进度和质量,减少管理成本。
  2. 保证项目质量:通过监控项目日志,可以实时了解项目进展情况,及时调整和优化项目进度和工作流程,提升项目质量。
  3. 维护项目安全:监控项目日志可以发现并防范项目安全问题,及时处理安全事件,保护项目的安全性和稳定性。
  4. 支持决策制定:通过对项目日志的分析和研究,可以及时发现项目中存在的问题和障碍,以便更好地制定决策并调整项目计划。

总之,监控项目日志是项目管理中一个重要的环节,在保证项目质量、提高项目效率、维护项目安全以及制定决策方面都有着关键的作用。

1.2ELK日志监控系统介绍

ELK是一个流行的日志管理和监控解决方案,它由三个主要组件组成:Elasticsearch、Logstash和Kibana。这三款组件都是elastic旗下的产品。官网地址:欢迎来到 Elastic — Elasticsearch 和 Kibana 的开发者 | Elastic

  • Elasticsearch是一个分布式搜索和分析引擎,将日志数据存储在分布式索引中,支持快速搜索、聚合和分析。Elasticsearch还提供了高可用性和可扩展性,支持水平扩展和负载平衡。

image-20230322175251493

  • Logstash是一个日志数据采集和转换工具,用于收集来自各种来源的数据,并将其转换为可用于Elasticsearch的标准格式。Logstash能够处理多种协议和格式,包括日志文件、数据库、平面文件等数据源,提供针对数据的过滤、清洗和变换操作。

image-20230322175224228

  • Kibana是可视化和展示工具,用于查询、分析和可视化存储在Elasticsearch中的数据。Kibana的用户界面简单直观,支持定制仪表板和图表,以及可视化分析和查询数据。

image-20230322175337068

总体来说,ELK是一个高度可扩展、快速、灵活的日志管理和监控系统,它使得搜集、处理、展现和掌握大量的日志数据变得简单化和直观化,方便用户对计算机系统中的问题进行监控和排错。

1.3ELK的工作流程

在这里插入图片描述

  1. 数据源产生日志,将日志传输到Logstash

  2. Logstash对日志进行过滤、解析和转换,将其标准化(通常为JSON数据格式)并发送给Elasticsearch进行存储。

  3. Elasticsearch将数据存储在分布式索引中,支持快速搜索、聚合和分析。

  4. Kibana查询和分析分布式索引中的数据,并通过仪表板和可视化图表展示数据结果。

1.4ELK环境搭建

1.4.1Elasticsearch的安装

  1. 拉取镜像
docker pull elasticsearch:7.17.3
  1. 创建挂载目录
mkdir -p /mydata/elasticsearch/config
mkdir -p /mydata/elasticsearch/data
// 任何远程机器都能访问es
echo "http.host: 0.0.0.0" >> /mydata/elasticsearch/config/elasticsearch.yml
chmod -R 777 /mydata/elasticsearch/ 改变文件权限

image-20230110165356531

  1. 创建elasticsearch容器实例
docker run -d -p 9200:9200 -p 9300:9300 \
--restart=always \
-e "discovery.type=single-node" \
-e ES_JAVA_OPTS="-Xms64m -Xmx512m" \
-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 \
--name elasticsearch elasticsearch:7.4.2

命令解释:

-e “discovery.type=single-node”:使es单节点运行

-e ES_JAVA_OPTS=“-Xms64m -Xmx512m”:设置es占用的内存

  1. 设置es密码
  2. 进入到elasticsearch.yml的挂载目录,添加以下内容
http.cors.enabled: true
http.cors.allow-origin: "*"
http.cors.allow-headers: Authorization
xpack.security.enabled: true
xpack.security.transport.ssl.enabled: true
  1. 重启es容器并进入es容器

  2. 进入容器后执行以下命令

./bin/elasticsearch-setup-passwords interactive

​ 依次输入密码

  1. 重启es容器

  2. 开放对应的端口(如果是与服务器同时也要开启安全组规则

firewall-cmd --zone=public --add-port=9200/tcp --permanent
systemctl restart firewalld.service
firewall-cmd --zone=public --query-port=9200/tcp
  1. 访问9200端口测试

1.4.2Kibana的安装

  1. 创建挂载目录和文件
mkdir -p /mydata/kibana
cd /mydata/kibana
touch kibana.yml
  1. 配置配置文件
server.port: 5601 
#主机地址,可以是ip,主机名
server.host: 0.0.0.0
elasticsearch.hosts: ["http://elasticsearch的ip地址:9200"]
xpack.monitoring.ui.container.elasticsearch.enabled: true
elasticsearch.username: "elastic"
elasticsearch.password: "es密码"
#汉化
i18n.locale: "zh-CN"
  1. 创建kibana容器实例
docker run -d -p 5601:5601 \
--restart=always \
-v /mydata/kibana/kibana.yml:/usr/share/kibana/config/kibana.yml \
--name kibana \
kibana:7.4.2
  1. 开放对应端口(如果是与服务器同时也要开启安全组规则
firewall-cmd --zone=public --add-port=5601/tcp --permanent
systemctl restart firewalld.service
  1. 访问对应的5601端口

image-20230323110843994

1.4.3Logstash的安装

  1. 拉取Logstash镜像
docker pull logstash:7.17.3
  1. /mydata/logstash目录下创建logstash的配置文件logstash.conf,写入以下配置:其中index是索引的名称,我们使用“xha-”前缀加时间来生成每天的索引。
input {stdin { } tcp {mode => "server"host => "0.0.0.0"port => 5044codec => json_lines}
}output {stdout {codec => rubydebug}elasticsearch {hosts => "elasticsearch的ip地址:9200"index => "xha-%{+YYYY.MM.dd}"user => "elastic"password => "z@jTs87!"}
}
  1. 启动容器
docker run -d --name logstash -p 5043:5043 -p 5044:5044  \
-e ES_JAVA_OPTS="-Xms125m -Xmx512m" \ 
--privileged=true \
--restart=always \
-v /mydata/logstash/logstash.yml:/usr/share/logstash/pipeline/logstash.yml \
logstash:7.17.3	
  1. 进入logstash容器,安装json_lines所需的插件
docker exec -it logstash /bin/bash 
/usr/share/logstash/bin/logstash-plugin install logstash-codec-json_lines 
  1. 重启logstash

1.4.4数据源配置

这里采用分布式微服务项目测试,分有多个模块,其中含有common模块,common模块作为公共模块在其他模块都有引入。

  1. common模块中添加logstashlogback依赖
        <dependency><groupId>ch.qos.logback</groupId><artifactId>logback-classic</artifactId></dependency><dependency><groupId>net.logstash.logback</groupId><artifactId>logstash-logback-encoder</artifactId><version>7.3</version></dependency>
  1. common模块的resources目录下创建logback-spring.xml文件,写入以下配置
<?xml version="1.0" encoding="UTF-8"?>
<configuration scan="true" scanPeriod="60 seconds" debug="false"><include resource="org/springframework/boot/logging/logback/base.xml"/><include resource="org/springframework/boot/logging/logback/defaults.xml"/><!--获取springboot的yml配置信息--><springProperty scope="context" name="applicationName" source="spring.application.name" defaultValue="default"/><springProperty scope="context" name="LOGSTASH_HOST" source="logstash.host" defaultValue="default"/><springProperty scope="context" name="LOGSTASH_PORT" source="logstash.port" defaultValue="default"/><springProperty scope="context" name="LOG_HOME" source="logstash.path" defaultValue="/mydata/logstash"/><!--输出到控制台--><appender name="console" class="ch.qos.logback.core.ConsoleAppender"><filter class="ch.qos.logback.classic.filter.ThresholdFilter"><level>INFO</level></filter><withJansi>false</withJansi><encoder><!--<pattern>%d %p (%file:%line)- %m%n</pattern>--><!--格式化输出:%d:表示日期    %thread:表示线程名     %-5level:级别从左显示5个字符宽度  %msg:日志消x`x`息    %n:是换行符--><pattern>%d{yyyy-MM-dd HH:mm:ss} %highlight(%-5level) -- %boldMagenta([%thread]) %boldCyan(%logger) :%msg%n</pattern><charset>UTF-8</charset></encoder></appender><springProfile name="dev,test"><!--  日志发送至logstash  --><appender name="LOGSTASH" class="net.logstash.logback.appender.LogstashTcpSocketAppender"><destination>${LOGSTASH_HOST:- }:${LOGSTASH_PORT:- }</destination><!-- encoder is required --><encoder charset="UTF-8" class="net.logstash.logback.encoder.LogstashEncoder"><!-- 在elasticsearch的index中追加applicationName字段  --><customFields>{"applicationName":"${applicationName}"}</customFields></encoder></appender></springProfile><!-- 按照每天生成日志文件 --><appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"><rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"><!--日志文件输出的文件名--><FileNamePattern>${LOG_HOME}/TestWeb.log.%d{yyyy-MM-dd}.log</FileNamePattern><!--日志文件保留天数--><MaxHistory>30</MaxHistory></rollingPolicy><encoder charset="UTF-8" class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"><!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符--><pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern></encoder><!--日志文件最大的大小--><triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy"><MaxFileSize>10MB</MaxFileSize></triggeringPolicy></appender><!-- 日志输出级别 --><!-- 线上环境,日志配置 --><springProfile name="prod"><root level="INFO"><appender-ref ref="LOGSTASH"/></root></springProfile><!-- 本地、开发环境,日志配置 可以写logback支持的所有节点 --><springProfile name="dev,test"><root level="INFO"><appender-ref ref="LOGSTASH"/><appender-ref ref="console"/></root></springProfile></configuration>

image-20230323125010482

  1. 对于以下配置信息,在各个模块添加application.yaml配置文件,写入logstash配置信息

image-20230323132121258

logstash:host: logstash服务ip地址port: 5043# 定义日志文件的存储地址 勿在 LogBack 的配置中使用相对路径path: /mydata/logstash

1.4.5日志监测测试

  1. 启动一个模块,控制台打印日志信息

image-20230323132810079

  1. 查看索引管理,以天为单位生成索引:

image-20230323133308149

image-20230323133251698

  1. 查看kibana当中的Discover,查看命中记录

image-20230323133016149

  1. 查看命中记录的详细信息

image-20230323143103844

1.4.6日志数据可视化展示

  1. 创建新的仪表板

image-20230327150100802

  1. 在仪表板中添加新的可视化

image-20230327150311417

  1. 点击创建新的可视化
image-20230327150346475
  1. 选择创建的可视化类型,这里选择饼图
image-20230327150527240
  1. 选择索引

image-20230327150556275

  1. 添加切片

image-20230327150636117

  1. 选择词聚合

image-20230327150709868

  1. 再选择字段,点击运行

image-20230327150806907

  1. 可视化生成完成

image-20230327150905798

  1. 保存并添加到仪表板

image-20230327150956994

image-20230327151016036

  1. 日志等级信息展示

选择可选字段进行过滤

image-20230327153916312

image-20230327153938453

保存为Search

image-20230327154003510

​ 在仪表板中进行添加

image-20230327155132051

http://www.dinnco.com/news/21580.html

相关文章:

  • 外贸设计网站建设网站seo关键词
  • 营销做网站公司平台推广方案
  • 荆州网站建设兰州seo实战优化
  • 基于web的个人网站设计与实现百度推广退款投诉
  • 专业建站公司报价提高网站排名软件
  • 网站建设案例百度云网络营销工具分析
  • 专业的营销型网站制作网络销售怎么聊客户
  • 做h5的图片网站成功的网络营销案例
  • 海淀深圳网站建设公司网站关键词优化培训
  • 平面设计官方网站广州seo公司
  • 织梦做的相亲网站seo整站优化多少钱
  • 建网站前期设计用那软件武汉软件测试培训机构排名
  • 学做软件的网站有哪些it培训班真的有用吗
  • wordpress皮肤下载站广告设计需要学什么
  • 厦门网站建设策划关键词竞价排名是什么意思
  • 个旧网站建设百度高级搜索
  • 新媒体做图网站百度网址收录提交入口
  • 什么是响应式网站公司网站页面设计
  • 南平公司做网站seo管理
  • 校园网站建设方案书seo外链发布软件
  • 宣传网站建设的意义seo主要做哪些工作
  • magento网站搬家太原百度推广开户
  • .net做网站企业文化设计
  • wordpress 会员 按月seo关键词是什么
  • 购物网站建设情况汇报免费开网店免费供货
  • 郑州网站关键词排名技术代理网络推广怎么做方案
  • 虎丘网站建设百度医生
  • 有关网站建设的外文文献seo3的空间构型
  • python网站开发 django百度一下就一个
  • 武汉网站制作开发站长之家seo