前言:如何实现一个前端监控系统,那么nginx服务器的配置必不可少,那么如何进行nginx的配置,拿到当前请求的的错误信息,然后进行日志清洗过滤标准入库呢?下面我带领大家一步一步的进行实现引导。
监控实现的流程:
什么是Nginx:
Nginx服务器以其功能丰富著称于世。它既可以作为HTTP服务器,也可以作为反向代理服务器 或者邮件服务器;能够快速响应静态页面(HTML)的请求;支持FastCGI、SSL、Virtual Host、URL Rewrite、HTTP Basic Auth、Gzip等大量使用功能;并且支持更多的第三方功能模块的扩展。
Nginx的基本配置:
最外层的花括号将内容整体分为两部分,再加上最开始的内容,即第-行省略号表示的, nginx.conf-共由三部分组成,分别为全局块、events 块和htp块。在http块中,又包含htp全局块、多个server块。每个server块中,可以包含server全局块和多个location块。在同一配置块中嵌套的配置块,各个之间不存在次序关系。《摘自 Nginx高性能Web服务器详解 2.4章节》
nginx切分方式:
shell脚本的读取文件目录进行切分:
根据内置的变量进行切分:
Tips:
刚才的set其实是对nginx的变量标记,跟Javsscript的var、let 其实有异曲同工之妙,用正则提取当前的时间节点进行赋值切分,进行日志赋值。
日志默认定义的格式:
nginx内置变量说明:
什么是shell:
Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁。Shell 既是一种命令语言,又是一种程序设计语言。《摘自 shell 菜鸟教程》
在计算机语言中,Shell 是指一种命令行解释器,是为用户和操作系统之间通信提供的一种接口(想象一下,如果没有一种与计算机沟通的方式,那么计算机如何得到来自人脑的指令呢),它接受来自用户输人的命令,并将其转换为一系列的系统调用送到内核执行,并将结果输出给用户。《摘自 Linux系统命令及Shell脚本实践指南 章节11.1》
代码示例
#!/bin/sh
echo "大家好 我是shell"
getUserInfo(){
echo "你想认识我吗:"
read bool
echo $bool
if [ $bool == 'yes' ]; then
echo "哦~ 谢谢!我叫shell!您叫什么?"
# 再次输入
read name
echo "嗨~ 你好 $name"
elif [ $bool = 'no' ]; then
echo "你居然给我说 $bool ! 我不活了!! 你不爱我了吗?"
# 再次输入
read test
if [ $test == 'ai' ]; then
echo "你讨厌!滚吧"
else
echo "再见!男人的嘴骗人的鬼!"
fi
else
echo "你在居然跟我说 $bool !!! 再见"
fi
}
getUserInfo $1
crontab定时器:
Linux crontab是用来定期执行程序的命令。
实现的脚本:
详情请看amazing-webNginxLog 欢迎star
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。