ELK企业级日志分析系统:从零搭建集中化日志平台

文章目录

  • ELK企业级日志分析系统:从零搭建集中化日志平台
    • 前言
    • 一、ELK概述
      • [1.1 三大组件定位](#1.1 三大组件定位)
      • [1.2 ELK工作原理](#1.2 ELK工作原理)
      • [1.3 Elasticsearch详解](#1.3 Elasticsearch详解)
      • [1.4 Logstash详解](#1.4 Logstash详解)
      • [1.5 Kibana详解](#1.5 Kibana详解)
    • 二、案例环境配置
      • [2.1 环境规划](#2.1 环境规划)
      • [2.2 准备主机名、域名、Java环境](#2.2 准备主机名、域名、Java环境)
    • 三、部署Elasticsearch集群
      • [3.1 安装Elasticsearch(node1)](#3.1 安装Elasticsearch(node1))
      • [3.2 安装Elasticsearch(node2)](#3.2 安装Elasticsearch(node2))
      • [3.3 集群健康检查](#3.3 集群健康检查)
      • [3.4 安装Elasticsearch-Head插件](#3.4 安装Elasticsearch-Head插件)
      • [3.5 创建索引测试](#3.5 创建索引测试)
    • 四、安装Logstash
      • [4.1 Apache主机准备](#4.1 Apache主机准备)
      • [4.2 安装Logstash](#4.2 安装Logstash)
      • [4.3 Logstash基础测试](#4.3 Logstash基础测试)
      • [4.4 配置Logstash采集系统日志](#4.4 配置Logstash采集系统日志)
      • [4.5 配置Logstash采集Apache日志](#4.5 配置Logstash采集Apache日志)
    • 五、安装Kibana
      • [5.1 安装Kibana(node1)](#5.1 安装Kibana(node1))
      • [5.2 配置索引模式](#5.2 配置索引模式)
      • [5.3 对接Apache日志索引](#5.3 对接Apache日志索引)
      • [5.4 创建可视化图表](#5.4 创建可视化图表)
      • [5.5 创建仪表盘](#5.5 创建仪表盘)
    • 六、本章小结

ELK企业级日志分析系统:从零搭建集中化日志平台

Elasticsearch、Logstash、Kibana三大组件实战,从架构原理到集群部署,一篇文章搞定日志集中管理

前言

日志分析是运维工程师解决系统故障、发现问题的主要手段。日志主要包括系统日志、应用程序日志和安全日志。

传统方式的痛点:

  • 日志分散存储在不同设备上,管理数十上百台服务器时,依次登录每台机器查阅日志既繁琐又低效
  • 集中化管理日志后,使用grep、awk、wc等命令检索统计,面对高要求的查询、排序和庞大的机器数量,依然力不从心

ELK平台的优势 :开源实时日志分析ELK平台能够完美解决上述问题,由Elasticsearch、Logstash和Kibana三个开源工具组成。

本文将系统讲解ELK的完整知识体系和部署实战,涵盖核心概念、集群搭建、Logstash数据采集、Kibana可视化,帮助你在生产环境中搭建一套完整的日志分析平台。

一、ELK概述

1.1 三大组件定位

组件 定位 核心作用
Elasticsearch 分布式搜索和分析引擎 存储处理后的日志,提供高速查询与复杂数据分析
Logstash 服务器端数据处理管道 收集、过滤日志,并存储供以后使用
Kibana 数据可视化平台(Web界面) 为Logstash和Elasticsearch提供友好的日志分析Web界面

一句话理解三者关系:

想象一下银行系统:

  • Logstash 就像各地的柜台职员和运钞车,负责从各个来源收集货币(数据),进行清点、辨别真伪、分类整理,然后运送到总行金库
  • Elasticsearch 就是银行的巨型、高科技、超高效的金库和归档系统,不仅安全存储所有货币,还建立精细索引,能在一瞬间从海量库存中精准找到任何一笔交易记录
  • Kibana 则是银行的数据分析和监控中心的大屏幕,通过图表、仪表盘、地图来可视化金融趋势、交易流水、风险状况

核心数据流:

text 复制代码
日志/数据源 → Logstash(收集、处理) → Elasticsearch(存储、索引、搜索) → Kibana(可视化、分析)

1.2 ELK工作原理

text 复制代码
APPServer集群 → Logstash Agent采集器 → Elasticsearch Cluster → Kibana Server → Browser

完整处理流程:

  1. Filebeat 将日志进行集中化管理(beats家族),替代Logstash采集端
  2. Logstash 将日志格式化
  3. Elasticsearch 对格式化后的数据进行索引和存储
  4. Kibana 前端数据的展示

1.3 Elasticsearch详解

核心角色:大脑和心脏

详细作用:

1. 分布式存储与高可用性

Elasticsearch是一个分布式数据库。数据会被分散存储在多台服务器(节点)上。这意味着它可以处理PB级别的海量数据,并且通过副本(replicas)机制,即使某个硬件发生故障,数据也不会丢失,服务也不会中断。

2. 近乎实时的搜索

数据从被写入到可以被搜索,只有毫秒级的延迟(约1秒内)。这对于需要实时监控和告警的场景至关重要。

3. 强大的全文搜索引擎

基于Apache Lucene构建,提供了强大和灵活的全文搜索功能:

  • 模糊搜索:即使拼写错误也能找到结果
  • 同义词处理:搜索"手机"也能找到包含"电话"的结果
  • 相关性评分:根据多种因素对搜索结果进行排序

4. 先进的索引技术

数据在存储时会被倒排索引(Inverted Index)。这是一种类似书籍最后"索引"页的技术(例如,提到"数据库"这个词的页面是10、23、45)。这使得查询速度极快,远优于传统的逐行扫描数据库。

5. 丰富的RESTful API

几乎所有操作,如数据的写入、查询、集群管理,都可以通过简单的HTTP REST API进行,非常容易与其他系统集成。

6. 强大的聚合分析能力

除了搜索,它还能执行复杂的聚合(Aggregation)操作,相当于SQL中的GROUP BY再加上数学运算。例如:

  • 统计过去5分钟内错误日志的数量并按应用分组
  • 计算网站访问量的95百分位延迟
  • 绘制用户地理位置的分布图

简单总结:Elasticsearch是一个专门为"快速查找"而设计的海量数据存储系统。它不擅长频繁更新事务(像MySQL那样),但极其擅长快速过滤、查询和分析巨量数据。

1.4 Logstash详解

核心角色:搬运工和预处理车间

Logstash的工作流程被划分为三个阶段:Input → Filter → Output。

1. Input(输入):数据收集

从各种来源实时地收集数据和日志,拥有大量的插件:

  • 文件(如*.log)
  • 系统日志(Syslog)
  • 消息队列(Kafka、Redis、RabbitMQ)
  • 数据库(MySQL、PostgreSQL)
  • 监控数据(Beats、JMX)
  • 网络协议(TCP/UDP、HTTP)

2. Filter(过滤):数据解析与enrichment

这是Logstash最强大的部分。原始日志(如一行文本)通常是非结构化的,Filter插件将其解析成结构化的、有意义的字段。

常见操作:

插件 作用
Grok 使用正则模式匹配解析复杂文本行,提取client_ip、timestamp、http_method等字段
Mutate 对字段修改:重命名、删除、替换、转换数据类型
Date 解析时间戳,设置为事件的正式@timestamp字段
GeoIP 根据IP地址查询对应国家、城市和经纬度信息
KV 解析key=value格式的数据

3. Output(输出):数据发送

将处理好的数据发送到指定目的地。最常用输出是Elasticsearch,也支持:

  • 其他数据库(MongoDB)
  • 消息队列(Kafka)
  • 文件系统
  • 监控系统(Nagios)
  • 电子邮件

小提示 :在需要轻量级数据收集的场景下,Elastic提供了Beats(如Filebeat、Metricbeat)来替代Logstash的Input功能,它们更轻量、更专一。

1.5 Kibana详解

核心角色:窗口和仪表盘

1. 数据探索与发现(Discover)

提供交互式界面,直接查询和浏览Elasticsearch中的原始数据。支持Lucene查询语法或KQL,添加过滤器动态缩小数据范围。

2. 可视化(Visualize)

提供丰富的可视化组件:

  • 柱状图、折线图、饼图
  • 指标看板(显示单个数字,如总错误数)
  • 数据表(聚合数据)
  • 坐标地图(与GeoIP结合显示数据点)
  • 热力图等

3. 仪表盘(Dashboard)

将多个可视化组件拖放组合成统一的综合仪表盘,用于构建实时监控大屏。

4. 管理和维护

Kibana提供Stack Management界面,用于:

  • 索引生命周期管理(ILM)
  • 用户和角色权限控制
  • 导入/导出保存的可视化和仪表盘配置

简单总结:Kibana是ELK Stack的"面子",将Elasticsearch中深奥的数据以人类易于理解的图形方式呈现出来,使得任何人都能轻松进行数据分析和决策。

二、案例环境配置

2.1 环境规划

配置和安装ELK日志分析系统,安装集群方式,2个Elasticsearch节点,并监控apache服务器日志。

主机 操作系统 主机名 IP地址 主要软件
服务器 CentOS 7.9 node1 192.168.108.41 Elasticsearch + Kibana
服务器 CentOS 7.9 node2 192.168.108.42 Elasticsearch
服务器 CentOS 7.9 apache 192.168.108.43 Logstash + Apache

2.2 准备主机名、域名、Java环境

node1(192.168.108.41):

bash 复制代码
# 配置域名解析
[root@node1 ~]# vim /etc/hosts
192.168.108.41 node1
192.168.108.42 node2

# 查看Java环境
[root@node1 ~]# java -version
openjdk version "1.8.0_262"
OpenJDK Runtime Environment (build 1.8.0_262-b10)
OpenJDK 64-Bit Server VM (build 25.262-b10, mixed mode)

node2(192.168.108.42):

bash 复制代码
# 配置域名解析
[root@node2 ~]# vim /etc/hosts
192.168.108.41 node1
192.168.108.42 node2

# 查看Java环境
[root@node2 ~]# java -version
openjdk version "1.8.0_262"

三、部署Elasticsearch集群

3.1 安装Elasticsearch(node1)

bash 复制代码
# 安装Elasticsearch rpm包
[root@node1 ~]# cd /opt
[root@node1 opt]# rpm -ivh elasticsearch-5.5.0.rpm

# 加载系统服务
[root@node1 ~]# systemctl daemon-reload
[root@node1 ~]# systemctl enable elasticsearch.service

# 备份主配置文件
[root@node1 ~]# cp /etc/elasticsearch/elasticsearch.yml /etc/elasticsearch/elasticsearch.yml.bak

# 修改主配置文件
[root@node1 ~]# vim /etc/elasticsearch/elasticsearch.yml
cluster.name: my-elk-cluster          # 集群名字
node.name: node1                       # 节点名字
path.data: /data/elk_data              # 数据存放路径
path.logs: /var/log/elasticsearch/     # 日志存放路径
bootstrap.memory_lock: false           # 不在启动时锁定内存
network.host: 0.0.0.0                  # 提供服务绑定的IP地址
http.port: 9200                        # 侦听端口
discovery.zen.ping.unicast.hosts: ["node1", "node2"]  # 集群发现通过单播实现

# 创建数据存放路径并授权
[root@node1 opt]# mkdir -p /data/elk_data
[root@node1 opt]# chown elasticsearch:elasticsearch /data/elk_data/

# 启动elasticsearch
[root@node1 elasticsearch]# systemctl start elasticsearch.service
[root@node1 elasticsearch]# netstat -antp | grep 9200
tcp6 0 0 :::9200 :::* LISTEN 64463/java

验证 :浏览器打开 http://192.168.108.41:9200,可以看到节点信息:

json 复制代码
{
  "name": "node1",
  "cluster_name": "my-elk-cluster",
  "version": {
    "number": "5.5.0",
    "lucene_version": "6.6.0"
  },
  "tagline": "You Know, for Search"
}

3.2 安装Elasticsearch(node2)

bash 复制代码
# 安装Elasticsearch rpm包
[root@node2 ~]# cd /opt
[root@node2 opt]# rpm -ivh elasticsearch-5.5.0.rpm

# 加载系统服务
[root@node2 ~]# systemctl daemon-reload
[root@node2 ~]# systemctl enable elasticsearch.service

# 修改主配置文件(node.name改为node2)
[root@node2 ~]# vim /etc/elasticsearch/elasticsearch.yml
cluster.name: my-elk-cluster
node.name: node2
path.data: /data/elk_data
path.logs: /var/log/elasticsearch/
bootstrap.memory_lock: false
network.host: 0.0.0.0
http.port: 9200
discovery.zen.ping.unicast.hosts: ["node1", "node2"]

# 创建数据存放路径并授权
[root@node2 ~]# mkdir -p /data/elk_data
[root@node2 ~]# chown elasticsearch:elasticsearch /data/elk_data/

# 启动elasticsearch
[root@node2 elasticsearch]# systemctl start elasticsearch.service
[root@node2 elasticsearch]# netstat -antp | grep 9200
tcp6 0 0 :::9200 :::* LISTEN 64463/java

验证 :浏览器打开 http://192.168.108.42:9200,可以看到node2节点信息。

3.3 集群健康检查

浏览器访问 http://192.168.108.41:9200/_cluster/health?pretty:

json 复制代码
{
  "cluster_name": "my-elk-cluster",
  "status": "green",              # green表示正常
  "timed_out": false,
  "number_of_nodes": 2,            # nodes为2
  "number_of_data_nodes": 2,
  "active_primary_shards": 0,
  "active_shards": 0,
  "relocating_shards": 0,
  "initializing_shards": 0,
  "unassigned_shards": 0,
  "delayed_unassigned_shards": 0,
  "number_of_pending_tasks": 0,
  "number_of_in_flight_fetch": 0,
  "task_max_waiting_in_queue_millis": 0,
  "active_shards_percent_as_number": 100.0
}

集群状态说明:

  • green:一切正常
  • yellow:所有主分片正常,但副本分片未分配
  • red:有主分片未分配,数据不完整

3.4 安装Elasticsearch-Head插件

Elasticsearch-Head是一个可视化管理工具,方便管理集群。

node1安装node.js(head插件的基础环境):

bash 复制代码
# 安装编译依赖
[root@node1 ~]# yum install gcc gcc-c++ make -y

# 编译安装node组件(耗时约10分钟)
[root@node1 ~]# cd /opt
[root@node1 opt]# tar xzvf node-v8.2.1.tar.gz
[root@node1 opt]# cd node-v8.2.1/
[root@node1 node-v8.2.1]# ./configure
[root@node1 node-v8.2.1]# make -j4
[root@node1 node-v8.2.1]# make install

安装phantomjs前端框架:

bash 复制代码
# 上传软件包到/usr/local/src/
[root@node1 node-v8.2.1]# cd /usr/local/src/
[root@node1 src]# tar xjvf phantomjs-2.1.1-linux-x86_64.tar.bz2
[root@node1 src]# cd phantomjs-2.1.1-linux-x86_64/bin
[root@node1 bin]# cp phantomjs /usr/local/bin

安装elasticsearch-head:

bash 复制代码
[root@node1 bin]# cd /usr/local/src/
[root@node1 src]# tar xzvf elasticsearch-head.tar.gz
[root@node1 src]# cd elasticsearch-head/
[root@node1 elasticsearch-head]# npm install

修改配置文件:

bash 复制代码
[root@node1 ~]# vim /etc/elasticsearch/elasticsearch.yml
# 末尾添加
http.cors.enabled: true
http.cors.allow-origin: "*"

[root@node1 ~]# systemctl restart elasticsearch

启动head服务器:

bash 复制代码
[root@node1 ~]# cd /usr/local/src/elasticsearch-head/
[root@node1 elasticsearch-head]# npm run start &
[1] 114729
Started connect web server on http://localhost:9100

[root@node1 elasticsearch-head]# netstat -lnput | grep 9100
tcp 0 0 0.0.0.0:9100 0.0.0.0:* LISTEN 114739/grunt

node2同样操作:安装node.js、phantomjs、elasticsearch-head,修改配置文件并启动。

验证结果:

浏览器打开 http://192.168.108.41:9100/,集群健康值显示"未连接"。在Elasticsearch后面的栏目输入 http://192.168.108.41:9200,点击连接,显示"集群健康值:green(0 of 0)"。

3.5 创建索引测试

bash 复制代码
[root@node1 ~]# curl -XPUT 'localhost:9200/index-demo/test/1?pretty&pretty' \
    -H 'Content-Type: application/json' \
    -d '{"user": "zhangsan", "msg": "hello world"}'

{
  "_index": "index-demo",
  "_type": "test",
  "_id": "1",
  "_version": 1,
  "result": "created",
  "_shards": {
    "total": 2,
    "successful": 2,
    "failed": 0
  },
  "created": true
}

在浏览器 http://192.168.108.41:9100/ 查看索引信息,可以看到索引默认被分片5个,并且有一个副本。node1和node2是平等关系,不是主从关系。

点击"数据浏览",可以看到存储的数据。

四、安装Logstash

4.1 Apache主机准备

bash 复制代码
# 关闭防火墙和SELinux
[root@apache ~]# systemctl stop firewalld
[root@apache ~]# setenforce 0

# 安装Apache服务
[root@apache ~]# yum -y install httpd
[root@apache ~]# systemctl start httpd

# 查看日志
[root@apache ~]# cd /var/log/httpd/
[root@apache httpd]# ls
access_log  error_log

# 安装Java环境
[root@apache ~]# java -version
openjdk version "1.8.0_262"

4.2 安装Logstash

bash 复制代码
# 安装logstash
[root@apache ~]# cd /opt
[root@apache opt]# rpm -ivh logstash-5.5.1.rpm

# 启动logstash
[root@apache opt]# systemctl start logstash.service
[root@apache opt]# systemctl enable logstash.service

# 建立logstash软连接
[root@apache opt]# ln -s /usr/share/logstash/bin/logstash /usr/local/bin/

4.3 Logstash基础测试

测试1:标准输入输出

bash 复制代码
[root@apache ~]# logstash -e 'input { stdin{} } output { stdout{} }'
# 输入 www.baidu.com
# 输出 2025-12-12T07:05:01.001Z apache www.baidu.com
# Ctrl+C退出

测试2:rubydebug详细输出

bash 复制代码
[root@apache ~]# logstash -e 'input { stdin{} } output { stdout{ codec=>rubydebug } }'
# 输入 www.baidu.com
# 输出结构化JSON:
{
  "@timestamp" => 2025-12-12T07:08:43.174Z,
  "@version" => "1",
  "host" => "apache",
  "message" => "www.baidu.com"
}

测试3:输出到Elasticsearch

bash 复制代码
[root@apache ~]# logstash -e 'input { stdin{} } output { elasticsearch { hosts=>["192.168.108.41:9200"] } }'
# 输入 www.baidu.com、www.360.cn、www.qq.com
# Ctrl+C退出

登录 http://192.168.108.41:9100/,多出 logstash-2025.12.12 索引(未命名,自动用时间后缀)。

4.4 配置Logstash采集系统日志

bash 复制代码
# 修改日志文件权限
[root@apache ~]# chmod o+r /var/log/messages

# 编辑Logstash配置文件
[root@apache ~]# vim /etc/logstash/conf.d/system.conf
input {
  file {
    path => "/var/log/messages"
    type => "system"
    start_position => "beginning"
  }
}

output {
  elasticsearch {
    hosts => ["192.168.108.41:9200"]
    index => "system-%{+YYYY.MM.dd}"
  }
}

# 重启logstash
[root@apache ~]# systemctl restart logstash.service

登录 http://192.168.108.41:9100/,多出 system-2025.12.12 索引。

4.5 配置Logstash采集Apache日志

bash 复制代码
[root@apache ~]# cd /etc/logstash/conf.d/
[root@apache conf.d]# vim apache_log.conf
input {
  file {
    path => "/var/log/httpd/access_log"
    type => "access"
    start_position => "beginning"
  }
  file {
    path => "/var/log/httpd/error_log"
    type => "error"
    start_position => "beginning"
  }
}

output {
  if [type] == "access" {
    elasticsearch {
      hosts => ["192.168.108.41:9200"]
      index => "apache_access-%{+YYYY.MM.dd}"
    }
  }
  if [type] == "error" {
    elasticsearch {
      hosts => ["192.168.108.41:9200"]
      index => "apache_error-%{+YYYY.MM.dd}"
    }
  }
}

访问 http://192.168.108.43 产生日志后,在 http://192.168.108.41:9100/ 可以看到 apache_access-2025.12.12 和 apache_error-2025.12.12 索引。

五、安装Kibana

5.1 安装Kibana(node1)

bash 复制代码
# 安装kibana
[root@node1 ~]# cd /usr/local/src/
[root@node1 src]# rpm -ivh kibana-5.5.1-x86_64.rpm

# 修改配置文件
[root@node1 src]# cd /etc/kibana/
[root@node1 kibana]# cp kibana.yml kibana.yml.bak
[root@node1 kibana]# vim kibana.yml
server.port: 5601                       # kibana打开的端口
server.host: "0.0.0.0"                  # kibana侦听的地址
elasticsearch.url: "http://192.168.108.41:9200"  # 和elasticsearch建立联系
kibana.index: ".kibana"                 # 在elasticsearch中添加.kibana索引

# 启动kibana
[root@node1 kibana]# systemctl start kibana.service
[root@node1 kibana]# systemctl enable kibana.service

5.2 配置索引模式

浏览器访问 http://192.168.108.41:5601:

  1. 首次登录创建索引名字:system-*(对接系统日志文件)
  2. 点击创建按钮
  3. 点击左上角 Discover 按钮,可以看到 system-* 信息
  4. 点击 host 旁边的 add,再加一个 message,右面图显示 Time、host、message 三个选项

5.3 对接Apache日志索引

在Kibana中:

  • 点击左下角 Management → Index Patterns → Create Index Pattern
  • 分别创建 apache_access-* 和 apache_error-* 的索引

5.4 创建可视化图表

创建柱状图(apache访问日志):

  1. 点击 Visualize → Create a Visualization
  2. 选择 Horizontal Bar
  3. 选择索引:apache_access-*
  4. 配置 Metrics:
    • Y-Axis:Aggregation 选择 Count
    • Custom Label:apache访问日志数
  5. 配置 Buckets:
    • X-Axis:Aggregation 选择 Date Histogram
    • Field:@timestamp
    • Interval:Auto
    • Custom Label:时间
  6. 点击 Apply changes 查看图表

创建饼图(system日志):

  1. 选择 Pie
  2. 选择索引:system-*
  3. 配置 Metrics:Count
  4. 配置 Buckets:Split Slices,Aggregation 选择 Date Histogram
  5. 点击 Apply changes 查看饼图

5.5 创建仪表盘

  1. 点击 Dashboard → Create New Dashboard
  2. 点击 Add 按钮,添加之前创建的可视化组件
  3. 保存仪表盘

六、本章小结

本文系统讲解了ELK日志分析平台的完整部署流程:

章节 核心内容
ELK概述 Elasticsearch、Logstash、Kibana三大组件定位
环境配置 主机名、域名解析、Java环境
Elasticsearch集群 2节点集群部署、健康检查、Head插件
Logstash 安装配置、系统日志采集、Apache日志采集
Kibana 安装配置、索引模式、可视化图表、仪表盘

核心结论:

  1. ELK是端到端的日志分析解决方案,收集、存储、可视化无缝衔接
  2. Elasticsearch擅长快速查找,不擅长频繁更新事务
  3. Logstash是数据流引擎,负责将杂乱数据"加工"成结构化数据
  4. Kibana是ELK的"面子",将深奥数据以图形方式呈现
  5. Beats是轻量级采集器,可替代Logstash的Input功能
  6. 集群健康状态:green(正常)、yellow(副本未分配)、red(主分片未分配)
  7. 索引默认5个分片+1个副本,node1和node2是平等关系

📌 核心命令速查

bash 复制代码
# Elasticsearch管理
systemctl start/stop/restart elasticsearch
curl -XGET 'localhost:9200/_cluster/health?pretty'
curl -XPUT 'localhost:9200/index-name/type/id?pretty' -d '{...}'

# Logstash管理
systemctl start/stop/restart logstash
logstash -e 'input { stdin{} } output { stdout{} }'
logstash -f /etc/logstash/conf.d/xxx.conf

# Kibana管理
systemctl start/stop/restart kibana

# Web访问
http://<node1>:9200              # Elasticsearch API
http://<node1>:9100              # elasticsearch-head
http://<node1>:5601              # Kibana Web界面

# 索引模式
system-*                         # 系统日志
apache_access-*                  # Apache访问日志
apache_error-*                   # Apache错误日志

📝 本文首发于个人技术博客,欢迎交流讨论。如有错误,恳请指正。

相关推荐
Sayai1 小时前
Elasticsearch Rollup 汇算索引实战:监控指标多粒度预聚合查询,附 painless 时间窗取每日最新值
大数据·运维·elasticsearch·搜索引擎·性能优化·监控
Z21-X1 小时前
云原生运维学习笔记:存储、网络与操作系统——云计算的底层基石
运维·笔记·学习·云原生
ha_lydms1 小时前
阿里云大数据组件
大数据·hadoop·阿里云·spark·云计算·数据处理·dataworks
邪修king4 小时前
Re:Linux 系统篇(三十五):进程间通信Chapter2:从匿名管道到进程池:Linux 进程间通信实战(深度理解「先描述,再组织」)
java·linux·运维
运维行者_5 小时前
应用性能监控怎么选?从调用链到用户体验的五个能力维度
运维·服务器·数据库·人工智能·mysql·性能优化·应用性能监控
考虑考虑9 小时前
nginx路由重写
运维·后端·自动化运维
Zenova EdgeOS11 小时前
Linux 内核日志 dmesg 进阶实战:从现场过滤到持久化闭环
linux·运维·服务器
郝亚军12 小时前
ec_private.pem的生成方法
linux·运维·服务器
NendoZen12 小时前
Arch Linux解决Grub无法SAVEDEFAULT问题(uki启动问题)
linux·运维·服务器