使用杂项日志监视报表生成器。

logchart的Python项目详细描述


此工具使用其他日志文件中的图表生成监视器报告:

  • jvm垃圾收集器日志(gc.log)

  • Java虚拟机日志(jvm.log)

  • jboss线程日志(webthreads.log)

  • NuxeoDS数据源使用情况(nuxeo ds.log)

  • jmxstat输出(jmxstat.log)

  • sysstat sar日志、cpu和磁盘活动(sysstat sar.log)

  • PostgreSQL日志(pgsql.log)

  • PostgreSQL真空输出(vacuum.log)

    查看a report example

要求

  • Python
  • python docutils
  • gnuplot>;=4.2(支持PNG)
  • sysstat sar,与监视期间使用的版本相同。
  • PGF用于PostgreSQL日志和真空分析

在Debian上:

sudo aptitude install gnuplot sysstat python-docutils pgfouine

用法

logchart.py工具要求所有日志都在同一个日志中 编制目录并生成详细报告:

logchart.py [options] LOG_PATH REPORT_PATH

hudson.sh脚本可用于从hudson作业扫描其他作业 并生成日志图表监视器报告。

如何在jboss/tomcat上设置监控

nuxeo monitorctl.sh脚本生成所有日志。

这里有一些关于如何手工操作的细节。

垃圾收集器监视

使用jvm verbose:gc选项:

JAVA_OPTS="$JAVA_OPTS -Xloggc:$JBOSS_HOME/server/default/log/gc.log  -verbose:gc -XX:+PrintGCDetails -XX:+PrintGCTimeStamps"

磁盘和系统监视

使用sysstat sar实用程序,只需运行如下命令:

sar -d -o $JBOSS_HOME/server/default/log/sysstat-sar.log 5 720 >/dev/null 2>&1 &

这将在1小时内每隔5秒监控一次活动。

jmx日志

使用jmxstat

jmxstat localhost:1089 --contention  "Catalina:type=Manager,path=/nuxeo,host=localhost[activeSessions]"  > jmxstat.log 2>&1 &

PostgreSQL监控

访问pgfouine教程以正确设置PostgreSQL实例

http://pgfouine.projects.postgresql.org/tutorial.html

例如,仅日志请求的速度低于100毫秒:

log_min_duration_statement = 100

PostgreSQL真空分析

只需抓住真空输出:

vacuumdb  -fzv database-name &> vacuum.log

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
由于java的原因,maven无法运行代码。lang.NoClassDefFoundError:com/fasterxml/jackson/annotation/JsonMerge   Android项目中的java Creative SDK图像编辑器UI   java如何在Android Studio中使用DataOutputStream上传文件并将其他参数传递到web服务器   java倒计时服务打开时崩溃   java将RubyonRails项目转换为JRubyonRails项目   java我的图库意图是不显示图像?为什么?   java如何在春季启动时跳过mongodb/   java@Autowired在Spring中是如何实现的   甲骨文Akka java。util。同时发生的timeoutexception线程池频繁超时   java maven依赖项对spring启动应用程序有何影响?   java Firestore执行复合查询,未截获事件“已修改”   java ItemStreamException:未能初始化读取器,原因是:IllegalStateException:流已初始化。重新开放前关闭   java将空标记解组到集合的新实例中   使用AspectJ的java新手:无法调用aspect   java查找棋类游戏的所有组合   你为什么要这样做and==与Java中的equals方法不一样吗?   如何对使用JavaUUID的代码进行单元测试?