OpenResty 安装,收集日志保存到文本文件
目录
安装
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 安装,收集日志保存到文本文件相关推荐
- ELK之收集日志到mysql数据库
写入数据库的目的是持久化保存重要数据,比如状态码.客户端浏览器版本等,用于后期按月做数据统计等. 环境准备 linux-elk1:10.0.0.22,Kibana ES Logstash Nginx ...
- 如何使用Graylog来收集日志?
当我们公司内部部署很多服务以及测试.正式环境的时候,查看日志就变成了一个非常刚需的需求了.是多个环境的日志统一收集,然后使用 Nginx 对外提供服务,还是使用专用的日志收集服务 ELK 呢?这就变成 ...
- 如何使用新一代轻量级分布式日志管理神器 Graylog 来收集日志
公众号关注 「奇妙的 Linux 世界」 设为「星标」,每天带你玩转 Linux ! 当我们公司内部部署很多服务以及测试.正式环境的时候,查看日志就变成了一个非常刚需的需求了.是多个环境的日志统一收集 ...
- EMC存储各产品线收集日志
干货来了,今天介绍的是EMC存储的日常维护,一切维护从日志收集开始.今天我们先介绍EMC各产品线的日志收集方法. 第一步: EMC存储系列管理软件采用B/S结构,初次登录需要安装JAVA,推荐使用1. ...
- APP 测试,什么时候需要收集日志?怎么收集日志?
大家好啊,我是大田. 今天来分享一个常见面试题,APP 测试什么时候需要收集日志?怎么收集日志? 1.何时收集日志? 答:在出现操作异常时,查看并定位具体问题,当出现 crash(崩溃)和 ANR(A ...
- php 系统日志,PHP中把错误日志保存在系统日志中(Windows系统)
PHP中把错误日志保存在系统日志中(Windows系统) [将错误记录到系统日志中] 在 php.ini 中将 error_log 设置为: 复制代码 代码如下: error_log = syslog ...
- ELK收集日志到mysql数据库
场景需求 在使用ELK对日志进行收集的时候,如果需要对数据进行存档,可以考虑使用数据库的方式.为了便于查询,可以同时写一份数据到Elasticsearch 中. 环境准备 CentOS7系统: 192 ...
- nginx日志切割并使用flume-ng收集日志
nginx的日志文件没有rotate功能.如果你不处理,日志文件将变得越来越大,还好我们可以写一个nginx日志切割脚本来自动切割日志文件. 第一步就是重命名日志文件,不用担心重命名后nginx找不到 ...
- 终于找到你!如何将前端console.log的日志保存成文件?
本篇文章来自一个需求,前端websocket会收到各种消息,但是调试的时候,我希望把websoekt推送过来的消息都保存到一个文件里,如果出问题的时候,我可以把这些消息的日志文件提交给后端开发区分析错 ...
最新文章
- vs2010 静态使用 opencv 2.46 库
- 二十六、二叉树--查找指定节点
- oracle erp 财务入门,Oracle ERP EBS 顾问财务模块基本业务操作专题
- Linux 运维工程师的六类好习惯
- 5y计算机应用基础题库,数学log练习题和答案.doc
- SocketLog-微信调试、API调试和AJAX的调试的工具,能将日志通过WebSocket输出到Chrome浏览器的console中
- 在邮件标头中找到无效的字符_在实践中重试HTTP标头
- 云栖大会 | 释放计算弹性,阿里云做了很多
- python模拟登陆遇到重定向_python - scrapy模拟登陆知乎出现重定向无法登陆问题
- latex设置脚注页码设置_毕设论文页眉页码设置
- java关键字super_Java关键字(六)——super
- Node.js的异步I/O
- oracle结果集排序,oracle数据库菜鸟教程——结果集排序
- 解决gaim+msn的ssl库及不能发出提示音问题的指南(转)
- 2016西安教师职称计算机考试,2016教师职称计算机考试模块.doc
- H12-811 HCIA-Datacom 655 题新题库
- 记录origin画图遇到的问题及其软件bug解决
- [BZOJ1615][Usaco2008 Mar]The Loathesome Hay Baler麻烦的干草打包机
- 前端页面项目——博客系统
- D21 LeetCode 2038.如果相邻两个颜色均相同则删除当前颜色(中等)
热门文章
- 怎么查看父子级目录linux,如何查找linux中特定父目录的所有文件?
- JAVA入门级教学之(访问修饰符权限控制)
- android多个水波球,android球形水波百分比控件代码
- 织梦检测环境不支持mysql_本地测试织梦dedeCMS 安装环境
- mysql执行计划查看_查看Mysql执行计划
- linux 重定向 不换行,Ada:重定向到stdout时省略换行符(测试Put)
- html5伪类触发机制,HTML5表单验证
- system流怎么判断为空_并行流ParallelStream中隐藏的陷阱
- 电脑手机wifi互传文件_安卓手机文件互传
- c语言简短的泡沫排序法编程,冒泡排序--简单(c语言)