日志

日志归档与数据挖掘

拟墨画扇 提交于 2020-12-12 02:45:45
日志归档与数据挖掘 http://netkiller.github.io/journal/log.html Mr . Neo Chen (陈景峰) , netkiller, BG7NYT 中国 广东省 深圳市 龙华新区民治街道溪山美地 518131 +86 13113668890 +86 755 29812080 < netkiller@msn.com > 版权 © 2013, 2014 Netkiller. All rights reserved. 版权声明 转载请与作者联系,转载时请务必标明文章原始出处和作者信息及本声明。 文档出处: http://netkiller.github.io http://netkiller.sourceforge.net 2014-12-16 摘要 2013-03-19 第一版 2014-12-16 第二版 我的系列文档 Netkiller Architect 手札 Netkiller Developer 手札 Netkiller PHP 手札 Netkiller Python 手札 Netkiller Testing 手札 Netkiller Cryptography 手札 Netkiller Linux 手札 Netkiller Debian 手札 Netkiller CentOS 手札 Netkiller FreeBSD 手札

openstack(juno版)使用rsyslog转发日志

…衆ロ難τιáo~ 提交于 2020-04-11 17:46:40
系统:ubuntu14.04 openstack版本: juno 一,在nova中启用rsyslog 1. 修改 /etc/nova/nova.conf [DEFAULT] use_syslog = True syslog_log_facility = LOG_LOCAL0 2. 修改nova代码。 2.1首先确认nova代码的位置 python -c 'import nova;print nova.__path__' ['/usr/lib/python2.7/dist-packages/nova'] 2.2进入nova目录 cd /usr/lib/python2.7/dist-packages/nova 2.3修改代码 vim openstack/common/log.py 2.3.1 搜索"use-syslog-rfc-format"关键字,将配置中的default=False改为True,启用rfc格式的日志,如果不启用的话,不会把发送日志的程序名打印出来,该配置在配置文件中修改无效,所以直接改代码中的默认值。 修改后如下: cfg.BoolOpt('use-syslog-rfc-format', # TODO(bogdando) remove or use True after existing # syslog format deprecation in J

Kafka是个奇葩!——Linkin论文学习笔记

允我心安 提交于 2020-04-08 04:56:21
Kafka是啥?## 是个消息中间件吗?那和市面上其他一堆堆的中间件例如ActiveMQ, RabbitMQ有什么区别? 答案只有一个: Kafka是个集群的消息中间件+存储,一个节点可以存储几T的数据! 为啥一个中间件需要存储数据呢? 慢慢道来…… 原来,对于Linkin这样的互联网企业来说,用户和网站上产生的 数据有三种 : 需要实时响应的交易数据,用户提交一个表单,输入一段内容,这种数据最后是存放在关系数据库(Oracle, MySQL)中的,有些需要事务支持。 活动流数据,准实时的,例如页面访问量、用户行为、搜索情况,这些数据可以产生啥?广播、排序、个性化推荐、运营监控等。这种数据一般是前端服务器先写文件,然后通过批量的方式把文件倒到Hadoop这种大数据分析器里面慢慢整。 各个层面程序产生的日志,例如httpd的日志、tomcat的日志、其他各种程序产生的日志。码农专用,这种数据一个是用来监控报警,还有就是用来做分析。 Linkin的牛逼之处,就在于他们发现了原先2,3的数据处理方式有问题,对于2而言,原来动辄一两个钟头批处理一次的方式已经不行了,用户在一次购买完之后最好马上就能看到相关的推荐。而对于3而言,传统的syslog模式等也不好用,而且很多情况下2和3用的是同一批数据,只是数据消费者不一样。 这2种数据的特点是: 准实时,不需要秒级响应,分钟级别即可。

利用python分析日志生成图表

落花浮王杯 提交于 2020-04-08 02:41:24
这篇文章讲的是采用python生成报表的方案。 工具: python、mysql、日志文件、hightchart 应用场景: 平时工作中经常遇到一些需要统计的工作,比如门户类的网站新闻采集量、发布量、废弃量等,能够直观的显现出来,这样对于分析流量、SEO、等都非常方便。 处理流程: 分析日志 python分析日志文件,日志可以是apache、nginx的访问日志,也可以是自定义生成的日志 统计数据入库 将python分析日志得到的统计数据放到mysql库中 利用flask渲染页面 利用flask框架,生成路由和渲染图表页面 连接Mysql读取数据 图表数据从mysql库中读取,返回json对象,5分钟一条记录 highcharts 利用highcharts生成实时监控数据图表 代码在git上,地址如下: https://github.com/guyfar/python_chart 欢迎fork和star :) 来源: oschina 链接: https://my.oschina.net/u/117263/blog/694390

slf4j 和 log4基础入门(Maven配置)

旧巷老猫 提交于 2020-03-16 08:51:57
我们将从四个问题出发。 第一,log4j是什么? log4j是一个日志系统,是Apache的一个开放源代码项目。当然Java日志系统比较丰富,其他常用的日志系统还有java.util.logging、JUL、logback等等。 第二,slf4j又是什么? slf4j(Simple logging facade for Java),即简单日志门面。它不同于上面所说的各种日志系统,不是真正的日志实现,不是具体的日志解决方案。而是一个抽象层,它允许你在后台使用任意一个日志系统(例如log4j)。即slf4j是一个具体日志系统的封装,对外提供统一的API,但其本身并不提供日志实现。 第三,既然已经有各种日志系统了,为什么还要使用slf4j? 问题就是现在有了各种日志系统,因此每个类库使用的日志系统都可能不一样。但lf4j允许你在后台使用任意一个日志系统(例如log4j),即使得你的程序独立于任意特定的日志系统。例如,你的一个项目已经使用了log4j,而你加载了一个类库,比方说 Apache Active MQ——它依赖于另外一个日志类库logback,那么你就需要把它也加载进去。但如果Apache Active MQ使用了slf4j,你就可以继续使用你的日志系统而无需加载和维护一个新的日志框架。 第四,果真如此好用,那怎么使用? 首先,准备相应的包。 1.slf4j-api-x.x.x

【进展】为netVinace项目加入AOP日志功能(基于Spring 3.0)

给你一囗甜甜゛ 提交于 2020-03-09 21:48:16
今日,为自己的开源项目加入日志模块,完成写日志功能,主要获取应用在执行过程中一系列调用的类,方法信息。该日志功能利用Spring 3 基于AspectJ 注解完成。 下面是日志切面类的代码(关键留意注解 @Aspect, @Before @After) 方法名可以自定义,但方法一定要带JoinPoint jp 这个参数,否则,无法获取执行类信息 @Aspect public class LogDelegater implements ServiceUtil { //自己实现的日志类,封装自己想要的日志格式,实现读写日志功能 private SystemLogger logger=new SystemLoggerImpl(); public LogDelegater() { // TODO Auto-generated constructor stub System.out.println("******loggerDelegate*******"+SystemLogger.getLogFile().getAbsolutePath()); } @Before("execution(* *.*(..))") public void doBefore(JoinPoint jp){ String log_msg=jp.toLongString();//获取目标对象方法执行信息 /

Python 标准化

家住魔仙堡 提交于 2020-03-02 12:44:02
传统的调试方式是print + openFile,然后这种方式比较繁琐(每次print后要刷新文件缓存),而使用logging模块就会方便很多: # coding=utf-8 __metaclass__ = type __author__ = 'dbloop' import logging # 配置日志 logging.basicConfig(level = logging.INFO,filename = r'C:\Python27\loggingDir\test001\test001.log') # 生成日志 logging.info('Start program.') logging.info('Try to division 1 by 0.') print 1/0 logging.info('The division succeed!') logging.info('End program.') 来源: oschina 链接: https://my.oschina.net/u/2690292/blog/661837

hive JDBC 进度和日志查看

我是研究僧i 提交于 2020-02-29 06:44:09
hive JDBC 进度和日志查看 @(hive)[JDBC|进度|日志] hive的JDBC提供了java连接hiveserver2查询的能力,但是hive JDBC有别于关系型数据库,一个查询语句可能要在十几分钟到几十分钟才会返回结果,而hive JDBC并不会实时显示进度和日志,这样在查询的时候对用户不是很友好,需要在执行sql的时候显示进度。 在后台查看hiverserver2的日志中发现,其实 hiveserver2 在执行一个sql查询的时候是会捕捉到MR运行的进度和日志的,所以只要能把hiverser2获取到MR进度的日志捕捉到,就能实现显示进度的功能。在之前的 hive 0.7 和 0.9 版本中我们是直接修改了 hive-jdbc 的源码来实现日志和数据的分离和重定向显示。在 hive 1.1.0 中其实已经有了可以获取进度的 API 了,分别是 HiveStatement 中的 List<String> getQueryLog() , List<String> getQueryLog(boolean incremental, int fetchSize) 和 boolean hasMoreLogs() 三个方法,借助这三个方法,就可以实时显示sql 查询进度。 完整API地址为 --- HiveStatement 具体实现如下 // 代码不完整,仅供参考

tornado总结10-日志配置

不羁岁月 提交于 2019-12-21 10:59:08
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> tornado源代码分析 打开site-packages/tornado/log.py,最开头的注释文档说明了tornado的日志模块是直接和logging模块集成的 """Logging support for Tornado. Tornado uses three logger streams: * ``tornado.access``: Per-request logging for Tornado's HTTP servers (and potentially other servers in the future) * ``tornado.application``: Logging of errors from application code (i.e. uncaught exceptions from callbacks) * ``tornado.general``: General-purpose logging, including any errors or warnings from Tornado itself. These streams may be configured independently using the standard library's `logging`

使用logrotate配置Nginx日志轮替

情到浓时终转凉″ 提交于 2019-12-18 21:09:00
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 使用logrotate配置Nginx日志轮替 Nginx作为HTTP服务器,每天记录的日志很多,如果不善加管理,没用多久就会把磁盘充满。Apache有rotatelogs程序帮助轮替,而Nginx没有。好在我们的Linux带了logrotate程序帮助我们完成这个任务。 一、实验环境 操作系统: CentOS 6.6 x64 ( Linux 2.6.32-431.23.3.el6.x86_64 ) logrotate版本: 3.7.8-17.el6.x86_64 Nginx版本: nginx/1.6.2 二、logrotate介绍 logrotate是一款专门用来管理日志轮替的程序,各大Linux发行版在安装的时候就已经内置了此程序。 使用方法: logrotate [OPTION...] <configfile> -d, --debug 测试,但不会真正运行(已包含-v选项) -f, --force 强制对文件轮替 -m, --mail=command 后接参数,参数是发邮件命令(替代`/bin/mail`) -s, --state=statefile 状态文件的路径 -v, --verbose 输出轮替过程中的信息到标准输出 三、操作步骤 创建 /etc/logrotate.d/nginx 配置文件