统计nginx日志,查看调用api最高的app top10

有个需求,是统计nginx访问日志,统计出调用rest api最高的用户app前10,每分钟统计一次。 nginx定义的日志格式: ‘V1 [$time_iso8601] $remote_addr $host $request ‘ # Request ‘$status $body_bytes_sent $bytes_sent $request_time ‘ # Response ‘”$http_referer” “$http_user_agent” “$http_x_forwarded_for” ‘ # Client ‘$tcpinfo_rtt,$tcpinfo_rttvar,$tcpinfo_snd_cwnd,$tcpinfo_rcv_space ‘ # NET ‘$upstream_addr $upstream_status $upstream_response_time’; # Upstream 如下为日志返回的三种状态(200,40x, 50x) 207.247.141.184 a1.XXX.com – [2015-11-29T09:42:05+08:00] “POST /qudeo/xiying/devices HTTP/1.1” 503 740 “-” “XXX-SDK(Android) 2.1.3” “-” 0.316 – Read more…

SQLAlchemy参考

转自:http://www.zouyesheng.com/sqlalchemy.html 1. 基本流程

2. 创建连接 SQLAlchemy 的连接创建是 Lazy 的方式, 即在需要使用时才会去真正创建. 之前做的工作, 全是”定义”. 连接的定义是在 engine 中做的. 2.1. Engine engine 的定义包含了三部分的内容, 一是具体数据库类型的实现, 二是连接池, 三是策略(即engine 自己的实现). 所谓的数据库类型即是 MYSQL , Postgresql , SQLite 这些不同的数据库. 一般创建 engine 是使用 create_engine 方法:

参数字符串的各部分的意义:

对于这个字符串, SQLAlchemy 提供了工具可用于处理它:

create_engine 函数有很多的控制参数, 这个后面再详细说. 2.2. Engine的策略 create_engine 的调用, Read more…

VIM配置和插件

VIM配置和插件 安装步骤 clone到本地,配置到linux个人目录

快捷键 修改的快捷键和插件快捷键

插件 插件管理 gmarik/vundle 必装,用于管理所有插件 命令行模式下管理命令:

代码自动补全 Valloric/YouCompleteMe 需要编译这个插件(见github文档) 这个需要自己去看官方的配置方式,演示在官方github有 需要Vim 7.3.584 以上版本(如何编译vim) 这个插件包含了以下几个插件功能,所以不需要装下面:

快捷键:

代码片段快速插入 SirVer/ultisnips +honza/vim-snippets 必装,效率杀手锏,快速插入自定义的代码片段 代码片段集合,有缺陷 自动补全加这个,高效必备, 针对各种语言已经带了一份配置了,可以到安装目录下查看具体,我有针对性补全一份,在my_snippets目录下,可自行修改 演示 Tagbar majutsushi/tagbar

演示 Markdown plasticboy/vim-markdown markdown语法,编辑md文件 状态栏增强 bling/vim-airline 演示 vim-bufferline bling/vim-bufferline 状态栏显示buffer 演示 in the statusline or Read more…