pg日誌分析
pg 日誌支援多種格式,一般的平面文字
還有csv 格式
在postgresql.conf 裡把日誌格式設為 csvlog 重新載入配置檔案就可以了。
把csv 匯入到資料庫裡分析,可以充分利用sql的便利性。[code]
CREATE TABLE postgres_log
(
log_time timestamp(3) with time zone,
user_name text,
database_name text,
process_id integer,
connection_from text,
session_id text,
session_line_num bigint,
command_tag text,
session_start_time timestamp with time zone,
virtual_transaction_id text,
transaction_id bigint,
error_severity text,
sql_state_code text,
message text,
detail text,
hint text,
internal_query text,
internal_query_pos integer,
context text,
query text,
query_pos integer,
location text,
application_name text,
PRIMARY KEY (session_id, session_line_num)
);
[/code]日誌匯入[code]
postgres=# \encoding utf8
postgres=# copy postgres_log from '/usr/local/pgsql/data/pg_log/postgresql-2012-10-11.csv' with csv ;
COPY 65
postgres=# \q
[/code]接下來就可以按需分析了。
寫了個小指令碼,免得每次都麻煩:
[code]
#!/bin/bash
function load_logfile() {
psql < \encoding UTF8
\set on_error stop
begin ;
copy postgres_log from '$1' with csv ;
commit ;
EOF
}
function truncate_table() {
psql < \set on_error stop
begin ;
truncate table postgres_log ;
commit;
EOF
}
if [ "$1" = 'TRUNCATE' -o "$1" = 'truncate' ]
then
truncate_table
else
load_logfile $1
fi
還有csv 格式
在postgresql.conf 裡把日誌格式設為 csvlog 重新載入配置檔案就可以了。
把csv 匯入到資料庫裡分析,可以充分利用sql的便利性。[code]
CREATE TABLE postgres_log
(
log_time timestamp(3) with time zone,
user_name text,
database_name text,
process_id integer,
connection_from text,
session_id text,
session_line_num bigint,
command_tag text,
session_start_time timestamp with time zone,
virtual_transaction_id text,
transaction_id bigint,
error_severity text,
sql_state_code text,
message text,
detail text,
hint text,
internal_query text,
internal_query_pos integer,
context text,
query text,
query_pos integer,
location text,
application_name text,
PRIMARY KEY (session_id, session_line_num)
);
[/code]日誌匯入[code]
postgres=# \encoding utf8
postgres=# copy postgres_log from '/usr/local/pgsql/data/pg_log/postgresql-2012-10-11.csv' with csv ;
COPY 65
postgres=# \q
[/code]接下來就可以按需分析了。
寫了個小指令碼,免得每次都麻煩:
[code]
#!/bin/bash
function load_logfile() {
psql <
\set on_error stop
begin ;
copy postgres_log from '$1' with csv ;
commit ;
EOF
}
function truncate_table() {
psql <
begin ;
truncate table postgres_log ;
commit;
EOF
}
if [ "$1" = 'TRUNCATE' -o "$1" = 'truncate' ]
then
truncate_table
else
load_logfile $1
fi
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/133735/viewspace-746257/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- PG wal 日誌的物理儲存分析
- 日誌分析-apache日誌分析Apache
- PostgreSQL-開啟PG日誌(六)SQL
- [日誌分析篇]-利用ELK分析jumpserver日誌-日誌拆分篇Server
- 【PG】PostgreSQL 預寫日誌(WAL)、checkpoint、LSNSQL
- PG wal日誌LSN相關函式函式
- crash日誌分析
- FDOAGENT日誌分析
- 玄機-第二章日誌分析-apache日誌分析Apache
- perl分析apache日誌Apache
- JAVA GC日誌分析JavaGC
- Docker 容器日誌分析Docker
- 日誌採集/分析
- Android ANR日誌分析指南Android
- 日誌分析如何演變
- CDN日誌實時分析
- mongodb 日誌分析工具mtoolsMongoDB
- IOS 崩潰日誌分析iOS
- ELK日誌分析系統
- pgbadger 慢日誌分析工具
- 日誌分析一例
- nginx日誌分析工具goaccessNginxGo
- net 日誌分析錯誤
- 日誌分析常規操作
- PG啟動流程StartupXlog函式回放日誌前處理函式
- 【REDO】Oracle 日誌挖掘,分析歸檔日誌線上日誌主要步驟Oracle
- [20181217]ogg抽取日誌分析.txt
- ClickHouse與威脅日誌分析
- ELK-日誌分析系統
- Mysql 慢日誌分析工具MysqldumpslowMySql
- 應急響應:日誌分析
- TFA-收集日誌及分析
- Oracle listener log 日誌分析方法Oracle
- 日誌分析(1)常見命令
- 關於MySQL 通用查詢日誌和慢查詢日誌分析MySql
- Postgres使用pg_resetwal命令修改wal日誌檔案大小的方法
- fluentd收集kubernetes 叢集日誌分析
- Zookeeper原始碼分析(二) —– zookeeper日誌原始碼
- Zookeeper原始碼分析(二) ----- zookeeper日誌原始碼