Paloalto的Log数据推送思路与Syslog-NG服务使用与配置
前言:
对于Log数据集中收集管理来说,Syslog服务的重要性不言而喻。比如在平时,Openresty就吐出很多log数据,对这些数据进行集中,可以对积累的数据进行分析,从中找到很多有价值的信息。
像paloalto这种设备,可以根据定制化的策略规则产生的数据,对应不同机器的不同的syslog服务, 如果性能和负荷都够的话,也可以把一台paloalto设备上的安全策略,对应同一台syslog-ng服务的不同端口。
把高,中,低,交通数据,吐到192.168.0.1的 810,811,812,813端口上的syslog服务上。 然后,分别对不同级别信报进行分类处理。
也可以把,指定一个网段的所有交通数据都集中吐到一个端口服务上。然后,通过ELK进行这个网站数据流量的分析,对记录字段进行分词统计。
正文:
拿阿里VPS来说,如果是Ubuntu系统,安装Syslog-NG很方便,使用apt-get的方式:
sudo apt-get install syslog-ng
安装之后,可以看一下运行的状态:
/etc/init.d/syslog-ng status ...
ES(Elasticsearch)常用操作与Python客户端
ES常用操作
之前老板本的ES使用的创建索引的指令已经失效了。
curl -X PUT 'http://127.0.0.1:9200/testcase/' -d '
index:
number_of_shards:3
number_of_replicas:2
'
索性就不创建索引,直接插入数据, ES不用像关系型数据库那样,需要在插插入数据前,先定义数据库表结构,没有create table的过程。
curl -X POST http://127.0.0.1:9200/testcase/case/1 -d '{"phone":"15811111111" ,"identity":"xxx", "credit":"xxx"}'
输出结果:
{“_in ...
Openresty的Lua各阶段模块执行的顺序
by 糖果收集
LVS负载均衡下的Openresty间的主从Redis同步
LVS负载均衡下的Openresty间的主从redis同步
正文:
像一般在多台提供相同服务的Openresty服务前端会挂F5或是Ha,做为负载均衡,因为逻辑关系有时会用共享使用一份Redis,如果这时,使用Redis的主从模式,就可以很好共享一份Redis服务的数据,但从时间上讲,还是存在数据同步的延时的问题。
简单说一下Redis的主从设置:
在redis安装的目录,或是etc下会找到redis的配置文件, redis.conf。只要在配置文件追加两句话,就可以配置主从模式。
slaveof 192.168.0.0.1 6379
masterauth password
slaveof :子句后指定主服务器的地址和端口号。
masterauth : 后跟主服务器的登陆密码。
设置后重起一下Redis:
redis-server /etc/redis.conf
分别登陆一下两台机器,简单的可以看一下数据是否同步。
redis-cli
>keys *
后记:
在某种情况下,同一上HA后的两个Openresty服务,很可能不在一个大楼的网络里,这种互备的情况 ...
用Lapis工程创建Openresty正向代理服务
作者:糖果
正文:
利用Openresty服务创建一个正向代理服务器,最开始是想在Lapis创建的工程下直接创建,基本的配置如下面的代吗:
创建一个Lapis工程:
lapis new
然后在配置文件里加入,正向代理的配置。
worker_processes ${{NUM_WORKERS}};
error_log stderr notice;
daemon off;
pid logs/nginx.pid;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_byt ...
Openresty使用Log_by_lua推送数据到Syslog服务器
LOG_BY_LUA推送数据到Syslog服务器
正文:
Openresy的resty_logger组件,提供了一种可能,就是在Openresty的Log阶段,推送数据到syslog-ng服务器上,Openresty的执行阶段,其实是一种虚拟化的逻辑业务划分,如果从TCP数据包的角度来看,是分不出什么init, content,log等阶段,而log阶段应该是所有的Openresty执行阶段的最后一个阶段,关于执行阶段的顺序,可以参照下面的这个图:
对于resty-logger的执行处理,如果要划分几大处理的话,可以分成, syslog服务器信息定义,初始化连接,写入log数据。可以在代码中,比较清晰的看出来,官方的例子如下,一些参数进行了调整:
log_by_lua '
local logger = require "resty.logger.socket"
ngx.log(ngx.ERR, "Test Syslog: ", "call")
...
Lua的HTTP库
其实除lua curl,还有另外一个库,也用以用HTTP请求。就是lua socket的http请求。
可以用这种方式进行http请求和简单的数据爬取,然后用正则,对返回的数据进行分析。
http = require("socket.http")
body, ret = http.request("http://wwww.baidu.com")
print(body)
在VIM中把tab定义成四个空格
编辑.vimrc文件,加入下面两行。
set shiftwidth=4
set softtabstop=4
再次打开vim后, tab就定义成了四个空格。
VIM创建新行与跳到下一个字符
在当前行所在行的任意列的位置"o"可以在下一行创建新的一行,并且光标跳到了下一行。
"a"快捷键是跳到一下这符,如果已经是取后一个字符,光标也会跳到最后一个字符的一个光标位置。


