孤独酒馆|一个能融会贯通PostgreSQL监控的人,大概率是高手( 二 )


2、日志的输出信息的标准
3、日志的位置,及日志的名字
4、废弃日志的处理
POSTGRESQL本身日志提供的数据比较集中,并且相对的配置项也比较多
例如信息输出的目的地, 收集是否打开还是关闭, 日志的存储的目录,日志数据的文件名格式,以及数据是否要进行rotation等等 。 还有日志内部的格式是什么, 这都与后面要如何分析日志有关,有些日志分析软件是要指定日志的格式.
孤独酒馆|一个能融会贯通PostgreSQL监控的人,大概率是高手5、日志需要记录的信息
Checkpoints信息
Connection信息
Disconnection信息
Lock信息
临时表在系统中的产生的信息
例如我们收集信息的错误类型, 慢查询日志, checkpoint connection的一些信息,主机名,锁信息 等等 。
孤独酒馆|一个能融会贯通PostgreSQL监控的人,大概率是高手
介绍个相关工具Pgbadger,Pgbadger是一个开源的分析POSTGRESQL日志的工具,通过这个工具可以对POSTGRESQL 日志进行分析,Ppgbadger是通过perl语言撰写的根据固定格式日志,来产生WEB 分析报告的一个开源的软件 。 其中主要对连接, checkpoint 临时文件, vacuum 以及锁慢查询等等进行一个页面展示,并进行一些分析.
孤独酒馆|一个能融会贯通PostgreSQL监控的人,大概率是高手Postgresql 如何分析日志 -- Pgbadger
孤独酒馆|一个能融会贯通PostgreSQL监控的人,大概率是高手Postgresql 如何分析日志 -- Pgbadger
上图的相关展示还是比较详细的 。 还可以进行二次开发将信息通过网站发布,方便查看 。
孤独酒馆|一个能融会贯通PostgreSQL监控的人,大概率是高手
通过日志可以分析更多的信息,这里就不再展开了, 另外我们其实是可以通过数据库系统本身来获取信息, 数据库本身的提供的信息也分两种 。
1与数据库底层有关的信息 ,也就是数据库与系统有关的信息2与数据库本身有关的信息, 这里PG中有一部分是pg_catalog schema 信息,其中包含了大量 与PG有关的信息 。
2、通过语句获取postgresql 信息:
SELECT 'index hit rate' AS name,(sum(idx_blks_hit)) / nullif(sum(idx_blks_hit + idx_blks_read),0) AS ratioFROM pg_statio_user_indexesUNION ALLSELECT'table hit rate' AS name,sum(heap_blks_hit) / nullif(sum(heap_blks_hit) + sum(heap_blks_read),0) AS ratioFROM pg_statio_user_tables;这条语句获取的信息, 有两个点 :
1系统的内存是否有短缺的可能 。
2是否缺少索引 。
pg_statio_user_indexes是一个视图 , 其中包含了数据库中的表中的index的读取和命中的数字, 将这两个数字进行加工就可以得到一个比率,通过这个比率就可以, 下边的是pg_statio_user_tables这里也是展示在内存中获取到信息和整体读取数据的数字, 这两个的比率也是可以展示表数据读取 在内存中HIT 的情况.
孤独酒馆|一个能融会贯通PostgreSQL监控的人,大概率是高手BLOAT膨胀这个词在postgresql中是一个比较敏感的词, 你的数据库中的表的是否膨胀你是要清楚了,如果POSTGRESQL 中一个表任意膨胀.


推荐阅读