OpenResty 安装,收集日志保存到文本文件
生活随笔
收集整理的這篇文章主要介紹了
OpenResty 安装,收集日志保存到文本文件
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
目錄
?
安裝
1.安裝相關類庫
2.安裝編譯openresty
3.編寫配置啟動openresty服務
4.通過 openresty 保存日志數據到系統
安裝
1.安裝相關類庫
yum install -y readline-devel pcre-devel openssl-devel gcc2.安裝編譯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 install3.編寫配置啟動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 安装,收集日志保存到文本文件的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Nifi 之 kafka消费存入hbas
- 下一篇: Hbase 预写日志WAL处理源码分析之