文章目录 4-网站日志分析案例-日志数据统计分析 一、环境准备与数据导入 1.开启hadoop 2.导入数据 二、借助Hive进行统计 1.1 准备工作:建立分区表 1.2 使用HQL统计关键指标 总结 4-网站日志分析案例-日志数据统计分析 一、环境准备与数据导入 1.开启hadoop 如果在lsn等虚拟环境中开启需要先执行格式化 hadoop namenode -format 启动Hadoop start-dfs.sh 因此,这里我们只需要统计出日志中访问的URL是member.php? 30 ; 使用Sqoop导入到MySQL以及可视化展示部分不再介绍,详细可参考 https://www.cnblogs.com/edisonchou/p/4464349.html 总结 本文为网站日志分析案例的第 4部分,基于MR清洗后的数据导入HIVE中,然后进行统计分析。
日志Loyoutlog4cpp支持的日志布局有:(1)BasicLayout::format。 1.5、log4cpp日志输出日志有不同的输出方式,以log4cpp为例:(1)日志输出到控制台。ConsoleAppender。(2)日志输出到本地文件。 三、Log4cpp调用栈分析3.1、Category::callAppenders遍历所有的Appender,输出日志以及是否输出到父类中。 五、log4cpp日志性能分析(1)实时写入磁盘 单笔 write。多行(100行)日记累积再写入 -> 累积了99行,下一行一直不来。a.单独起一个定时器(比如1秒)去刷新。 六、总结通过剖析log4cpp日志库的日志框架,可以清晰一个成熟的、完善的日志框架应该支持:(1)日志级别。(2)日志格式化。(3)日志输出方式。(4)日志回滚。(5)日志配置文件。
val p = new AccessLogParser 这个很重要,在后面我们会用到 首先我们需要加载一部分日志样例。 [Bash shell] 纯文本查看 复制代码 ? 后面我们可以做一些更加复杂的内容 ################# 补充说明 1.在统计日志测试的时候,文件一定标准,否则会统计错误,比如日志要换行 2.函数定义 附上所用函数的相关信息 Option
Logback是由log4j创始人设计的另一个开源日志组件,Logback的内核重写了,在一些关键执行路径上性能提升10倍以上。 -- logback --> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> 也可以使用lombok的注解: @Slf4j ? 控制台正常打印日志: ? 在用户目录产生了日志文件: ? 日志文件中也打印了我们需要的日志: ? 目前有很多日志框架,市面上比较流行的就是log4j和logback,两者出自同一个作者,至于谁的性能好,肯定是作者说了算,所以推荐使用logback来实现日志管理。
四、Windows日志实例分析 在Windows日志中记录了很多操作事件,为了方便用户对它们的管理,每种类型的事件都赋予了一个惟一的编号,这就是事件ID。 1. 五、WEB日志文件分析 以下列日志记录为例,进行分析: #Software: Microsoft Internet Information Services 6.0 #Version: 1.0 、接受 3**:完成此请求必须进一步处理 4**:请求包含一个错误语法或不能完成 5**:服务器执行一个完全有效请求失败 100——客户必须继续发出请求 101——客户要求服务器根据请求转换 有时是为了防止发生系统过载 503——服务器过载或暂停维修 504——关口过载,服务器使用另一个关口或服务来响应用户,等待时间设定值较长 505——服务器不支持或拒绝支请求头中指定的HTTP版本 FTP日志分析 例如ex040419,就是2004年4月19日产生的日志,用记事本可直接打开,普通的有入侵行为的日志一般是这样的: #Software: Microsoft Internet Information
1、提交当天访问次数最多的IP,即黑客IP 已知中间件是Linux上的Apache,常见日志路径一般是: /var/log/apache/ /var/log/apache2/ /var/log/httpd / 这里定位到日志路径是/var/log/apache2。 通过命令ls -lah根据文件大小,判断日志文件是access.log.1,因为access.log的大小是0。 4、查看黑客IP访问了多少次,提交次数 在第一题时,得知黑客IP地址是:192.168.200.2。因此访问次数是:6555。
现在主流的日志方案是使用SLF4J作为API在代码中使用,具体的日志实现由不同的JAR完成,本文帮助了解一下SLF4J常见问题以及如何完美兼容各种不同日志框架 SLF4J如何自动使用lib中的日志实现 比如Logback, Log4j 答:直接使用org.slf4j.impl.StaticLoggerBinder,该类由各日志框架实现,比如Logback. import org.slf4j.impl.StaticLoggerBinder 答: 使用绑定包slf4j-log4j12, slf4j-jcl, slf4j-jdk14,这些包中都实现了StaticLoggerBinder 如果第三方的项目已经使用了其他日志框架,如何统一使用SLF4J 答:不可以,log4j-over-slf4j.jar中使用SLF4J实现了Log4j,但是slf4j-log4j12.jar又把SLF4J的实现交给了Log4j, 因此就产生了一个死循环。 日志系列 日志 --- Java混合日志组件的统一管理 参考 java日志组件介绍(common-logging,log4j,slf4j,logback )
GC 日志分析 首先,如果需要查看 GC 日志,需要在 jvm 参数中加入如下参数 -XX:+PrintGCTimeStamps -XX:+PrintGCDetails -Xloggc:d:/GClogs image Full GC 日志分析 ? image JVM 参数设置 jvm 参数对应堆内存设置 ? image 比例设置 ? UseParallelOldGC(默认使用该回收器) -XX:+UseParallelOldGC:开启老年代使用并行垃圾收集器,默认会同时启用 -XX:+UseParallelGC -XX:ParallelGCThreads=4: 设置用于垃圾回收的线程数为4(默认与CPU数量相同) -XX:+UseConcMarkSweepGC:使用CMS收集器(年老代) -XX:CMSInitiatingOccupancyFraction=80 %t.log:堆快照存储位置 -XX:+UseLargePages:使用大页 -XX:LargePageSizeInBytes=4m:指定大页的大小(必须为2的幂)
C、如何筛选 如果想要查看账户登录事件,在右边点击筛选当前日志,在事件ID填入4624和4625,4624 登录成功 4625 登录失败 D、事件ID及常见场景 对于Windows事件日志分析,不同的 net user USER PASSWORD /add net localgroup administrators USER /add 0x02 日志分析工具 A、Log Parser Log Parser(是微软公司出品的日志分析工具,它功能强大,使用简单,可以分析基于文本的日志文件、XML 文件、CSV(逗号分隔符)文件,以及操作系统的事件日志、注册表、文件系统、Active Directory 常见登录类型日志分析 https://blog.csdn.net/zhulinu/article/details/52747984 Windows 7和Windows Server 2008 R2 安全事件的说明 /www.jb51.net/hack/384430.html https://wenku.baidu.com/view/e86ad976e009581b6bd9ebcf.html Powershell日志分析
在nginx.conf中定义的日志格式如下: http { ... http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; ... } 日志文件如下 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36" "-" nginx没有命令直接将日志按天分割 access-api-$(date -d "yesterday" +"%Y%m%d").log cron: 0 0 * * * /mydata/nginx/nginx.log.sh 从nginx服务器将日志数据传输到日志服务器 local_time = s.group(2) request_method = s.group(3) request_url = s.group(4)
AWStats日志分析系统介绍 1.AWStats日志分析系统 (1)Peri语言开发的一款开源日志分析系统 (2)可用来分析Apache、Samba、 Vsftpd、 IIS等服务 器的访问日志 (3 )信息结合crond等计划任务服务,可对日志内容定期进行分析 部署AWStats日志分析系统 1.安装AWStats软件包 2.为要统计的站点建立配置文件 3.修改站点统计配置文件 4.执行日志分析,并设置 crontab计划任务 访问AWStats分析系统 1.查看统计页面 2.设置网页自动跳转,方便访问 具体操作: 1.安装DNS和HTTP服务软件包 [root@localhost ~]# yum install root@localhost named]# cp -p named.localhost kgc.com.zone [root@localhost named]# vim kgc.com.zone (4) firewalld.service [root@localhost named]# setenforce 0 [root@localhost named]# systemctl start httpd 4.
日志采用默认的格式产生,一直也没太关注, 这次正好藉着博客改版,尝试分析下近期的日志,以对网站状态有个全局的了解。 扯得有点远了,还是继续分析日志吧。 错误日志分析 错误日志也叫应用程序日志,主要用于方便开发者或者运维在出问题的时候排查原因。 分析 错误日志相对于访问日志要少(废话),但从中也能找到对我们有价值的信息。 404错误,几乎占了所有错误日志的一半,下面是随便挑的一些日志详情: 4|connect() failed (111: Connection refused) while connecting to upstream
0x03 事件日志分析 对于Windows事件日志分析,不同的EVENT ID代表了不同的意义,摘录一些常见的安全事件的说明: 事件ID 说明 4624 登录成功 4625 登录失败 4634 注销成功 4 批处理(Batch) 通常表明某计划任务启动。 5 服务(Service) 每种服务都被配置在某个特定的用户账号下运行。 7 解锁(Unlock) 屏保解锁。 0x04 日志分析工具 Log Parser Log Parser(是微软公司出品的日志分析工具,它功能强大,使用简单,可以分析基于文本的日志文件、XML 文件、CSV(逗号分隔符)文件,以及操作系统的事件日志 下载地址:http://www.lizard-labs.com/log_parser_lizard.aspx 依赖包:Microsoft .NET Framework 4 .5,下载地址:https:/ Event Log Explorer Event Log Explorer是一款非常好用的Windows日志分析工具。
常见的日志分析问题及解决方案2.1 日志文件格式不统一问题:日志文件格式不统一,导致难以进行统一分析。解决方案:使用日志解析工具将日志文件转换为统一格式。 :日志文件内容复杂,难以直接分析。 解决方案:使用日志分析工具提取关键信息。 解决方案:使用日志聚合和分析工具进行大规模分析。 4.2 优化分析建议:根据系统的变化和新的日志需求,及时优化日志分析工具和配置。
安装log4js:npm install log4js express中配置log4js中间件: var log = require(". : log4js.levels.WARN, DEBUG: log4js.levels.DEBUG, INFO: log4js.levels.INFO }; helper.config = (helper.config); var logInfo = log4js.getLogger('logInfo'); var name = null; /** * 日志保存 * @param req appender,主要包括:console-控制台输出、dateFile-根据日期配置自动生成当前日期下的日志、file-纯粹在一个文件中输出 type:日志输出类型 pattern:日志输出格式 category:日志类别 alwaysIncludePattern:是否始终以pattern指定格式输出日志 level:日志输出级别 replaceConsole:是否以log4js格式在控制台输出控制台自身
因为数据最后是写到 mysql 里,所以要安装 rsyslog 操作 mysql 的模块
具体链接请参考windows日志转发_leeezp的博客-CSDN博客_windows日志转发 安装 ewk (es+winlogbeat+kibana) 转发主机日志_leeezp的博客-CSDN博客 这篇文章记录windows事件和日志的对应关系。 (Windows 10) – Windows security | Microsoft Docs 登录失败如果在windows事件查看器 — Windows日志 — 安全 查看不到日志,可能是因为没有开启 在 “审核策略” — “审核登录事件” 开启 “成功” 和 “失败”的日志: 设置完再次mstsc登录失败,在安全日志可以查看到登录失败 事件ID 4625 的告警: 如果没有配置本地安全策略开启登录审计 登录失败不清楚为什么会有1149 认证成功的日志。 这个日志可以用于远程登录失败的审计,无法审计登录成功。登录成功还是需要事先开启本地安全策略审核登录事件。
慢查询日志一般用于性能分析时开启,收集慢SQL然后通过explain进行全面分析,一般来说,生产是不会开启的,收集慢查询语句是十分耗性能的,但是我们在测试环境是可以模拟分析的,优化SQL语句,接下来就通过实战 ,讲解如何开启慢日志查询以及如何分析。 global VARIABLES like 'long_query_time%' 查看三、模拟慢sql并分析由于本次数据库安装通过docker安装,所以需要进入到mysql容器内部去查看慢日志,上面看到慢日志地址 ,由于我们上面设置了查询超过3s保存慢日志select sleep(4);图片 4)再一次查看cat /var/lib/mysql/dca928abb464-slow.log 文件,可以看到那个sql语句变慢了 指定日志文件,查看记录集中最多的sqlmysqldumpslow -s r -t 10 /var/lib/mysql/dca928abb464-slow.log图片三、总结本文通过实战demo,一步一步配置分析如何利用慢日志去定位查询耗时的
一、Windows日志文件的保护 日志文件对我们如此重要,因此不能忽视对它的保护,防止发生某些“不法之徒”将日志文件清洗一空的情况。 1. 修改日志文件存放目录 Windows日志文件默认路径是“%systemroot%system32config”,我们可以通过修改注册表来改变它的存储目录,来增强对日志的保护。 、安全日志、系统日志。 设置文件访问权限 修改了日志文件的存放目录后,日志还是可以被清空的,下面通过修改日志文件访问权限,防止这种事情发生,前提是Windows系统要采用NTFS文件系统格式。 二、Windows日志实例分析 在Windows日志中记录了很多操作事件,为了方便用户对它们的管理,每种类型的事件都赋予了一个惟一的编号,这就是事件ID。 1.
前言 长话短说,事情的起因是这样的,由于工作原因需要分析网站日志,服务器是windows,iis日志,在网上找了找,github找了找,居然没找到,看来只有自己动手丰衣足食。 目前分三个模块,一个日志归类模块命名为url.py,攻击分析模块attac.py, ip地理位置查询模块ipfind.py,还有一个主函数。 needlist = [] # 需要统计的 errorlist = [] # 格式错误的列表 ipdict,urldict = {},{} rizhi = str(input('请输入要分析的日志文件名 而未知威胁则不同了,就好比一个0day,攻击waf没用了,日志分析看不出来了,那么只能依靠应急响应以及服务器的报警了。 具体分析:我都是用脚本跑一遍,然后按ip来看会比较方便些,而这里缺少机器识别,我单独写了一个简易的机器识别的东西,其实要实现很简单,把全部日志按时间,url,ip扔进一个列表里统计一下相同时间相同ip的就可以了