目录

安装

1.安装相关类库

2.安装编译openresty

3.编写配置启动openresty服务

4.通过 openresty 保存日志数据到系统


安装

1.安装相关类库

yum install -y readline-devel pcre-devel openssl-devel gcc

2.安装编译openresty

wget https://openresty.org/download/openresty-1.15.8.2.tar.gz
tar -zxvf openresty-1.15.8.2.tar.gz ./configure
make
make install

3.编写配置启动openresty服务

创建一个目录,保存nginx.conf文件

这里我们在openresty创建目录,目录名为 jast ,在哪里创建都可以

mkdir jast

在jast目录下创建 conf 目录 与 logs目录

mkdir logs
mkdir conf

在conf目录下创建文件 nginx.conf ,内容如下

worker_processes  1;
error_log logs/error.log;
events {worker_connections 1024;
}
http {server {listen 2199;location / {default_type text/html;content_by_lua 'ngx.say("<p>Hello, World!</p>")';}}
}

代表我们监控2199端口,返回内容为Hello, World!

启动nginx服务,

/usr/local/openresty/nginx/sbin/nginx -p /root/openresty/openresty-1.15.8.2/jast -c conf/nginx.conf-p :刚刚创建的jast目录,项目目录
-c :刚刚创建的配置文件目录

查看服务

[root jast]# ps -ef|grep nginx
root     17576     1  0 11:12 ?        00:00:00 nginx: master process /usr/local/openresty/nginx/sbin/nginx -p /root/openresty/openresty-1.15.8.2/jast -c conf/nginx.conf
nobody   17577 17576  0 11:12 ?        00:00:00 nginx: worker process

通过浏览器访问:http://ip:2199,查看返回结果成功

4.通过 openresty 保存日志数据到系统

log.gif 方式

使用log.gif方便前端做埋点日志

修改nginx.conf 文件

# vim nginx.conf worker_processes  1;
error_log logs/error.log;
events {worker_connections 1024;
}
http {server {listen 2199;location / {default_type text/html;content_by_lua 'ngx.say("<p>Hello, World!</p>")';}location /log.gif {#伪装成gif文件default_type image/gif;#本身关闭access_logaccess_log off;#使用lua将nginx的接收参数写入到日志文件中log_by_lua_file 'conf/log_conf.lua';#返回空图片empty_gif;}}
}

编写log_conf.lua 文件

# vim log_conf.lua -- 引入lua json库
local cjson = require "cjson"-- 获取请求参数
local request_args_tab = ngx.req.get_uri_args()-- 获取系统时间
local time = os.date("%Y%m%d%H",unixtime)-- 创建file对象,注意这里目录是启动openresty时 -p 指定目录下的logs目录,并且 logs 权限要设置为 chmod o+x
local file = io.open("logs/data-" .. time  .. ".log","a")-- 创建json对象
local log_json = {}-- 将请求参数转为json
for k,v in pairs(request_args_tab) dolog_json[k] = v
end-- json数据写入文件,并\n换行
file:write(cjson.encode(log_json),"\n")file:flush()

重新加载配置文件

/usr/local/openresty/nginx/sbin/nginx -p /root/openresty/openresty-1.15.8.2/jast -c conf/nginx.conf -s reload

请求接口:http://ip:2199/log.gif?test=测试数据&a=b

查看logs目录下数据,接收成功

OpenResty 安装,收集日志保存到文本文件相关推荐

  1. ELK之收集日志到mysql数据库

    写入数据库的目的是持久化保存重要数据,比如状态码.客户端浏览器版本等,用于后期按月做数据统计等. 环境准备 linux-elk1:10.0.0.22,Kibana ES Logstash Nginx ...

  2. 如何使用Graylog来收集日志?

    当我们公司内部部署很多服务以及测试.正式环境的时候,查看日志就变成了一个非常刚需的需求了.是多个环境的日志统一收集,然后使用 Nginx 对外提供服务,还是使用专用的日志收集服务 ELK 呢?这就变成 ...

  3. 如何使用新一代轻量级分布式日志管理神器 Graylog 来收集日志

    公众号关注 「奇妙的 Linux 世界」 设为「星标」,每天带你玩转 Linux ! 当我们公司内部部署很多服务以及测试.正式环境的时候,查看日志就变成了一个非常刚需的需求了.是多个环境的日志统一收集 ...

  4. EMC存储各产品线收集日志

    干货来了,今天介绍的是EMC存储的日常维护,一切维护从日志收集开始.今天我们先介绍EMC各产品线的日志收集方法. 第一步: EMC存储系列管理软件采用B/S结构,初次登录需要安装JAVA,推荐使用1. ...

  5. APP 测试,什么时候需要收集日志?怎么收集日志?

    大家好啊,我是大田. 今天来分享一个常见面试题,APP 测试什么时候需要收集日志?怎么收集日志? 1.何时收集日志? 答:在出现操作异常时,查看并定位具体问题,当出现 crash(崩溃)和 ANR(A ...

  6. php 系统日志,PHP中把错误日志保存在系统日志中(Windows系统)

    PHP中把错误日志保存在系统日志中(Windows系统) [将错误记录到系统日志中] 在 php.ini 中将 error_log 设置为: 复制代码 代码如下: error_log = syslog ...

  7. ELK收集日志到mysql数据库

    场景需求 在使用ELK对日志进行收集的时候,如果需要对数据进行存档,可以考虑使用数据库的方式.为了便于查询,可以同时写一份数据到Elasticsearch 中. 环境准备 CentOS7系统: 192 ...

  8. nginx日志切割并使用flume-ng收集日志

    nginx的日志文件没有rotate功能.如果你不处理,日志文件将变得越来越大,还好我们可以写一个nginx日志切割脚本来自动切割日志文件. 第一步就是重命名日志文件,不用担心重命名后nginx找不到 ...

  9. 终于找到你!如何将前端console.log的日志保存成文件?

    本篇文章来自一个需求,前端websocket会收到各种消息,但是调试的时候,我希望把websoekt推送过来的消息都保存到一个文件里,如果出问题的时候,我可以把这些消息的日志文件提交给后端开发区分析错 ...

最新文章

  1. vs2010 静态使用 opencv 2.46 库
  2. 二十六、二叉树--查找指定节点
  3. oracle erp 财务入门,Oracle ERP EBS 顾问财务模块基本业务操作专题
  4. Linux 运维工程师的六类好习惯
  5. 5y计算机应用基础题库,数学log练习题和答案.doc
  6. SocketLog-微信调试、API调试和AJAX的调试的工具,能将日志通过WebSocket输出到Chrome浏览器的console中
  7. 在邮件标头中找到无效的字符_在实践中重试HTTP标头
  8. 云栖大会 | 释放计算弹性,阿里云做了很多
  9. python模拟登陆遇到重定向_python - scrapy模拟登陆知乎出现重定向无法登陆问题
  10. latex设置脚注页码设置_毕设论文页眉页码设置
  11. java关键字super_Java关键字(六)——super
  12. Node.js的异步I/O
  13. oracle结果集排序,oracle数据库菜鸟教程——结果集排序
  14. 解决gaim+msn的ssl库及不能发出提示音问题的指南(转)
  15. 2016西安教师职称计算机考试,2016教师职称计算机考试模块.doc
  16. H12-811 HCIA-Datacom 655 题新题库
  17. 记录origin画图遇到的问题及其软件bug解决
  18. [BZOJ1615][Usaco2008 Mar]The Loathesome Hay Baler麻烦的干草打包机
  19. 前端页面项目——博客系统
  20. D21 LeetCode 2038.如果相邻两个颜色均相同则删除当前颜色(中等)

热门文章

  1. 怎么查看父子级目录linux,如何查找linux中特定父目录的所有文件?
  2. JAVA入门级教学之(访问修饰符权限控制)
  3. android多个水波球,android球形水波百分比控件代码
  4. 织梦检测环境不支持mysql_本地测试织梦dedeCMS 安装环境
  5. mysql执行计划查看_查看Mysql执行计划
  6. linux 重定向 不换行,Ada:重定向到stdout时省略换行符(测试Put)
  7. html5伪类触发机制,HTML5表单验证
  8. system流怎么判断为空_并行流ParallelStream中隐藏的陷阱
  9. 电脑手机wifi互传文件_安卓手机文件互传
  10. c语言简短的泡沫排序法编程,冒泡排序--简单(c语言)