介绍一下排查Fluentd运行时错误的几种方法。

  1. 查看日志

    如果感觉Fluentd运行异常,请先查看日志。td-agent安装后,默认日志存放在/var/log/td-agent/td-agent.log。

  2. 开启详细日志

    Fluentd日志支持多个级别,打开详细的日志有助于发现问题。有以下几种方法可以开启详细日志:

    2.1 通过配置文件的log_level项进行设置,具体可参考Fluentd日志。

    2.2 使用systemd用户级文件

    添加或修改配置文件/etc/systemd/system/td-agent,

    增加如下内容,这会覆盖/usr/lib/systemd/system/td-agent中的配置。

[Service]
ExecStart=...existing options... -vv

2.3 修改init.d启动脚本

编辑/etc/init.d/td-agent,在TD_AGENT_OPTIONS后增加"-vv",重启td-agent

# at /etc/init.d/td-agent
...
TD_AGENT_OPTIONS="... -vv"
... 2.4 命令行参数

$ fluentd .. -vv


3. 导出fluentd内部信息
Fluentd使用sigdump(https://github.com/frsyuki/sigdump)将内部信息导出到本地文件中,可向fluentd进程发送SIGCONT信号以导出相关信息。 4. CPU使用率较高的原因 若发现Fluentd占用较高的CPU,一般可能有以下几点原因: - 某个插件发生竞态问题
- 正则表达式错误
- 系统调用异常,比如inotify监控了过多的文件
- 某个ruby依赖包异常 出现这些情况时,可使用linux perf工具来检测问题所在。也可使用pid2line.rb(https://gist.github.com/nurse/0619b6af90df140508c2)这个脚本来辅助排查。 5. 检查未捕获的日志
有时候会遇到一些异常退出的情况,这时程序返回值非0。比如:

2016-01-01 00:00:00 +0800 [info]: starting fluentd-0.12.28

2016-01-01 00:00:00 +0800 [info]: reading config file path="/etc/td-agent/td-agent.conf"

[...snip...]

2016-01-01 00:00:02 +0800 [info]: process finished code=6


这类问题可能发生在ruby内部,比如段错误、某些C扩展有bug等。当fluentd以守护进程方式运行时,我们将得不到完整的日志。 使用如下方式运行td-agent,就可以在程序异常时获取到完整的日志。

$ sudo LD_PRELOAD=/opt/td-agent/lib/libjemalloc.so /usr/sbin/td-agent -c /etc/td-agent/td-agent.conf --user td-agent --group td-agent

Fluentd部署:错误排查的更多相关文章

  1. 10. Fluentd部署:高可用配置

    对于高访问量的web站点或者服务,可以采用Fluentd的高可用配置模式. 消息分发语义 Fluentd设计初衷主要是用作事件日志分发系统的.这类系统支持几种不同的分发模式: 至多一次.消息被立即发送 ...

  2. mysql添加,授权,删除用户以及连接数据库Can't connect to MySQL server on '192.168.31.106' (113)错误排查

    centos7下面操作mysql添加,授权,删除用户 添加用户 以root用户登录数据库,运行以下命令: create user test identified by '; 上面创建了用户test,密 ...

  3. Tomcat学习笔记 - 错误日志 - NetBeans配置tomcat出错情况总结 -- 部署错误: 启动 Tomcat 失败。-- '127.0.0.1' 不是内部或外部命令,也不是可运行的程序

    真的管用,不知道为啥管用.转载自:http://blog.sina.com.cn/s/blog_709548200102vgy4.html 问题描述: 新安装的NetBeans8.0.2,安装过程中还 ...

  4. [Python Web]配置 nginx 遇到错误排查(初级)

    配置 nginx 遇到错误排查(初级) 系统版本:ubuntu 14.04,nginx 版本:nginx/1.4.6 (Ubuntu) 本文不是一步步搭建 nginx 的过程,而是我在使用 nginx ...

  5. NGINX 502错误排查(转)

    一.NGINX 502错误排查 NGINX 502 Bad Gateway错误是FastCGI有问题,造成NGINX 502错误的可能性比较多.将网上找到的一些和502 Bad Gateway错误有关 ...

  6. docker镜像运行错误排查

    docker做服务时,如果客户端无法连接,错误排查: 1.先使用 docker ps 查看镜像是否都在运行中,如果没有就进入镜像查看日志 2.如果确定代码及配置文件没有问题,就需要检查镜像的替换是否正 ...

  7. SSIS 包部署错误 0xC0010014

    SSIS 包部署错误 0xC0010014 Reinhard 在部署 SSIS 包时,提示如下错误. 由于错误 0xC0010014"发生了一个或多个错误.在此消息之前应有更为具体的错误消息 ...

  8. docker 错误排查:无法进入容器.

    docker 错误排查:无法进入容器. #docker exec -it 3c1d bash rpc error: code = 2 desc = oci runtime error: exec fa ...

  9. 原创Couldn't read packet: Connection reset by peer 错误排查思路(推荐)

    作为一个运维 不是你懂多少知识才是你的价值 你有幸能遇到多少错误才是你的最大的价值 知识 你有我有大家有  错误我有你没有 这便是我的价值 我遇到一个错误 蛮难遇到的一个错误 所以想分享给大家 下面我 ...

  10. 总结:利用asp.net core日志进行生产环境下的错误排查(asp.net core version 2.2,用IIS做服务器)

    概述 调试asp.net core程序时,在输出窗口中,在输出来源选择“调试”或“xxx-ASP.NET Core Web服务器”时,可以看到类似“info:Microsoft.AspNetCore. ...

随机推荐

  1. gpg加解密异常

    在本地windows电脑和开发环境(linux) ,都不报错,但是在测试环境(linux) 上报错. 报错信息 org.bouncycastle.openpgp.PGPException: Excep ...

  2. 部署yum仓库

    YUM介绍 YUM(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器. 基于RPM包管理,能够从指定的 ...

  3. Cube Stacking 来源:洛谷

    题目 题目oj(洛谷) Farmer John and Betsy are playing a game with N (1 <= N <= 30,000)identical cubes ...

  4. 使用OnPush和immutable.js来提升angular的性能

    angular里面变化检测是非常频繁的发生的,如果你像下面这样写代码 <div> {{hello()}} </div> 则每次变化检测都会执行hello函数,如果hello函数 ...

  5. 笔记本Usb接口案例

    笔记本电脑通常具备使用USB设备的功能.在生产的时候,笔记本都预留了可以插入USB设备的USB接口.但具体是什么USB设备,笔记本厂商并不关心,只要符合USB规格的设备都可以. 定义USB接口,具备最 ...

  6. SpringBoot整合RabbitMQ实现六种工作模式

    RabbitMQ主要有六种种工作模式,本文整合SpringBoot分别介绍工作模式的实现. 前提概念 生产者 消息生产者或者发送者,使用P表示: 队列 消息从生产端发送到消费端,一定要通过队列转发,使 ...

  7. 开发 supermall 的一些

    0.新建项目 1.关联仓库:新建的远程仓库 怎么和已有代码联系起来 a.拉仓库 复制代码进去 b.在已有代码里面配置git: git remote add origin '地址' 然后 git pus ...

  8. SpringBoot 如何集成 MyBatisPlus - SpringBoot 2.7.2实战基础

    SpringBoot 2.7.2 学习系列,本节通过实战内容讲解如何集成 MyBatisPlus 本文在前文的基础上集成 MyBatisPlus,并创建数据库表,实现一个实体简单的 CRUD 接口. ...

  9. HTML5 基础学习

    HTML 基础学习 参考资料 视频课程:https://www.bilibili.com/video/BV14J4114768 W3C文档:https://webplatform.github.io/ ...

  10. 运维实践-最新Nginx二进制构建编译lua-nginx-module动态链接Lua脚本访问Redis数据库读取静态资源隐式展现

    关注「WeiyiGeek」公众号 设为「特别关注」每天带你玩转网络安全运维.应用开发.物联网IOT学习! 希望各位看友[关注.点赞.评论.收藏.投币],助力每一个梦想. 本章目录 目录 0x0n 前言 ...