惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

博客园 - 叶小钗
V
Visual Studio Blog
Martin Fowler
Martin Fowler
The GitHub Blog
The GitHub Blog
T
The Blog of Author Tim Ferriss
博客园 - 三生石上(FineUI控件)
罗磊的独立博客
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
人人都是产品经理
人人都是产品经理
A
About on SuperTechFans
J
Java Code Geeks
博客园_首页
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
F
Full Disclosure
P
Proofpoint News Feed
The Register - Security
The Register - Security
D
Darknet – Hacking Tools, Hacker News & Cyber Security
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Last Week in AI
Last Week in AI
aimingoo的专栏
aimingoo的专栏
有赞技术团队
有赞技术团队
P
Privacy International News Feed
美团技术团队
W
WeLiveSecurity
H
Hackread – Cybersecurity News, Data Breaches, AI and More
S
Schneier on Security
Schneier on Security
Schneier on Security
Engineering at Meta
Engineering at Meta
Cyberwarzone
Cyberwarzone
Microsoft Security Blog
Microsoft Security Blog
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
P
Proofpoint News Feed
MyScale Blog
MyScale Blog
G
GRAHAM CLULEY
H
Heimdal Security Blog
Recent Commits to openclaw:main
Recent Commits to openclaw:main
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
Attack and Defense Labs
Attack and Defense Labs
博客园 - 司徒正美
P
Privacy & Cybersecurity Law Blog
D
DataBreaches.Net
F
Fortinet All Blogs
博客园 - 【当耐特】
雷峰网
雷峰网
腾讯CDC
Hacker News - Newest:
Hacker News - Newest: "LLM"
Webroot Blog
Webroot Blog
www.infosecurity-magazine.com
www.infosecurity-magazine.com
MongoDB | Blog
MongoDB | Blog

回忆中的明天

自己写一个Web 端的MiMo TTS Chat,方便实现文本转语音,API限免中 · 回忆中的明天 NVIDIA NIM 开发平台,提供超多免费大模型 · 回忆中的明天 iTranslation 简单快捷的翻译软件,支持数十种语言互译 · 回忆中的明天 国内外免费大模型平台,支持 API 调用的超多免费大模型 · 回忆中的明天 SiliconFlow 硅基流动一站式大模型云服务平台,提供超多免费大模型 · 回忆中的明天 Xiaomi MiMo 小米大模型团队开发的大语言模型,开源限免中…… · 回忆中的明天 BigModel 智谱大模型开放平台,提供超多自研免费大模型 · 回忆中的明天 OpenRouter 模型聚合平台,提供超多免费模型使用 · 回忆中的明天 iReader 英语点读学习系统,译林小学英语在线点读 · 回忆中的明天 ZenMux 企业级大模型聚合平台,提供免费试用模型 Gemini 3 Pro · 回忆中的明天 英语学习,新概念英语在线点读、全文朗读学习系统 · 回忆中的明天 iGSTT(Gemini STT) 开源免费的语音转文本(STT)的命令行工具 · 回忆中的明天 Python 项目打包,并上传到 PyPI,分享项目 · 回忆中的明天 iGTTS(Gemini TTS) 开源免费的文本转语音(TTS)的命令行工具 · 回忆中的明天 iChat(AI Chat) 智能聊天工具,支持 MiMo、DeepSeek、Gemini、Grok、OpenAI和自定义AI · 回忆中的明天 NanoPi R2S 安装 Debian 固件系统,旁路由网络代理内网转发,决解直连网络卡顿 nftables · 回忆中的明天 NanoPi R2S Armbian Linux 旁路由网络代理内网转发,决解直连网络卡顿 iptables · 回忆中的明天 sing-box rule-set · 回忆中的明天 Xcode 最全最实用的快捷键列表 · 回忆中的明天 SwiftUI 中的@State、@Bindable和@Binding · 回忆中的明天 免费的图床服务器-GitHub Pages · 回忆中的明天 A Free Native Image Uploading Tool for macOS · 回忆中的明天 免费的图床服务器-Cloudflare-R2 · 回忆中的明天 图传 (iUploader) - macOS 免费原生图床上传利器 · 回忆中的明天 本地无法加载托管到Cloudflare中的图片等资源,权限错误403 · 回忆中的明天 国内、外免费公共的DNS,支持的DoH,防止污染、篡改的问题 · 回忆中的明天 macOS 系统下载和安装 · 回忆中的明天 使用 CURL 命令调试和诊断网络问题,网站请求测速 · 回忆中的明天 WARP Beta for macOS 支持新协议 MASQUE · 回忆中的明天 2024年自用国外靠谱的 VPS 服务器推荐 · 回忆中的明天 使用 OpenCore,让你的旧 Mac 用上最新的 macOS 系统 · 回忆中的明天 给 Terminal 终端添加不一样的色彩,安装插件实现自动补全、高亮显示 · 回忆中的明天 玩转 Mac 截图,分享原生截图工具技巧,自定义截图名称和类型 · 回忆中的明天 美国 VPS 服务器,最低月费只要12元,优惠推荐 · 回忆中的明天 更新 idea 后不能打开文件夹文件,一直加载卡住假死状态 · 回忆中的明天 使用 certbot 申请 Let's Encrypt 免费证书,部署到 nginx 中,开启 https · 回忆中的明天 菲律宾 VPS 服务器,月均只要16.5元/月,优惠推荐 · 回忆中的明天 Mac launchctl 自定义服务启动 · 回忆中的明天 Mac 终端设置代理,设置一键开启和取消 · 回忆中的明天 Nginx 配置(Config)中遇到的错误(Error) · 回忆中的明天 香港 CN2 优化线路带宽低延迟 VPS 服务器推荐 · 回忆中的明天 菲律宾、马来西亚、泰国等多图 VPS 服务器便宜推荐 · 回忆中的明天 抗白之路-肺部感染发烧住院两个多月 · 回忆中的明天 12 个对新手最重要的 Linux 命令 · 回忆中的明天 第一次通过 SSH key 免密连接 GitHub 的完整过程 · 回忆中的明天 5 款适用于 Linux 的笔记应用 · 回忆中的明天 国内外免费公共 DNS 服务推荐 · 回忆中的明天 微软为 VS Code 推出 Markdown 语言服务器 · 回忆中的明天 抗白之路-每天在马桶上渡过,急性肠排…… · 回忆中的明天 抗白之路-舱内日常 · 回忆中的明天 抗白之路-移植用药 · 回忆中的明天 抗白之路-入舱 · 回忆中的明天 强!腾讯推出开源免费老照片修复工具! · 回忆中的明天 抗白之路-确诊 · 回忆中的明天 RIME 鼠须管输入法使用,免费开源还可以自定义词库 · 回忆中的明天 VIM 入门,学会必备的操作命令,模式选择、文本编辑 · 回忆中的明天 Spring Security 快速创建登录权限,安全管理资源权限 · 回忆中的明天 Spring 表单验证 Validating Form Input · 回忆中的明天 Spring 为 RESTful Web 服务启用跨域请求 · 回忆中的明天 快捷支付停车费,免去扫码操作,快捷指令快速支付 · 回忆中的明天 居家全屋无线 Wi-Fi 网络改造 · 回忆中的明天 Spring 调用 RESTful Web 服务 Hello World · 回忆中的明天 Spring 构建 RESTful Web 服务 Hello World · 回忆中的明天 使用 GitHub Actions 自动上传搜索记录到 Algolia · 回忆中的明天 Spring 文件上传,Uploading Files · 回忆中的明天 Spring 表单提交,Form Submission · 回忆中的明天 Spring 开篇,创建第一个 Web 项目 Hello World · 回忆中的明天 使用 Algolia 云引擎,实现个人博客 Hugo 本地智能搜索 · 回忆中的明天 Java 递归实例操作-查询层级菜单 · 回忆中的明天 Java JSON数据实战操作 · 回忆中的明天 MacOS 或 Linux 软件包管理器 Homebrew · 回忆中的明天 Java 正则表达式实例操作 · 回忆中的明天 简述 Cookie、Token、JWT、Session · 回忆中的明天 Java 方法代理实例操作,静态代理、JDK动态代理、CGLIB动态代理 · 回忆中的明天 Java 反射实例操作 · 回忆中的明天 Vercel 上自动部署你的个人博客 Hugo · 回忆中的明天 Java 中的重写(Override)与重载(Overload) · 回忆中的明天 免费申请 JetBrains 开源开发许可证,包含 IDEA · 回忆中的明天 重疾保险理赔的亲身经历,分享下流程和套路 · 回忆中的明天 Java 开发环境的搭建,开启你的编程之旅 · 回忆中的明天 HUGO 目录详解,创建自己的网站系统 · 回忆中的明天 了解 JS 的加载顺序和方式,实现 Ready 方法 · 回忆中的明天 免费创建属于自己的博客,Hugo+Github Pages · 回忆中的明天 Elastic Stack 实现日志的自动采集、搜索和分析 · 回忆中的明天 个人站长的加速器 - 百度云加速 · 回忆中的明天 Office 批量激活的命令工具 slmgr · 回忆中的明天 Office 批量激活的命令工具 ospp · 回忆中的明天 KMS 激活 Office 批量许可证密钥 KEY · 回忆中的明天 移植物抗宿主病详解 · 回忆中的明天 慢性髓系白血病(CML)的临床分期 · 回忆中的明天 急性髓系白血病(AML)的治疗 · 回忆中的明天 骨髓增生异常综合征(MDS)的病程与预后 · 回忆中的明天 急性白血病的临床表现 · 回忆中的明天 慢性粒单核细胞白血病(CMML) · 回忆中的明天 白血病的分类:髓系肿瘤和淋系肿瘤 · 回忆中的明天 mysql 使用 source/mysqldump 命令导入/导出文件信息 · 回忆中的明天 Docker 中运行 ElasticSearch 和 Kibana · 回忆中的明天 初识 Docker · 回忆中的明天 Mac 无密码 SSH 登录服务器 · 回忆中的明天 Spring Cloud Alibaba Nacos Discovery 实战 · 回忆中的明天
Elasticsearch, Kibana, Logstash, Filebeat 实现日志的自动采集、搜索和分析 · 回忆中的明天
2021-04-18 · via 回忆中的明天

原文:https://ichochy.com/posts/es/20210418.html


Elastic Stack 包括 Elasticsearch、Kibana、Beats 和 Logstash(也称为 ELK Stack)。能够安全可靠地获取任何来源、任何格式的数据,然后实时地对数据进行搜索、分析和可视化

Elasticsearch 是一个分布式、RESTful 风格的搜索和数据分析引擎

Kibana 是一个免费且开放的用户界面,能够让您对 Elasticsearch 数据进行可视化管理和展示

Logstash 是一个免费且开放的服务器端数据处理管道,能够从多个来源采集数据,转换数据,然后将数据发送到您最喜欢的“存储库”中

Beats 是一个免费且开放的平台,集合了多种单一用途数据采集器,将数据发送给 Logstash 或 Elasticsearch

Beats 系列

全品类采集器,搞定所有数据类型,如下:

  1. Filebeat:日志文件
  2. Metricbeat:指标
  3. Packetbeat:网络数据
  4. Winlogbeat:Windows 事件日志
  5. Auditbeat:审计数据
  6. Heartbeat:运行时间监控
  7. Functionbeat:无需服务器的采集器

一、下载镱像(image)

Docker映像和标签的列表:https://www.docker.elastic.co 搜索镱像(image)

docker search elasticsearch
docker search kibana 
docker search logstash 

获取镱像(image)

docker pull elasticsearch:7.6.0     #镜像名称:Tag
docker pull kibana:7.6.0            #镜像名称:Tag
docker pull logstash:7.6.0            #镜像名称:Tag
docker pull docker.elastic.co/beats/filebeat:7.6.0            #镜像名称:Tag

注:版本要统一

二、创建 ELK.yml

ELK.yml

version: "3.5"

services:
  elasticsearch:
     container_name: elasticsearch
     image: elasticsearch:7.6.0             #镱像(image)
     restart: always                        #重启方式
     environment:
       discovery.type: single-node          #环境变量:运行模式 单例
     ports:
       - "9200:9200"                        #端口映射
       - "9300:9300"
  kibana:
    container_name: kibana
    image: kibana:7.6.0                     #镱像(image)
    restart: always                         #重启方式
    environment:
      I18N_LOCALE: "zh-CN"                  #指定中文
    ports:
       - "5601:5601"                        #端口映射
  logstash:
    container_name: logstash
    image: logstash:7.6.0
    restart: always
    ports: 
      - "5044:5044"
      - "9600:9600"
  filebeat:
    container_name: filebeat
    image: filebeat:7.6.0
    restart: always
    command: filebeat -e -strict.perms=false    #禁用严格权限检查
    volumes:                                    #文件夹映射,本地:容器
        - "/Users/ichochy/beats/filebeat.yml:/usr/share/filebeat/filebeat.yml"

注:

  1. 注意YML文件编写,不要出现 Tab 制表符,否则导致文件解析错误,启动容器(container)失败
  2. 读取文件权限问题是软件自身的权限验证,可使用--strict.perms=false,禁用严格权限验证
# 错误信息
yaml.scanner.ScannerError: mapping values are not allowed here
# 错误息信
Exiting: error loading config file: config file ("{beatname}.yml") can only be
writable by the owner but the permissions are "-rw-rw-r--" (to fix the
permissions use: 'chmod go-w /etc/{beatname}/{beatname}.yml')

三、运行容器

宿主机hosts中添加

命令启动

docker-compose -f ELK.yml up -d
docker-compose 
                -f  #指定构建文件
                up  #创建并启动容器
                -d  #后台运行容器(container),打印容器(container)ID

四、检查容器的运行状态

elasticsearch 访问:http://127.0.0.1:9200
15943942032407731

logstash 访问:http://127.0.0.1:9600
15943942392245702

Kibana 访问:http://127.0.0.1:5601,进入 Kibana
15731085378080282

运行docker ps查询容器运行状态,可以查看到容器的ID

mleo$ docker ps
CONTAINER ID        IMAGE                 COMMAND                  CREATED             STATUS              PORTS                                            NAMES
4d53b3ab9772        filebeat:7.6.0        "/usr/local/bin/dock…"   2 days ago          Up 8 minutes  
1b8cb2effede        logstash:7.6.0        "/usr/local/bin/dock…"   2 hours ago         Up About an hour    0.0.0.0:5044->5044/tcp, 0.0.0.0:9600->9600/tcp   logstash
69b8bc678e4e        kibana:7.6.0          "/usr/local/bin/dumb…"   3 weeks ago         Up 2 hours          0.0.0.0:5601->5601/tcp                           kibana
8c655f5b7493        elasticsearch:7.6.0   "/usr/local/bin/dock…"   3 weeks ago         Up 2 hours          0.0.0.0:9200->9200/tcp, 0.0.0.0:9300->9300/tcp   elasticsearch

运行docker logs id查看容器运行日志

例:持续查看`filebeat`日志
docker logs 4d53b3ab9772 -f

五、修改 filebeats 配置

filebeat.inputs:
 - type: log
   paths:
     - /usr/share/filebeat/logs/file/*.log

#output.elasticsearch:
#  hosts: ["http://elasticsearch:9200"]
#  index: "ichochy"

output.logstash:
  hosts: ["logstash"]

:容器中,服务间访问可以通过服务名直接访问(协议+服务名+端口),如:http://logstash:5044

六、修改 logstash 配置

  • 运行docker exec -it 1b8cb2effede bash进入logstash
  • 运行vi pipeline/logstash.conf修改logstash默认配置
input {
  beats {
    port => 5044
  }
}

output {
  stdout {
    codec => rubydebug
  }
  elasticsearch {
    hosts => ["http://elasticsearch:9200"]  #elasticsearch请求地址
    index => "ichochy"                      #索引名称
  }
}
  • 运行docker restart 1b8cb2effede重启 logstash

七、模拟采集日志

filebeat的监控的文件路径下动态添加日志文件,日志就可以自动采集发送到logstash,过虑处理后发送到elasticsearch

运行docker exec -it 4d53b3ab9772 bash进入filebeat,在logs文件夹添加web.log文件

touch web.log   #创建日志文件
echo "https://ichochy.com" > web.log  #添加日志信息

查看logstash日志信息可以看到打印的日志,监控来自filebeat发来的信息

{
           "ecs" => {
        "version" => "1.4.0"
    },
    "@timestamp" => 2021-04-18T02:26:42.851Z,
       "message" => "https://ichochy.com",
          "tags" => [
        [0] "beats_input_codec_plain_applied"
    ],
         "input" => {
        "type" => "log"
    },
      "@version" => "1",
         "agent" => {
        "ephemeral_id" => "cf2ff9ee-294a-4ac9-9ee7-3da65a3c5beb",
            "hostname" => "4d53b3ab9772",
                  "id" => "897d2be6-5aa2-4a5d-a824-a440a4d19d73",
             "version" => "7.6.0",
                "type" => "filebeat"
    },
          "host" => {
        "name" => "4d53b3ab9772"
    },
           "log" => {
          "file" => {
            "path" => "/usr/share/filebeat/logs/file/web.log"
        },
        "offset" => 0
    }
}
例:持续查看`logstash`日志
docker logs 1b8cb2effede -f

八、管理、搜索、分析日志

访问:http://127.0.0.1:5601,进入 Kibana

在设置管理(management)中创建索引: WX20210418-103626

Discover可以看到刚刚添加进来的日志数据,开始你的表演…………

15943959651825033

引用