国产精品嫩草99av在线_一区在线视频观看_欧美高清一区_欧美 日韩 国产 一区_99精品欧美一区二区三区_久久大香伊蕉在人线观看热2_一色屋精品视频在线观看网站_在线亚洲国产精品网站_亚洲区一区二区三区_你懂的视频一区二区

當前位置:首頁 > 科技  > 軟件

Nginx map 實現(xiàn)時間格式轉(zhuǎn)換

來源: 責(zé)編: 時間:2023-09-18 21:42:26 400觀看
導(dǎo)讀哈嘍大家好,我是咸魚最近我們需要把 Nginx 的日志接入到自研的日志采集平臺上,但是這個平臺只支持 JSON 格式,所以需要把 Nginx 日志格式改成 JSON 格式例如下面這樣的效果剛開始在主配置文件 nginx.conf 中定義了一個名

哈嘍大家好,我是咸魚j5O28資訊網(wǎng)——每日最新資訊28at.com

j5O28資訊網(wǎng)——每日最新資訊28at.com

最近我們需要把 Nginx 的日志接入到自研的日志采集平臺上,但是這個平臺只支持 JSON 格式,所以需要把 Nginx 日志格式改成 JSON 格式j5O28資訊網(wǎng)——每日最新資訊28at.com

j5O28資訊網(wǎng)——每日最新資訊28at.com

例如下面這樣的效果j5O28資訊網(wǎng)——每日最新資訊28at.com

j5O28資訊網(wǎng)——每日最新資訊28at.com

j5O28資訊網(wǎng)——每日最新資訊28at.com

剛開始在主配置文件 nginx.conf 中定義了一個名叫 json 的日志格式字段j5O28資訊網(wǎng)——每日最新資訊28at.com

j5O28資訊網(wǎng)——每日最新資訊28at.com

j5O28資訊網(wǎng)——每日最新資訊28at.com

驗證的時候其他內(nèi)容沒啥問題,但是時間是2023-09-12T13:54:22+08:00 這樣子的,不太符合預(yù)期j5O28資訊網(wǎng)——每日最新資訊28at.com

j5O28資訊網(wǎng)——每日最新資訊28at.com

j5O28資訊網(wǎng)——每日最新資訊28at.com

咸魚想著把 $time_iso8601 變量中的年月日時分秒分別提取出來然后用變量去接受它,如下所示:j5O28資訊網(wǎng)——每日最新資訊28at.com

j5O28資訊網(wǎng)——每日最新資訊28at.com

我自定義了一個時間格式 $year-$month-$day $hour:$minutes:$seconds:000,然后接著用了一個 if 語句用于檢查請求的時間是否匹配 ISO8601 時間格式(例如:2023-09-12T13:54:22+08:00)j5O28資訊網(wǎng)——每日最新資訊28at.com

j5O28資訊網(wǎng)——每日最新資訊28at.com

如果匹配,它將執(zhí)行其中的代碼塊。在代碼塊中,使用正則表達式提取時間的年、月、日、小時、分鐘和秒,并將它們賦值給變量 $year、$month、$day、$hour、$minutes 和 $secondsj5O28資訊網(wǎng)——每日最新資訊28at.com

j5O28資訊網(wǎng)——每日最新資訊28at.com

j5O28資訊網(wǎng)——每日最新資訊28at.com

但是 nginx -t 檢測的時候我發(fā)現(xiàn) if 語句不能夠放在 http 塊內(nèi),否則會報錯j5O28資訊網(wǎng)——每日最新資訊28at.com

j5O28資訊網(wǎng)——每日最新資訊28at.com

在 Nginx 中,if 語句主要用于在 server 或 location 塊內(nèi)設(shè)置條件,以便根據(jù)請求的屬性來執(zhí)行不同的配置。if 語句通常應(yīng)該包含在 server 或 location 塊內(nèi),而不是直接放在 http 塊中j5O28資訊網(wǎng)——每日最新資訊28at.com

j5O28資訊網(wǎng)——每日最新資訊28at.com

如果將 if 語句放在一個一個 server 塊中,這不得累死我(有很多個 server 塊),而且后期維護也不方便j5O28資訊網(wǎng)——每日最新資訊28at.com

j5O28資訊網(wǎng)——每日最新資訊28at.com

所以如何將自定義變量在全局配置中生效則成為了一個問題j5O28資訊網(wǎng)——每日最新資訊28at.com

j5O28資訊網(wǎng)——每日最新資訊28at.com

j5O28資訊網(wǎng)——每日最新資訊28at.com

map

j5O28資訊網(wǎng)——每日最新資訊28at.com

map 指令是由 ngx_http_map_module 模塊提供的,是 Nginx 配置文件中的一種用于創(chuàng)建變量映射的指令j5O28資訊網(wǎng)——每日最新資訊28at.com

j5O28資訊網(wǎng)——每日最新資訊28at.com

模塊鏈接:https://nginx.org/en/docs/http/ngx_http_map_module.htmlj5O28資訊網(wǎng)——每日最新資訊28at.com

j5O28資訊網(wǎng)——每日最新資訊28at.com

它允許我們將一個或多個輸入值映射到一個輸出值,類似于字典或哈希表的概念。map 指令通常用于根據(jù)特定條件為請求設(shè)置自定義變量,或者執(zhí)行基于請求屬性的條件控制j5O28資訊網(wǎng)——每日最新資訊28at.com

j5O28資訊網(wǎng)——每日最新資訊28at.com

比較常見的 map 用法是通過 map 來實現(xiàn)允許多個域名跨域訪問的問題j5O28資訊網(wǎng)——每日最新資訊28at.com

j5O28資訊網(wǎng)——每日最新資訊28at.com

語法如下:j5O28資訊網(wǎng)——每日最新資訊28at.com

j5O28資訊網(wǎng)——每日最新資訊28at.com

j5O28資訊網(wǎng)——每日最新資訊28at.com

其中:j5O28資訊網(wǎng)——每日最新資訊28at.com

  • $variable 輸入變量,通常是 nginx 的內(nèi)置變量。
  • $new_variable 輸出變量,它將根據(jù)輸入值的映射設(shè)置為特定的結(jié)果。
  • value1, value2, ... 輸入值,可以列出多個值。
  • result1, result2, ... 與相應(yīng)輸入值相關(guān)聯(lián)的輸出結(jié)果。
  • default 一個可選項,表示如果沒有匹配的輸入值,將使用默認結(jié)果

j5O28資訊網(wǎng)——每日最新資訊28at.com

需要注意的是,map 只能放在 http 塊中j5O28資訊網(wǎng)——每日最新資訊28at.com

j5O28資訊網(wǎng)——每日最新資訊28at.com

有了 map,我們就可以輕易的把 $time_iso8601 變量中的 ISO 8601 格式的時間戳轉(zhuǎn)換為指定的時間格式,然后存儲到自定義變量 $log_time 中j5O28資訊網(wǎng)——每日最新資訊28at.com

j5O28資訊網(wǎng)——每日最新資訊28at.com

j5O28資訊網(wǎng)——每日最新資訊28at.com

我們可以看到:j5O28資訊網(wǎng)——每日最新資訊28at.com

  • 輸入變量為 $time_iso8601,輸出變量為 $log_time;
  • default "":如果沒有匹配任何條件,將使用空字符串作為 $log_time 的值
  • "~^(?<year>/d{4})-(?<month>/d{2})-(?<day>/d{2})T(?<hour>/d{2}):(?<minutes>/d{2}):(?<seconds>/d{2})":這是一個正則表達式條件,它用于匹配 ISO 8601 格式的時間戳。該正則表達式包含了多個捕獲組(使用 ?<name> 語法),用于從時間戳中提取年、月、日、小時、分鐘和秒的值
  • "${year}-${month}-${day} ${hour}:${minutes}:${seconds}":這是與正則表達式條件匹配時設(shè)置的輸出值。當正則表達式條件匹配時,它會將捕獲組中提取的年、月、日、小時、分鐘和秒的值組合成一個自定義的時間格式,然后將該值設(shè)置為 $log_time 變量的值

j5O28資訊網(wǎng)——每日最新資訊28at.com

例如,如果 $time_iso8601 的值是 "2023-09-09T14:30:00",則 $log_time 將被設(shè)置為 "2023-09-09 14:30:00"j5O28資訊網(wǎng)——每日最新資訊28at.com

j5O28資訊網(wǎng)——每日最新資訊28at.com

然后我們再把 $log_time 放進我們自定義的日志格式里面,完整配置如下j5O28資訊網(wǎng)——每日最新資訊28at.com

j5O28資訊網(wǎng)——每日最新資訊28at.com

j5O28資訊網(wǎng)——每日最新資訊28at.com

最后我們驗證一下j5O28資訊網(wǎng)——每日最新資訊28at.com

j5O28資訊網(wǎng)——每日最新資訊28at.com

j5O28資訊網(wǎng)——每日最新資訊28at.com

本文鏈接:http://m.rrqrq.com/showinfo-26-10492-0.htmlNginx map 實現(xiàn)時間格式轉(zhuǎn)換

聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: 反駁來了!放棄TypeScript?說明你無知!

下一篇: 19個JavaScript數(shù)組常用方法總結(jié)! 趕快收藏吧!

標簽:
  • 熱門焦點
Top 国产精品嫩草99av在线_一区在线视频观看_欧美高清一区_欧美 日韩 国产 一区_99精品欧美一区二区三区_久久大香伊蕉在人线观看热2_一色屋精品视频在线观看网站_在线亚洲国产精品网站_亚洲区一区二区三区_你懂的视频一区二区
91国偷自产一区二区开放时间 | 欧美国产综合| 国产乱子轮精品视频| 麻豆精品一二三| 麻豆国产欧美日韩综合精品二区| 亚洲夂夂婷婷色拍ww47| 一区二区三区在线观看视频 | 激情欧美国产欧美| 欧美日韩精品综合| 狠久久av成人天堂| 国产嫩草一区二区三区在线观看 | 日本韩国欧美一区二区三区| 日本道精品一区二区三区| 欧美制服丝袜第一页| 欧美三电影在线| 91精品国产综合久久精品app| 91精品欧美久久久久久动漫| 91精品国产综合久久精品图片| 日韩欧美国产一区二区三区| 精品国一区二区三区| 国产日韩欧美综合一区| 国产精品护士白丝一区av| 亚洲三级电影网站| 视频在线观看一区二区三区| 精品一区二区三区在线播放视频| 国产精品一区二区在线播放 | 久久亚洲美女| 91麻豆精品国产91久久久久久久久 | 国产成人亚洲综合色影视| av网站一区二区三区| 亚洲无吗在线| 色欧美日韩亚洲| 26uuu精品一区二区在线观看| 欧美国产一区视频在线观看| 亚洲国产乱码最新视频| 蜜臂av日日欢夜夜爽一区| 成人av电影在线| 亚洲欧洲午夜| 欧美日韩国产中文| 国产欧美视频在线观看| 亚洲福利一区二区| 国产毛片精品国产一区二区三区| 欧美日韩精品不卡| 欧美性色综合网| 欧美国产成人在线| 蜜桃久久久久久久| 欧美在线不卡| 欧洲生活片亚洲生活在线观看| 精品国精品自拍自在线| 香蕉久久夜色精品国产使用方法| 丁香网亚洲国际| 亚洲一区二区三区精品视频| 日韩欧美视频在线| 亚洲一级电影视频| www.综合网.com| 午夜亚洲性色视频| 久久精品一区蜜桃臀影院| 日日骚欧美日韩| 影音先锋国产精品| 91麻豆精品国产91| 日韩精品一卡二卡三卡四卡无卡| 99精品欧美一区二区蜜桃免费 | 亚洲国产日韩在线一区模特| 大美女一区二区三区| 久久国产主播精品| 国产精品久久久久久久第一福利| 国产一区二区久久| 国产精品区一区| 国产婷婷色一区二区三区四区| 麻豆精品视频在线观看| 亚洲最新在线| 国产欧美日韩中文久久| 国产乱淫av一区二区三区 | 精品久久久三级丝袜| 日韩国产欧美在线视频| 精品成人一区| 国产欧美一区二区三区鸳鸯浴| 看片的网站亚洲| 午夜在线视频观看日韩17c| 久久久久久麻豆| 国产99久久精品| 欧美午夜理伦三级在线观看| 亚洲国产欧美日韩另类综合 | 看欧美日韩国产| 亚洲激情在线激情| 欧美日韩午夜| 亚洲国产精品精华液ab| av午夜精品一区二区三区| 91精品免费在线| 精品一二三四区| 欧美亚洲国产怡红院影院| 亚洲最新视频在线观看| 在线观看一区| 亚洲视频 欧洲视频| 欧美日韩国产综合在线| 久久精子c满五个校花| 成人性生交大片免费看中文 | 亚洲精品国产一区二区精华液| 欧美成人综合| 国产欧美精品一区二区三区四区| 99精品欧美一区二区三区综合在线| 日韩精品在线一区二区| 国产成人在线电影| 337p粉嫩大胆色噜噜噜噜亚洲| 国产美女精品在线| 精品捆绑美女sm三区| 不卡一二三区首页| 久久夜色精品一区| 欧美日韩亚洲一区二区三区在线观看 | 色综合天天综合在线视频| 精品粉嫩超白一线天av| 91香蕉视频污| 国产欧美日韩不卡| 亚洲精品欧美| 日韩精品三区四区| 欧美无砖砖区免费| 东方aⅴ免费观看久久av| 日韩欧美中文字幕一区| 91亚洲永久精品| 欧美激情一区二区三区不卡| 国产欧美日韩综合一区在线播放| 亚洲综合久久久| 欧美亚洲免费在线一区| 豆国产96在线|亚洲| 国产午夜精品福利| 夜夜爽av福利精品导航| 日日夜夜精品视频免费| 欧美一区二区三区四区久久| 91视频.com| 亚洲一区视频在线| 欧美日韩免费电影| 欧美一区激情| 亚洲影视资源网| 欧美电影在哪看比较好| 午夜精品免费| 亚洲一区二区欧美激情| 在线播放欧美女士性生活| 99久久99久久精品免费看蜜桃| 成人免费在线视频观看| 日本久久一区二区三区| 91一区二区在线| 亚洲6080在线| 欧美mv日韩mv亚洲| 一区二区国产日产| 国产精品一区二区久久精品爱涩| 日本一区二区三区免费乱视频| 久久久久se| 97久久人人超碰| 午夜久久福利影院| 精品国内片67194| 欧美亚洲免费在线| 99视频精品免费视频| 亚洲成av人影院| 久久麻豆一区二区| 在线观看国产91| 黄色国产精品| 国产精品一二三区| 亚洲综合在线电影| 26uuu色噜噜精品一区二区| 另类天堂av| 国产精品国产亚洲精品看不卡15| 久久精品国产一区二区| 亚洲视频每日更新| 久久亚洲一级片| 欧亚一区二区三区| 99re国产精品| 91麻豆自制传媒国产之光| 久久精品国产久精国产| 最新久久zyz资源站| 日韩一区二区在线观看视频| 亚洲欧美日韩精品在线| 国产精品二区在线| 国产福利不卡视频| 日本在线不卡视频| 亚洲人成在线播放网站岛国| 精品国产乱码久久久久久夜甘婷婷 | 五月综合激情网| 一区二区三区波多野结衣在线观看| 日韩欧美一区二区三区在线| 欧洲一区在线观看| 亚洲永久免费| 亚洲毛片av| 亚洲香蕉网站| 欧美日韩在线高清| 99亚偷拍自图区亚洲| 国产精品亚洲视频| 激情综合色综合久久综合| 婷婷综合另类小说色区| 一区二区三区中文字幕电影| 国产欧美精品区一区二区三区| 久久蜜臀精品av| 精品国产乱码久久久久久蜜臀| 欧美日本免费一区二区三区| 日本韩国欧美一区| 在线观看一区不卡| 欧美亚洲综合另类| 久久经典综合| 久久最新视频| 久久国产免费| 免费在线亚洲欧美|