前言:
当前咱们对“如何查看oracle的请求访问日志”大体比较关切,兄弟们都需要剖析一些“如何查看oracle的请求访问日志”的相关知识。那么小编在网络上收集了一些关于“如何查看oracle的请求访问日志””的相关文章,希望同学们能喜欢,兄弟们一起来学习一下吧!最近在排查haproxy日志的过程中发现,与其他容器不同的是,haproxy要记录负载的请求日志并没有那么容易,不像其他容器直接在yml中配置日志文件映射就能记录日志。并且使用docker-compose logs -f 查看的日志并不是请求的日志,而是容器启动日志。
进一步研究发现,走配置文件直接映射日志文件的路子走不通,需要借助rsyslog系统日志服务采集haproxy的请求日志,而haproxy默认是没有开启日志记录的(开启后若请求比较频繁,会产生大量的日志),需要相应的手工配置使其日志功能开启。
一、RSYSLOG系统日志服务
linux上,应用程序和内核都需要记录日志。负责记录应用程序的是syslogd,记录内核的则是klogd。centos 5上使用的是syslog,但由于其功能过于薄弱和单一,在centos 6和7上被rsyslog所取代。
rsyslog是linux系统中用来实现日志功能的服务。默认已经安装,并且自动启用。
作用:主要用来采集日志,不生产日志,转换它们,并将结果输出到不同的目的地。
其特性包括:
(1)支持输出日志到各种数据库,如 MySQL、Oracle、PostgreSQL、MongoDB等;
(2)精细的输出格式控制以及对消息的强大 过滤能力;
(3)高精度时间戳;队列操作(内存,磁盘以及混合模式等); 支持数据的加密和压缩传输等。
(4)高性能,每秒可以向本地目的地发送超过一百万条消息
rsyslog守护进程可以被配置成两种环境,一种是配置成日志收集服务器, rsyslog进程可以从网络中收集其它主机上的日志数据,这些主机会将日志配置为发送到另外的远程服务器【因为日志产生的比较多,会专门的分配大磁盘的日志服务器】。rsyslog的另外一个用法,就是可以配置为客户端,用来过滤和发送内部日志消息到本地文件夹(如/var/log)或一台可以路由到的远程rsyslog 服务器上,本文我们就是基于这种用法,发送信息到本地的指定目录文件下(比如我设置的路径 /data/haproxy/logs/haproxy.log)
二、配置日志服务
【创建日志记录文件夹】
mkdir -p /data/haproxy/logs/haproxy.logchmod a+x /data/haproxy/logs
【开启rsyslog记录haproxy日志功能】
修改rsyslog.conf文件,使用 vim /etc/rsyslog.conf 命令进入。
修改之前的文件内容如下:
(1)修改(开启514 UDP监听 ),放开红色字体对应两行的注释:
# Provides UDP syslog reception$ModLoad imudp$UDPServerRun 514
(2)添加下面一行代码(指定日志存放点),位于上面的代码下面一行:
local0.* /data/haproxy/logs/haproxy.log
修改之后的截图如下:
【修改/etc/sysconfig/rsyslog】
修改rsyslog 文件,使用 vim /etc/sysconfig/rsyslog 命令进入。
(1)添加以下内容【红色字体部分】:
# Options for rsyslogd# Syslogd options are deprecated since rsyslog v3.# If you want to use them, switch to compatibility mode 2 by "-c 2"# See rsyslogd(8) for more detailsSYSLOGD_OPTIONS="-r -m 0 -c 2"三、配置haproxy
【haproxy配置】
我使用的是docker-compose 部署的haproxy,结构如下:
修改config文件夹下的haproxy.cfg配置文件,使用 vim /data/haproxy/config/haproxy.cfg
添加:
log 192.168.10.xx local0 info
注意:配置local0事件,这里不要使用log 127.0.0.1 local0 info,而是使用服务器的内网ip192.168.10.xx。
global daemon log 192.168.10.234 local0 infodefaults log global mode http retries 3 option httplog option dontlognull timeout connect 5000ms timeout client 50000ms timeout server 50000ms######## 监控界面配置 #################listen admin_status bind *:8888 # 监控界面访问信息 mode http stats refresh 5s #统计页面刷新间隔 stats uri /haproxy # 监控页面URI stats realm Global\ statistics # 统计报告格式 stats auth test:password # 登录账户信息frontend http_service bind 0.0.0.0:80 default_backend http_backendsbackend http_backends balance roundrobin #轮询算法;check表示健康检查 server server1 192.168.10.234:8080 check
修改完成之后,使用docker-compose up -d 启动 haproxy。
四、日志验证
(1)重新启动rsyslog
systemctl restart rsyslog
(2)网页中输入经过haproxy的网址进行测试,查看是否生成请求日志,我以我的访问地址为例。
(3)查看日志记录
使用命令 tail -f /data/haproxy/logs/haproxy.log 查看日志。
标签: #如何查看oracle的请求访问日志