首页 > 其他分享 >ELK日志管理系统搭建文档

ELK日志管理系统搭建文档

时间:2024-10-26 09:48:11浏览次数:5  
标签:opt ELK app kibana kafka elasticsearch 10.10 文档 日志

ELK日志管理系统搭建文档

ELK 是Elasticsearch Logstash kibana 三个开源软件的组合来进行搭建.

IMG_256

jianyi1jianyijianyi1

建议架构:

节点

服务器

部署程序

备注

节点1 node-1

10.10.183.211

Elasticsearch、kibana、head

主节点

节点2 node-2

10.10.183.188

Elasticsearch、logstash+kafka

 

节点3 node-3

10.10.183.187

Elasticsearc、logstash+kafka

 

生产架构

1661152421192

节点

服务器

部署程序

备注

elk-es1

10.110.61.10

Elasticsearch、Kibina

双ES备份集群

elk-es2

10.110.61.11

Elasticsearch

双ES备份集群

elk-lkz1

10.110.61.12

logstash、kafka+zookeeper

Kafka+LogStash集群

elk-lkz2

10.110.61.13

logstash、kafka+zookeeper

Kafka+LogStash集群

elk-lkz3

10.110.61.14

logstash、kafka+zookeeper

Kafka+LogStash集群

安装Elasticsearch程序

Elasticsearch7.4 安装部署,三台均部署,服务器均需添加所有服务器的host。

初始化操作

操作系统使用centos7版本 Java版本是1.8.0_111

下载elasticsearch

wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-linux-x86_64.tar.gz

selinux和firewalld防火墙都要关闭掉

systemctl status/stop/disabled firewalld

2、安装命令

cd /opt/app

tar zvxf elasticsearch-linux-x86_64.tar.gz -C /opt/app

mv elasticsearch elasticsearch

3、创建elk用户

useradd elk

groupadd elk

useradd elk -g elk

passwd elk

elk

4、设置环境变量

创建java环境的目录

解压tar -zxvf jdk-8u131-linux-x64.tar.gz -C /opt/app/jdk/

su - elk

vim .bash_profile

export JAVA_HOME=/opt/app/jdk/jdk1.8.0_111

export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

export PATH=$JAVA_HOME/bin:$PATH

source .bash_profile

查看java版本: java –version

which java 看到的路径信息是 /opt/app/jdk/jdk1.8.0_111/bin/java

6、修改系统参数

vim /etc/sysctl.conf

#添加参数

vm.max_map_count=655360

vm.swappiness=0

重新载入配置:

sysctl -p

7、修改资源参数

vim /etc/security/limits.conf

#修改

* soft nofile 65536

* hard nofile 131072

设置用户资源参数

vim /etc/security/limits.d/20-nproc.conf

#添加

elk soft nproc 65536

8、修改相关的配置文件信息

切换至root

cd /opt/app/elasticsearch

rm config/elasticsearch.yml

修改配置 vim config/elasticsearch.yml的配置

#集群的名称,集群中所有节点的 cluster.name 的值必须要相同。

cluster.name: my-application

#集群中每个Elasticsearch的节点名称,不可以重复。

node.name: node-1

node.master: true #允许成为主节点

node.data: true #数据节点

#存放Elasticsearch索引文件数据和日志目录需要手动创建

path.data: /opt/app/elasticsearch/custom/data

path.logs: /opt/app/elasticsearch/custom/logs

#ES监听地址任意IP都可访问

network.host: 0.0.0.0

http.port: 9200

transport.tcp.port: 9300 #集群服务的端口

#配置所有Elasticsearch节点绑定的IP地址

discovery.seed_hosts: ["10.10.183.211", "10.10.183.228", "10.10.183.218"]

#配置那些节点可以有资格被选为主节点

cluster.initial_master_nodes: ["node-1", "node-2", "node-3"]

path.repo: ["/opt/app/elasticsearch/es_backup"] #备份目录

http.cors.enabled: true #允许head插件访问es

http.cors.allow-origin: "*"

#centos7以下系统配置

xpack.ml.enabled: false

bootstrap.memory_lock: false
bootstrap.system_call_filter: false

将配置复制到每个节点并修改node.name,

修改配置 vim config/jvm.options 修改内存的大小(内存的一半)

-Xms8g

-Xmx8g

scp -r opt/app/elasticsearch/ 10.10.183.228:/opt/app/elasticsearch/

scp -r opt/app/elasticsearch/ 10.10.183.218:/opt/app/elasticsearch/

创建数据和日志目录并修改目录权限

三台同时执行

mkdir -pv /opt/app/elasticsearch/custom/{data,logs}

mkdir -p /opt/app/elasticsearch/es_backup

chown -R elk:elk /opt/app/elasticsearch

9、启动

切换用户并后台启动ES:(elk用户修改了资源参数,如不切位elk用户启动会暴毙)

su - elk

启动: cd /opt/app/elasticsearch/

./bin/elasticsearch -d

访问:

1659943633129

10、查看ES状况

方法一、

curl 'http://[ES IP]:9200/_search?pretty'

方法二、

#网页访问:

http://[ES IP]:9200/_search?pretty

安装head程序(node-1)

  1. 安装head程序

介绍:head插件是ES的一个可视化插件,类似于navicat和mysql的关系。head插件是一个用来浏览、与ES数据进行交互的web前端展示插件,是一个用来监视ES状态的客户端插件。

由于head插件本质上还是一个nodejs的工程,因此需要安装node,使用npm来安装依赖的包。(npm其实是Node.js的包管理工具,可以理解为maven)

#下载 wget https://github.com/mobz/elasticsearch-head/archive/master.zip #解压 unzip master.zip

mv elasticsearch-head-master/ /opt/app

  1. 下载安装NodeJS

#下载解压

wget https://nodejs.org/dist/v8.11.4/node-v8.11.4-linux-x64.tar.xz

yum -y install xz

xz -d node-v8.11.4-linux-x64.tar.xz

tar xvf node-v8.11.4-linux-x64.tar -C /data/

#配置环境变量

vim /etc/profile

export NODE_HOME=/data/node-v8.11.4-linux-x64

export PATH=$NODE_HOME/bin:$PATH

#刷新配置

source /etc/profile

  1. 使用npm安装grunt

设置npm的代理镜像,由于国外的下载较慢,所以设置为国内的,进入到elasticsearch-head-master内执行以下命令

cd /data/elasticsearch-head-master

npm config set registry https://registry.npm.taobao.org

执行npm install,grunt是基于Node.js的项目构建工具,可以进行打包压缩,测试,执行等等的工作,head插件就是通过grunt启动

#安装

npm install -g grunt

npm install [email protected] --ignore-scripts

npm install #

版本确认: node -v

npm -v

grunt -version

由于head的代码直接执行有很多限制,比如无法跨机器访问。因此需要用户修改两个地方:

(4)修改Head源码

a、修改 elasticsearch-head-master/Gruntfile.js 文件,红色部分为添加的,原来没有,设置hostname属性,设置为0.0.0.0

connect: {

server: {

options: {

hostname: '0.0.0.0',

port: 9100,

base: '.',

keepalive: true

}

}

}

b、修改跨域请求配置

修改连接的状态如下,修改之后才能连上,这样head插件才可以访问elasticsearch。

修改文件为elasticsearch/config/elasticsearch.yml,添加如下两行

http.cors.enabled: true

http.cors.allow-origin: "*"

普通用户重启elasticsearch

(5)启动head

cd /opt/app/elasticsearch-head-master

nohup grunt server &

页面访问,默认端口9100,绿色为健康,黄色为警告,输入http://10.10.183.211:9200/连接查看集群

如果设置了密码访问方式为

http://10.10.183.211:9100/?auth_user=elastic&auth_password=123456

kibana安装

1、简介

Kibana是一个开源的分析和可视化平台,旨在与 Elasticsearch 合作。Kibana 提供搜索、查看和与存储在
Elasticsearch 索引中的数据进行交互的功能。开发者或运维人员可以轻松地执行高级数据分析,并在各种图表、表格和地图中可视化数据

2、下载解压

wget https://artifacts.elastic.co/downloads/kibana/kibana-7.4.0-linux-x86_64.tar.gz

tar zxvf kibana-7.4.0-linux-x86_64.tar.gz -C /opt/app

mv /opt/app/ kibana-7.4.0-linux-x86_64 /opt/app/kibana

3、 修改配置文件

cd /opt/app/kibana/config

rm kibana.yml

vim kibana.yml

server.port: 5601 #监听端口

server.host: "0.0.0.0" #监听IP

elasticsearch.hosts: ["http://10.10.183.211:9200","http://10.10.183.188:9200","http://10.10.183.187:9200"] #集群es地址

logging.dest: /opt/app/kibana/logs/kibana.log #日志路径

kibana.index: ".kibana" #默认索引

i18n.locale: "zh-CN"

mkdir /opt/app/kibana/logs/

touch /opt/app/kibana/logs/kibana.log

chown elk:elk -R /opt/app/kibana/

4、 启动Kibana

cd /opt/app/kibana/bin

nohup ./kibana &

访问:http://10.10.183.211:5601/app/kibana

配置SLL并启用X-pack

4.1、X-pack是什么?

X-Pack是Elastic Stack扩展功能,提供安全性,警报,监视,报告,机器学习和许多其他功能。 ES7.0+之后,默认情况下,当安装Elasticsearch时,会安装X-Pack,无需单独再安装。

自6.8以及7.1+版本之后,基础级安全永久免费。

基础版本安全功能列表如下:

IMG_256

X-Pack安全配置的核心三步骤:

  • 第一:设置:xpack.security.enabled: true。
  • 第二:生成TLS证书。
  • 第三:配置加密通信。
  • 第四:设置密码。

4.2、单节点ES X-pack安全如何配置?

4.2.1、安全配置

默认情况下,拥有安全免费许可证时,Elasticsearch安全功能被禁用。 要启用安全功能,需要设置xpack.security.enabled。启用安全功能后,必须使用TLS来确保节点之间的通信已加密。
在elasticsearch.yml中心新增配置如下:(其他节点相同配置)
在每个节点(包括node-1、node-2、node-3)的elasticsearch.yml配置文件中,新增:

1

xpack.security.enabled: true

 

xpack.security.transport.ssl.enabled: true

xpack.security.transport.ssl.verification_mode: certificate

xpack.security.transport.ssl.keystore.path: elastic-certificates.p12

xpack.security.transport.ssl.truststore.path: elastic-certificates.p12

#不添加无法使用head连接es,连接时在http:ip:port/?auth_user=elastic&auth_password=密码

http.cors.allow-headers: Content-Type,Accept,Authorization, x-requested-with

4.2.2、为节点间通信配置传输层安全性(TLS/SSL)

使用范围:配置传输层安全性适用于具有多个节点的集群以及需要外网通信访问的单节点ES。
使用环回地址127.0.0.1的单节点ES可以不用配置。

4.2.2.1、加密通信

Elasticsearch节点可能存储是机密的数据,而无处不在的网络攻击对这些数据垂涎欲滴。

网络攻击包括对数据的嗅探,对数据的操纵,以及试图获得对服务器的访问权限,进而访问存储数据的文件。

保护节点的安全有助于降低来自网络的攻击的风险。 

4.2.2.2、生成节点证书

1、证书实现加密通信的原理

TLS需要X.509证书(X.509 证书是一个数字证书,它使用 X.509 公有密钥基础设施标准将公有密钥与证书中包含的身份相关联。X.509 证书由一家名为证书颁发机构 (CA) 的可信实体颁发。CA 持有一个或多个名为 CA 证书的特殊证书,它使用这种证书来颁发 X.509 证书。只有证书颁发机构才有权访问 CA 证书)才能对与之通信的应用程序执行加密和身份验证。 为了使节点之间的通信真正安全,必须对证书进行验证。
在Elasticsearch集群中验证证书真实性的推荐方法是信任签署证书的证书颁发机构(CA)。这样,只需要使用由同一CA签名的证书,即可自动允许该节点加入集群。

  1. 借助elasticsearch-certutil命令生成证书

cd /opt/app/elasticsearch/bin

./elasticsearch-certutil ca -out /opt/app/elasticsearch/config/elastic-certificates.p12 -pass "" (密码可以为空)

chown -R elk:elk /opt/app/elasticsearch/config/elastic-certificates.p12

ll /opt/app/elasticsearch/config/

  1. 将证书拷贝到其他节点,放入 /etc/elasticsearch/config目录下

scp /opt/app/elasticsearch/config/elastic-certificates.p12 [email protected]:/opt/app/elasticsearch/config

scp /opt/app/elasticsearch/config/elastic-certificates.p12 [email protected]:/opt/app/elasticsearch/config

  1. 重启elasticsearch服务,这个时候发现登录用户还是不行,不要着急,这边还需要配置kibana使用用户名密码登录

4.2.3设置集群密码

因为你上面已经做了SSL通信,所以只需要在第一台es(master)上设置用户名和密码就可以了,其他的2台es就会是相同的用户名密码。注意:必须配置好xpack之后,才能设置密码。否则会报错。

cd /opt/app/elasticsearch/bin

./elasticsearch-setup-passwords interactive

#核心:
auto - 随机生成密码。
interactive - 自定义不同用户的密码。

修改密码:

curl -H "Content-Type:application/json" -XPOST -u elastic 'http://127.0.0.1:9200/_xpack/security/user/elastic/_password' -d '{ "password" : "123456" }'

配置kibana添加elasticsearch用户认证:

vim /opt/app/kibana/config/kibana.yml

添加:

elasticsearch.username: "elastic"

elasticsearch.password: "rGmWTpJM50z1ydbpFoqa"

随机生成记录的密码如下:

Changed password for user apm_system

PASSWORD apm_system = 5qA8azfdx99Clc2Gm9Sq

Changed password for user kibana

PASSWORD kibana = aIM2tSC1kqpdvmt9kYKO

Changed password for user logstash_system

PASSWORD logstash_system = ZGySXZE3WLMfdA1ZsI5z

Changed password for user beats_system

PASSWORD beats_system = DrdkY3f4Hteivpa9WxAp

Changed password for user remote_monitoring_user

PASSWORD remote_monitoring_user = PLc4vPz7VgniAYYqmMCN

Changed password for user elastic

PASSWORD elastic = rGmWTpJM50z1ydbpFoqa

安装kafka集群

下载解压

1)从官网获取装包,下载地址:https://kafka.apache.org/downloads

2)解压

tar -zxvf kafka_2.12-3.2.0.tgz -C /opt/app

mv /opt/app/kafka_2.12-3.2.0 /opt/app/kafka

配置Zookeeper

1)配置Zookeeper集群,修改配置文件

cd /opt/app/kafka/config

vim zookeeper.properties

配置如下:

dataDir=/opt/app/kafka/zookeeperDir

# the port at which the clients will connect

clientPort=2181

# disable the per-ip limit on the number of connections since this is a non-production config

maxClientCnxns=1024

tickTime=2000

initLimit=20

syncLimit=10

server.2=10.10.183.211:2888:3888

server.3=10.10.183.187:2888:3888

server.4=10.10.183.188:2888:3888

# 说明:

tickTime : 这个时间是作为 Zookeeper 服务器之间或客户端与服务器之间维持心跳的时间间隔,也就是每个 tickTime 时间就会发送一个心跳。

2888 端口:表示的是这个服务器与集群中的 Leader 服务器交换信息的端口;

3888 端口:表示的是万一集群中的 Leader 服务器挂了,需要一个端口来重新进行选举,选出一个新的 Leader ,而这个端口就是用来执行选举时服务器相互通信的端口。

2)创建目录

创建目录zookeeperDir

mkdir /opt/app/kafka/zookeeperDir

在zookeeperDir目录下创建myid文件,里面的内容为数字,用于标识主机,如果这个文件没有的话,zookeeper是没法启动的

echo 2 > /opt/app/kafka/zookeeperDir/myid

配置kafka

  1. 配置kafka集群,修改配置文件

cd /opt/app/kafka/config

vim server.properties

修改内容如下:

broker.id=2 # 唯一,填数字,本文中分别为 2 / 3 / 4

prot=9092 # 这个 broker 监听的端口

host.nome=10.10.183.187 # 唯一,填服务器 IP

zookeeper.connect=10.10.183.211:2181,10.10.183.188:2181,10.10.183.187:2181 # 这个就是 zookeeper 的 ip 及端口

num.partitions=16 # 需要配置较大 分片影响读写速度

log.dirs=/opt/app/kafka/kafka-logs # 数据目录也要单独配置磁盘较大的地方

log.retention.hours=168 # 时间按需求保留过期时间 避免磁盘满

拷贝至其它节点

将kafka整个目录拷贝至其它两个节点

chown umpay:umpay -R /opt/app/kafka/

scp -r /opt/app/kafka/ 10.10.183.187:/opt/app/

scp -r /opt/app/kafka/ 10.10.183.188:/opt/app/

修改其它节点(umpay用户)

注意这里除了以下两点不同外,都是相同的配置

  1. zookeeper配置

echo "x" >/opt/app/kafka/zookeeperDir/myid # “x”这里是3或者4,前面已经使用过2了

  1. kafka 的配置
  2. broker.id = x # “x”这里是3或者4,前面已经使用过2了(和myid一致)
  3. host.name = 10.10.183.187 # ip改为183.187或者183.188

启动zookeeper

1)启动

按照顺序来,kafka1 –> kafka2 –>kafka3

#zookeeper启动命令

cd /opt/app/kafka

./bin/zookeeper-server-start.sh ./config/zookeeper.properties &

./bin/zookeeper-server-stop.sh #zookeeper停止的命令

#无日志启动

nohup ./bin/zookeeper-server-start.sh ./config/zookeeper.properties >/dev/null 2>&1 &

后面两台执行相同操作,在启动过程当中会出现以下报错信息

WARN Cannot open channel to 4 at election address /10.10.183.187:3888 (org.apache.zookeeper.server.quorum.QuorumCnxManager)

java.net.ConnectException: Connection refused (Connection refused)

由于zookeeper集群在启动的时候,每个结点都试图去连接集群中的其它结点,先启动的肯定连不上后面还没启动的,所以上面日志前面部分的异常是可以忽略的。通过后面部分可以看到,集群在选出一个Leader后,最后稳定了。

其他节点也可能会出现类似的情况,属于正常。

  1. zookeeper服务检查

netstat -nlpt | grep -E "2181|2888|3888"

显示如下端口和信息,说明Zookeeper运行正常

如果哪台是Leader,那么它就拥有2888这个端口

启动kafka

依次按照顺序启动,kafka1 –> kafka2 –>kafka3

cd /opt/app/kafka

./bin/kafka-server-start.sh ./config/server.properties & #启动Kafka服务

./bin/kafka-server-stop.sh # 停止Kafka服务

#无日志启动

nohup ./bin/kafka-server-start.sh ./config/server.properties >/dev/null 2>&1 &

测试kafka集群

建立一个topic(在2888端口服务器)

./bin/kafka-topics.sh --create --bootstrap-server 10.10.183.187:9092 --replication-factor 3 --partitions 1 --topic test1test2test

# 注意:factor大小不能超过broker的个数

查看创建的topic

./bin/kafka-topics.sh --list --bootstrap-server 10.10.183.187:9092

ps -ef |grep /opt/app/kafka/bin/ |grep /logs/zookeeper-gc.log|wc -l

ps -ef |grep /opt/app/kafka/bin/ |grep kafkaServer-gc.log |wc -l

删除topic

bin/kafka-topics.sh --delete --bootstrap-server 10.110.61.12:9092 --topic lxt-ICE-ZH95566-133

(六)安装logstash

1、 下载解压

wget https://artifacts.elastic.co/downloads/logstash/logstash-7.4.0.tar.gz

tar zxf logstash-7.4.0.tar.gz -C /opt/app

mv /opt/app/logstash-7.4.0 /opt/app/logstash

2 、创建配置文件

cd /opt/app/logstash

mv config/logstash.yml config/logstash.yml.bak

vim config/logstash.yml

http.host: "10.10.183.188"

http.port: 9600

3、安装beat input插件

#进入bin目录

cd /opt/app/logstash/bin

#构建离线插件包:

./logstash-plugin prepare-offline-pack logstash-input-beats

#安装离线插件包:

../bin/logstash-plugin install file:///opt/app/logstash/logstash-offline-plugins-7.4.0.zip

#配置 5044 端口作为 Filebeat 的连接和创建 ES 索引。新建 logstash.conf 配置文件

cd /opt/app/logstash/

vim config/logstash.conf

kafka配置:

input{

kafka {

bootstrap_servers => "10.10.183.211:9092,10.10.183.187:9092,10.10.183.188:9092"

topics_pattern => "lxt-.*"

consumer_threads => 10 #设置消费kafka数据时开启的线程数,一个partition对应一个消费者消费,设置多了不影响,在kafka中一个进程对应一个线程

decorate_events => true #此属性会将当前topic,offset,group,partition等信息>也带到message中

codec => "json"

auto_offset_reset => "latest" #从最新的偏移量开始消费

}

}

filter {

ruby {

code => "event.timestamp.time.localtime"

}

mutate {

remove_field => ["beat"]

}

grok {

match => {"message" => "\[(?<time>\d+-\d+-\d+\s\d+:\d+:\d+)\] \[(?<level>\w+)\] (?<thread>[\w|-]+) (?<class>[\w|\.]+) (?<lineNum>\d+):(?<msg>.+)"

}

}

}

output {

elasticsearch {

hosts => [ "10.10.183.211:9200","10.10.183.188:9200","10.10.183.187:9200" ]

index => "%{[@metadata][topic]}-%{+YYYY.MM.dd}"

user => "elastic"

password => "123456"

}

stdout {

codec => "rubydebug"

}

}

#Logstash 使用该配置使用 ES 的索引,和 Filebeat 做的事情是一样的,不过拥有了额外的缓存以及强大丰富的插件库。

#启动 logstash

nohup ./bin/logstash -f config/logstash.conf >/dev/null 2>&1 &

(七)filebeat安装

1、配置host

需要配置kafka集群的host

vim /et c/hosts

10.110.61.12 elk-lkz1

10.110.61.13 elk-lkz2

10.110.61.14 elk-lkz3

2、下载安装(客户端应用服务器)

wget https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-7.4.0-linux-x86_64.tar.gz

tar zxf filebeat-7.4.0-linux-x86_64.tar.gz -C /opt/app/

mv /opt/app/filebeat-7.4.0-linux-x86_64 /opt/app/filebeat

3、 编辑filebeat.yml

cd /opt/app/filebeat

vim filebeat.yml

filebeat.inputs:

- input: log

enabled: true

paths:

- /DataBase/para/log/dat

- /DataBase/para/log/log

- /DataBase/para/log/rocketmqdata

- /DataBase/para/log/error

- /DataBase/para/log/mon

exclude_files: ['.gz$']

fields_under_root: true

fields:

serverip: ${SERVER_IP}

app_id: para

logtopic: paralog

multiline.pattern: '^[0-9]{4}-[0-9]{2}-[0-9]{2}\s(20|21|22|23|[0-1]\d):[0-5]\d:[0-5]\d\.'

multiline.negate: true

multiline.match: after

- input: log

enabled: true

paths:

- /DataBase/adapter/log/dat

- /DataBase/adapter/log/log

- /DataBase/adapter/log/rocketmqdata

- /DataBase/adapter/log/error

- /DataBase/adapter/log/mon

exclude_files: ['.gz$']

fields_under_root: true

fields:

serverip: ${SERVER_IP}

app_id: adapter

logtopic: adapterlog

multiline.pattern: '^[0-9]{4}-[0-9]{2}-[0-9]{2}\s(20|21|22|23|[0-1]\d):[0-5]\d:[0-5]\d\.'

multiline.negate: true

multiline.match: after

output.kafka:

enabled: true

hosts: ["10.10.183.211:9092","10.10.183.187:9092","10.10.183.188:9092"]

topic: 'lxt-%{[logtopic]}'

partition.round_robin:

reachable_only: false

required_acks: 1

compression: gzip

max_message_bytes: 1000000

3、 启动filebeat

#启动 nohup ./filebeat -c filebeat.yml >/dev/null 2>&1 &

  1. 访问kibana

创建索引

1660201252041

标签:opt,ELK,app,kibana,kafka,elasticsearch,10.10,文档,日志
From: https://www.cnblogs.com/xiaobaijin/p/18503671

相关文章

  • JAVA开源项目 基于Vue和SpringBoot在线文档管理系统
    本文项目编号T038,文末自助获取源码\color{red}{T038,文末自助获取源码}......
  • 基于SpringBoot+Vue的药店管理系统设计与实现毕设(文档+源码)
            目录一、项目介绍二、开发环境三、功能介绍四、核心代码五、效果图六、源码获取:        大家好呀,我是一个混迹在java圈的码农。今天要和大家分享的是一款基于SpringBoot+Vue的药店管理系统,项目源码请点击文章末尾联系我哦~目前有各类成品毕......
  • 基于SpringBoot+Vue的校园二手书交易平台管理系统设计与实现毕设(文档+源码)
           目录一、项目介绍二、开发环境三、功能介绍四、核心代码五、效果图六、源码获取:        大家好呀,我是一个混迹在java圈的码农。今天要和大家分享的是一款基于SpringBoot+Vue的校园二手书交易平台管理系统,项目源码请点击文章末尾联系我哦~目前有......
  • 使用 NLP 和模式匹配检测、评估和编辑日志中的个人身份信息 - 第 2 部分
    作者:来自Elastic StephenBrown如何使用Elasticsearch、NLP和模式匹配检测、评估和编辑日志中的PII。简介:分布式系统中高熵日志的普遍存在大大增加了PII(PersonallyIdentifiableInformation-个人身份信息)渗入我们日志的风险,这可能导致安全和合规性问题。这篇由两......
  • 什么是代码文档
    代码文档是在软件开发过程中,对软件源代码的描述和解释,包括了注释、API说明、设计文档、用户手册等内容,旨在帮助开发人员理解和维护代码,同时也方便用户使用和学习软件。一、代码文档的概念代码文档是软件开发工作的重要组成部分,它主要用于记录软件源代码的设计理念、实现逻辑......
  • 一文教会你如何使用 iLogtail SPL 处理日志
    作者:阿柄随着流式处理的发展,出现了越来越多的工具和语言,使得数据处理变得更加高效、灵活和易用。在此背景下,SLS推出了SPL(SLSProcessingLanguage)语法,以此统一查询、端上处理、数据加工等的语法,保证了数据处理的灵活性。iLogtail作为日志、时序数据采集器,在2.0版本中,全面......
  • 麒麟操作系统中的系统日志如何帮助你了解电脑运行情况
    ​麒麟操作系统中的系统日志是了解电脑运行状况的关键工具:1.识别并定位系统问题;2.监测系统运行趋势;3.审计系统安全状况;4.优化电脑性能;5.理解应用程序行为。了解日志的基础知识是向高效问题解决迈出的第一步。1.识别并定位系统问题麒麟操作系统的日志记录包含了系统启动、运行......
  • 技术文档:基于微信朋友圈的自动点赞工具
    ​概述该工具是一款基于Windows平台的自动化操作工具,通过模拟人工点击,实现微信朋友圈的自动点赞。主要适用于需频繁维护客户关系的用户群体,避免手动重复操作,提高用户的互动效率。官方下载地址:aisisoft.top一、开发背景与技术原理在客户关系管理中,朋友圈互动是关键环节之......
  • 基于SpringBoot+Vue的学前教育资源共享平台系统网站(源码+LW+调试文档+讲解)
    背景及意义这个题目是关于基于SpringBoot和Vue的学前教育资源共享平台系统网站。该平台旨在为学前教育领域提供一个便捷的资源共享和交流的场所。SpringBoot作为后端框架,能够确保系统的高效运行和稳定性。它可以处理大量的用户请求,管理资源的上传、下载和存储等操作......
  • 基于SpringBoot+Vue的学生成长系统(源码+LW+调试文档+讲解)
    背景及意义这个题目是关于基于SpringBoot和Vue的学生成长系统。该系统旨在全面记录和促进学生的成长发展。SpringBoot作为后端技术,提供了稳定可靠的服务支持和高效的数据处理能力。它可以管理学生的各种信息,如学习成绩、课外活动参与情况、品德表现等。Vue则用于构......