1. 安装
 
  1. opm get p0pr0ck5/lua-resty-logger-socket
 
2. 使用
   location   lua_by_lua_block 
 
  1. log_by_lua_block {
  2. local logger = require "resty.logger.socket"
  3. ngx.log(ngx.ERR, "Test Syslog: ", "call")
  4. if not logger.initted() then
  5. local ok, err = logger.init {
  6. host="syslog-ng-host",
  7. port=514,
  8. sock_type="udp",
  9. flush_limit = 1,
  10. --drop_limit = 5678
  11. }
  12. if not ok then
  13. ngx.log(ngx.ERR, "failed to initialize the logger: ", err)
  14. return
  15. end
  16. end
  17. -- construct the custom access log message in
  18. -- the Lua variable "msg"
  19. local url = ngx.var.uri
  20. local method = ngx.req.get_method()
  21. local headers = ngx.req.raw_header(true)
  22. -- tbl
  23. local params_var = ngx.req.get_uri_args()
  24. local client_ip = ngx.var.remote_addr
  25. -- tbl
  26. local user_agent = ngx.req.get_headers()["User-Agent"]
  27. local referer = ngx.req.get_headers()["Referer"] or ""
  28. local cookies = ngx.req.get_headers()["Cookie"]
  29. local bytes, err = logger.log("test")
  30. local bytes, err = logger.log(client_ip.." "..table.concat(params_var).." "..user_agent.." "..referer.." "..cookies.." "..url.." "..method)
  31. if err then
  32. ngx.log(ngx.ERR, "failed to log message: ", err)
  33. return
  34. end
  35. }
  
3. log server 
 
     syslog-ng  其中启用  udp  server  同时可以安装对应的后端storage
  1. yum install -y syslog-ng
 
4.  log 查询
     
      syslog-ng  server   
  1. tail - f /var/log/message
 
5. 参考资料
 
 
    
 
 

openresty 使用 log_by_lua 发送日志到 syslog-ng的更多相关文章

  1. golang 写日志到syslog

    应用程序可以通过 UNIX domain sockets, UDP or TCP,向syslog守护进程发送日志.syslog守护进程可以在远端. 这样,就可以不用单独收集应用程序的日志了. gola ...

  2. nxlog以syslog方式发送日志

    1.nxlog简介 nxlog是个跨平台日志传输插件,支持linux.windows平台,支持window及linux内置的大部分系统日志及常见的web日志,支持tcp.udp.http(s)等协议传 ...

  3. OpenResty + Lua + Kafka 实现日志收集系统以及部署过程中遇到的坑

    ********************* 部署过程 ************************** 一:场景描述 对于线上大流量服务或者需要上报日志的nginx服务,每天会产生大量的日志,这些 ...

  4. Nginx插件之openresty反向代理和日志滚动配置案例

    Nginx插件之openresty反向代理和日志滚动配置案例 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.openresty介绍 1>.Nginx介绍 Nginx是一款 ...

  5. 日志文件系统syslog,syslog-ng

    日志文件系统syslog,syslog-ng   余二五 2017-11-07 20:37:00 浏览127 评论0 日志 LOG 配置 主机 正则表达式 syslog 表达式 source file ...

  6. Openresty+Lua+Kafka实现日志实时采集

    简介 在很多数据采集场景下,Flume作为一个高性能采集日志的工具,相信大家都知道它.许多人想起Flume这个组件能联想到的大多数都是Flume跟Kafka相结合进行日志的采集,这种方案有很多他的优点 ...

  7. JAVA使用Logback发送日志到控制台、文件、ELK的最简单用法

    一.简述 本文讲JAVA使用Logback发送日志到控制台.文件.ELK的最简单用法. 二.教程 1.新建pom.xml项目引入下列依赖: <dependencies> <!--Be ...

  8. ES系列十八、FileBeat发送日志到logstash、ES、多个output过滤配置

    一.FileBeat基本概念 简单概述 最近在了解ELK做日志采集相关的内容,这篇文章主要讲解通过filebeat来实现日志的收集.日志采集的工具有很多种,如fluentd, flume, logst ...

  9. Log4j发送日志邮件功能

    昨天配置了log4j发送错误日志的功能,很实用,记录一下! Log4j可以实现输出到控制台,文件,回滚文件,发送日志邮件,数据库,自定义标签.例如: log4j.rootLogger=DEBUG, I ...

随机推荐

  1. Qt5.3中qml ApplicationWindow设置窗口无边框问题

    这个版本的qt在这里有点bug.. 设置ApplicationWindow的flags属性为Qt.FramelessWindowHint的确可以使程序无边框,但是同时程序在任务栏的图标也没了. 看文档 ...

  2. TCP的time_wait、close_wait状态

    转载:http://huoding.com/2013/12/31/316  http://blog.csdn.net/lxnkobe/article/details/7525317  http://k ...

  3. WebApplication和WebSite的简单区别

    初步认识网站和网站应用程序区别 1. 网页头部文件 网站 <%@ Page Language="VB" AutoEventWireup="false" C ...

  4. Java进阶5 面向对象的陷阱

    Java进阶5 面向对象的陷阱 20131103 Java是一门纯粹面向对象的编程语言,Java面向对象是基础,而且面向对象的基本语法非常多,非常的细,需要程序员经过长时间的学习才可以掌握.本章重点介 ...

  5. Fiddler进行模拟Post提交json数据,总为null解决方式(转)

    原文链接:http://www.cnblogs.com/jys509/p/3550598.html Request Headers: User-Agent: FiddlerHost: localhos ...

  6. windows下的一些命令

    dir 相当于linux下的ls clear 清屏 netstat 活动连接 | 管道命令 findstr 查询类似linux的grep tasklist 查看进程列表 taskkill 杀死进程 d ...

  7. CUDA库函数module management

    http://horacio9573.no-ip.org/cuda/group__CUDA__MODULE_ga52be009b0d4045811b30c965e1cb2cf.html

  8. Mac工具整理

    记录一下这两年来使用Mac的一些很好的工具: 1.offic,mac的office还是很强大的,比openoffice要好很多,更比WPS要好. 2.Toad连接数据库用的,一般用来连接Oracle. ...

  9. java事务(一)

    Java中事务处理的基本方法与原理,包含以下文章: (一)Java事务处理的基本问题 (二)失败的案例 (三)丑陋的案例 (四)成功的案例(自己实现一个线程安全的TransactionManager) ...

  10. Win10 64位系统ADO方式操作数据库失败解决方法

    VC操作Access数据库一般通过ODBC.ADO.DAO等方式,但在我的Win10 64位操作系统中,通过ADO方式操作数据库会失败,无法读取数据.解决方法:1.首先确保Win10操作系统ado目录 ...