处理ELK日志线上事故
问题1 日志系统链路:filebeat -> logdash -> elasticsearch,然后es两个小时前因磁盘满了,导致无法正常传输。现在将磁盘清理出空间后,日志可以正常导入了,但是是从两个小时前开始的,现希望这两个小时的日志不要了,直接从当前时间导 在你的日志系统中,如果你希望丢弃 Elasticsearch 停止工作的这两个小时的日志,而从当前时间开始继续导入日志,可以按照以下步骤操作: 暂停当前日志处理在修改配置前,暂停 Logstash 和 Filebeat 服务,防止新的日志继续处理: 12systemctl stop logstashsystemctl stop filebeat 修改 Filebeat 读取状态Filebeat 会记录日志文件的读取偏移量(通过 .filestate 或 .filebeat.yaml 文件),需要手动更新或删除这些状态以跳过旧日志。 方法 1:删除状态文件(推荐)找到 Filebeat 的数据目录,通常位于 /var/lib/filebeat,然后删除状态文件: 123# 路径需要复查下#...
ELK 配置 SSL【Docker下操作】
介绍Elasticsearch 程序中提供elasticsearch-certutil命令来简化生成证书的过程。 该命令共有 3 种模式: CA 模式,用于生成一个新的证书颁发机构。 CERT 模式,用于生成 X.509 证书和私钥。 CSR 模式,用于生成证书签名请求,该请求指向受信任的证书颁发机构以获取签名的证书。签名证书必须为 PEM 或 PKCS#12 格式,才能与 Elasticsearch 安全功能一起使用。 生成证书certutil官方文档 如果集群部署, 想为每个node都配置ssl, 就改instance.yml和extra_hosts 参考: https://www.elastic.co/cn/blog/configuring-ssl-tls-and-https-to-secure-elasticsearch-kibana-beats-and-logstash 证书位置必须写绝对路径 新建instance.yml以创建各容器的自签名证书123456789# name会对应到生成证书文件的路径名称#...
利用pprof分析filebeat的cpu使用率过高
通过pprof调试filebeat因为filebeat是用go语言实现的,而go语言本身的基础库里面就包含pprof这个功能极其强大的性能分析工具,因此,在7.x版本中,beats家族的工具,都提供了以下参数,方便用户在出现问题的时候,对应用进行调试 12345678--cpuprofile FILEWrites CPU profile data to the specified file. This option is useful for troubleshooting Filebeat.-h, --helpShows help for the run command.--httpprof [HOST]:PORTStarts an http server for profiling. This option is useful for troubleshooting and profiling Filebeat.--memprofile FILEWrites memory profile data to the specified output file. This...
kibana用法
Kibana查询语法 要搜索一个确切的字符串,即精确搜索,需要使用双引号引起来:path:”/app/logs/nginx/access.log” 如果不带引号,将会匹配每个单词:uid token 模糊搜索:path:”/app/~” * 匹配0到多个字符:*oken ? 匹配单个字符 : tok?n 匹配是否包含的条件: +:搜索结果中必须包含此项; -:不能含有此项 什么都没有则可有可无: +token -appVersion appCode 运算符AND/OR/NOT必须大写:token AND uid ;token OR uid;NOT uid 允许一个字段值在某个区间([] 包含该值,{}不包含):@version:[1 TO 3] 组合查询:(uid OR token) AND version 转义特殊字符 + – && || ! ( ) { } [ ] ^ ” ~ * ? : \ :转义特殊字符只需在字符前加上符号\ 查询样例简单查询简单查询就是 关键字匹配、字符串包含等,比如说如下语句会找出...
日志生命周期处理
日志生命周期处理脚本的方式 查出30天以前的索引并删掉 12345678910111213#!/bin/shcurl -H'Content-Type:application/json' -d'{ "query": { "range": { "pt": { "lt": "now-30d", "format": "epoch_millis" } } }}' -XPOST -H "Authorization:Basic ZWxhc3RpYzpTb3BlaU1HcjA5M0AkJV5FTEs="...
Elastic APM
Elastic Application Performance Management(APM) 是基于 Elastic Stack 构建的应用性能监控系统 背景目前我们日志系统已经投入生产使用, 对于日常开发有了一个方便排查问题的途径但是, 有些难题不是浮于表面的, 下一步需要做的, 便是找出这些埋于底层的性能及效率的问题.这便是Application Performance Management(APM)出现的目的 目标 收集有关请求的响应时间,数据库查询 外部 HTTP 请求等的详细性能信息 对应用程序的请求期间发生的其他缓慢操作的跟踪 自动收集未处理的错误和异常,错误主要基于堆栈跟踪进行分组,因此可以识别出现的新错误,并密切关注特定错误发生的次数。 价值 依靠apm, 过滤出不合格的接口, 根据具体情况加以改进, 最终实现一个可以满足三高的理想状态我们可以对接口的所有信息进行追溯, 现在我们已经有了trace-id, 可以反向拿"不合格的接口"的trace-id去找日志里找原因 APM serverAPM Server 是用 Go...
Filebeat多实例部署(守护进程方式[systemd])
安装好filebeat1站内搜索: 记录日志系统的安装-部署-配置-使用文档(1) 复制两个子文件夹下来12cp -r /etc/filebeat{,1}cp -r /etc/filebeat{,2} 修改各自的filebeat.yml1234...(省略inputs之类的)logging.files: # 这里修改文件夹路径 path: /var/log/filebeat1/2 这里主要是查看下机器systemd的path 我这里是/usr/lib/systemd/system 添加两份配置文件 vi /usr/lib/systemd/system/filebeat1.service 1234567891011121314151617[Unit]Description=Filebeat sends log files to Logstash or directly to...
Kibana-dashboard结合Filebeat的使用
利用Filebeat-Moudule监听/传输数据到es并通过Kibana的面板显示 要记得将modules功能打开 filebeat安装完默认会在/etc/filebeat/modules.d下放着许多模块的yml,需要哪个,就执行filebeat modules enable xxx filebeat.yml 1234567891011121314151617181920212223filebeat.config: modules: enabled: true path: modules.d/*.yml reload.enabled: true reload.period: 10s# ------------------------------ kibana Output -------------------------------output.elasticsearch: hosts: ["10.0.2.15:9200"] username:...
记录日志系统的安装-部署-配置-使用文档(1)
[[日志系统使用文档地址]] 站内搜索[记录日志系统的安装->部署->配置->使用文档(3)] 服务器es, logstash, kibana内存: 8G磁盘: 500G处理器: 4/8核带宽: 2m 1234567以上配置是原来写的,在之后的线上环境很快就得到了验证, 结果就是直接崩溃建议每天产生20g到30g的起码弄个以下的配置内存: 16G磁盘: 500g-1t(硬盘不值钱)处理器: 4/8核带宽: 5m filebeat(被抓取服务所在机器)1略... 端口12elk服务器对外开放5601elk服务器对filebeat所在服务器内网开放5044 安装(单点) 安装完filebeat之后,需要给inputs下配置文件基于root权限或者go+w权限chown root /etc/filebeat/inputs/* 或者 chown go+w...
记录日志系统的安装-部署-配置-使用文档(2)
日志系统配置(长期补充)elastic各产品配置/学习手册所有的ip不要写本地ip filebeat.yml 如果同时指定了exclude_lines和include_lines, Filebeat将会先校验include_lines,再校验exclude_lines 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149# Enable...