Posts under category "运维"
Continue Reading ...kibana中的搜索和匹配
本来我是忠实的命令行党,有awk和grep在手,没有处理不了的日志。但是随着日志越来越分布,日志量越来越庞大,awk和grep就不是那么合适了。于是决定还是老老实实和大家一起用elk做日志分析。下面是从小白到进阶使用正则做匹配的过程,只是提纲挈领的入门过程而已,每个阶段选择了几个Nginx日志场景做样例。
Nginx中的url参数获取和header传递方法
本文分为如下三个部分
Nginx中获取url的参数
Nginx向后端服务器发送自定义header
Nginx返回自定义header给客户端
使用Lua填Nginx的坑
gitab出现500错误的可能原因
HTTP服务器返回码为500表示服务器出错,我遇到过好几次GitLab出现500错误,主要是在用户merge request和提交issue的时候。我们的GitLab服务器版本为GitLab 7.9.1社区版。
![gitlab-500.png][1]
tcpcopy的简单用法
这篇文章介绍下网易开源的流量重放(replay)工具TCPCopy,说是简单介绍,绝对不是谦虚,因为自己了解的确实也不多。为什么不甚了解呢,大家可以到TCPCopy的官方仓库看看,https://github.com/session-replay-tools/tcpcopy.git,这货的官方文档是全英文的,不知道为什么,读起来特别有难度。OK,吐槽到这里结束,接下来是实战时间。
使用openresty增强Nginx的Proxy_Cache缓存
这个静态首页缓存的需求是分步骤的,当你越往下走,才发现水越深。一开始都把事情想当然了。本篇文章详细描述了如何一步步深入需求,解决缓存中遇到的问题,以及踩过的水坑。
![fierce][1]
keepalived的简单配置
Keepalived是一款流行的高可用软件,通过为keepalived集群设置虚IP和健康检测脚本,当检查失败的时候,根据keepalived的策略使虚IP在服务器之间漂移。由于虚IP漂移过程中可能有交换机arp缓存导致请求失效,所以在切换到master之后,应立刻自动执行脚本刷新交换机的缓存。
Nginx记录用户请求Header到access log
为了统计和其它用途,经常有人需要自定义Nginx日志,把http请求中的某个字段记录到日志中,刚好在看lua+nginx的文章,第一想到的是用lua赋值来做,但是想想有点小恶心,于是Google了一番,发现Nginx自己就能够记录收到的HTTP请求的头部数据,测试如下方法可用。
利用strace做PHP故障排查
![tools.jpg][1] 收到报警线上运行PHP程序的8核服务器load average达到200多,这个太吓人了。赶紧登录系统运行top,看到好几个php-fpm进程CPU利用率达到100%,看到大多数CPU都消耗在内核态,即sys模式,运行状态良好的程序大多时候应该运行在用户态才对呀。
用strace看看进程内部的系统调用,为了方便重复查看,把输出重定向到临时文件/tmp/php.debug中:
# strace -p <PID> 2> /tmp/php.debug