A. 如何进行大文件日志内容监控
大数据时代,谁掌握了足够的数据,谁就有可能掌握未来,而其中的数据采集就是将来的流动资产积累。几乎任何规模企业,每时每刻也都在产生大量的数据,但这些数据如何归集、提炼始终是一个困扰。而大数据技术的意义确实不在于掌握规模庞大的数据信息,而在于对这些数据进行智能处理,从中分析和挖掘出有价值的信息,但前提是如何获取大量有价值的数据。在最近的工作当中,本人刚好实现了运用大数据技术分析网站访问日志的方案,整个方案包括对网站日志的采集、清洗、存储和统计分析,计划通过几篇文章将技术实现细节分享出来,以期引起的思考和讨论。网站访问日志介绍相信很多做过网站管理的人对网站访问日志(AccessLog)应该不会陌生,现在主流的网站服务器(如apache,tomcat,ngxin等)都支持将日志数据记录到服务器的日志文件中。网站的访问日志中记录了很多有用的信息,比如正常用户的访问足迹、恶意捣乱的足迹、用户的入站方式、出站页面等等信息。对以上信息汇总分类后,可以得到更有价值的东西,比如可以得到搜索引擎的抓取频率和来访时间段、可以得到哪些页面是用户热搜的等等。首先看一个访问日志的例子:10.52.10.49--[17/Sep/2014:11:34:21+0800]"GET/webappHTTP/1.1"302-"-""Mozilla/5.0(WindowsNT6.1;WOW64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/37.0.2062.120Safari/537.36"这是一个combined格式的访问日志,里面记录了用户的访问ip、时间、访问地址、来源地址等。如要了解具体的格式说明,请查看相关资料。日志采集存储方案对于一个比较活跃的网站来说,访问日志将会是一个海量的数据,考虑到网站日志更新频繁、和海量数据的特点,我选择了Flume+HBase的采集和存储方案。FlumeFlume最早是Cloudera提供的日志收集系统,目前是Apache下的一个项目,Flume支持在日志系统中定制各类数据发送方,用于收集数据。Flume提供对数据进行简单处理,并写到各种数据接受方(可定制)的能力Flume提供了从console(控制台)、RPC(Thrift-RPC)、text(文件)、tail(UNIXtail)、syslog(syslog日志系统,支持TCP和UDP等2种模式),exec(命令执行)等数据源上收集数据的能力。HBaseHBase–HadoopDatabase,是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,利用HBase技术可在廉价PCServer上搭建起大规模结构化存储集群。本次方案以Tomcat为Web服务器,通过Flume实时监控网站的日志文件并将新增日志收集、清洗并保存到HBase中,供Spark等分布计算框架分析使用等。方案实现前提条件:已经在linux服务器上安装并启动了相关的程序:Tomcat7,Hadoop2.4.1,Zookeeper3.4.6,HBase0.98.5,Flume1.5。具体安装步骤请自行查看相关文档。1.首先开启Tomcat中的日志记录功能,并选择combined格式。修改TOMCAT_PATH/conf/server.xml,增加日志记录:这样,tomcat就会在logs目录下每天生成localhost_access_log文件并实时记录用户的访问情况。2.实现日志文件对象和解析程序AccessLog.java:publicclassAccessLog{privateStringclientIp;privateStringclientIndentity;privateStringremoteUser;privateDatedateTime;privateStringrequest;privateStringhttpStatusCode;privateStringbytesSent;privateStringreferer;privateStringuserAgent;…}AccessLogParser.java:publicclassAccessLogParser{privatestaticStringpattern="^([\\d.]+)(\\S+)(\\S+)\\[([\\w:/]+\\s[+\\-]\\d{4})\\]\"(.+?)\"(\\d{3})(\\d+|-)\"([^\"]+)\"\"([^\"]+)\"";privatestaticPatternp=Pattern.compile(pattern);publicstaticAccessLogparse(Stringline){Matchermatcher=p.matcher(line);if(matcher.matches()){AccessLogaccessLog=newAccessLog();accessLog.setClientIp(matcher.group(1));accessLog.setClientIndentity(matcher.group(2));accessLog.setRemoteUser(matcher.group(3));accessLog.setDateTime(getDateTime(matcher.group(4)));accessLog.setRequest(matcher.group(5));accessLog.setHttpStatusCode(matcher.group(6));accessLog.setBytesSent(matcher.group(7));accessLog.setReferer(matcher.group(8));accessLog.setUserAgent(matcher.group(9));returnaccessLog;}logger.warn(",ignoredit.--"+line);returnnull;}3.通过HBaseShell在HBase中建立相应的表access_log执行:$HBASE_HOME/bin/hbaseshell,进入shell命令行create'access_log','cb',创建access_log,和一个列族cb。因为hbase是一个列服务器,一个列族中可以增加很多列,为了性能考虑,一般不要创建多于三个列族。出现如下提示信息,即创建成功0row(s)in11.9690seconds=>Hbase::Table-access_log可以通过list命令查看数据库中的表,或scan‘access_log’,查看表中数据4.配置Flume,实现采集和存储在本方案中,我们要将数据存储到HBase中,所以使用flume中提供的hbasesink,同时,为了清洗转换日志数据,我们实现自己的AsyncHbaseEventSerializer。
B. 如何搭建日志监控系统
ELK(ElasticSearch, Logstash, Kibana)搭建实时日志分析平台(开源实时日志分析ELK平台部署)
日志主要包括系统日志、应用程序日志和安全日志。系统运维和开发人员可以通过日志了解服务器软硬件信息、检查配置过程中的错误及错误发生的原因。经常分析日志可以了解服务器的负荷,性能安全性,从而及时采取措施纠正错误。
通常,日志被分散的储存不同的设备上。如果你管理数十上百台服务器,你还在使用依次登录每台机器的传统方法查阅日志。这样是不是感觉很繁琐和效率低下。当务之急我们使用集中化的日志管理,例如:开源的syslog,将所有服务器上的日志收集汇总。
集中化管理日志后,日志的统计和检索又成为一件比较麻烦的事情,一般我们使用grep、awk和wc等Linux命令能实现检索和统计,但是对于要求更高的查询、排序和统计等要求和庞大的机器数量依然使用这样的方法难免有点力不从心。
开源实时日志分析ELK平台能够完美的解决我们上述的问题,ELK由ElasticSearch、Logstash和Kiabana三个开源工具组成。官方网站:
Elasticsearch是个开源分布式搜索引擎,它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等。
Logstash是一个完全开源的工具,他可以对你的日志进行收集、分析,并将其存储供以后使用(如,搜索)。
kibana也是一个开源和免费的工具,他Kibana可以为 Logstash 和 ElasticSearch 提供的日志分析友好的 Web 界面,可以帮助您汇总、分析和搜索重要数据日志。 工作原理如下所示:
在需要收集日志的所有服务上部署logstash,作为logstash agent(logstash shipper)用于监控并过滤收集日志,将过滤后的内容发送到logstash indexer,logstash indexer将日志收集在一起交给全文搜索服务ElasticSearch,可以用ElasticSearch进行自定义搜索通过Kibana 来结合自定义搜索进行页面展示。
四大组件:
Logstash: logstash server端用来搜集日志;
Elasticsearch: 存储各类日志;
Kibana: web化接口用作查寻和可视化日志;
Logstash Forwarder: logstash client端用来通过lumberjack 网络协议发送日志到logstash server;
C. 监控日志操作记录怎么描述
首先描述监控日志的内容。
内容主要有:
1、关键业务数据统计。
2、一些关键调用的成功、失败次数。
3、关键异常数目。
4、线程保护(一般在调用远程功能时),调用次数。
5、其他业务上关注的信息。
监控显示:1、总体显示:关键字,描述,出现次数,采集时间——注:总体表示总个集群)点击总体显示中关键字的连接可以个体列表。
格式可以像:(机器ip或名字、关键字、出现次数、时间等)。
而个体显示,一般是包含所有个体机器的列表,点击其中一个可以进入相应机器的监控界面。
通过定期抓取(如120s)日志,匹配关键字的数目(如perl脚本),可以绘制图表。
在日志抓取方面一般都是有专门日志服务器负责抓取各机器上的日志。如果一个应用需要加入到监控系统,只需要向监控平台指定日志文件位置,并且告知需要统计的关键字。
对应异常的监控,应该可以根据关键字出现的数目设定阀值,如果超过阀值就通知某些人。
D. windows平台上如何监控日志并邮件或者短信报警
1) 有基于Tomcat的web应用
2) 有独立的Java Application应用
3) 有运行在Linux上的脚本程序
4) 有大规模的集群框架(zookeeper、Hadoop、Storm、SRP……)
5) 有操作系统的运行日志
E. 有什么好用的基于Web的Linux系统监控开源工具
可以用一些命令来实现你说的功能的。
请看下文,请采纳。谢谢。
一、基于命令行的性能监控工具
1.dstat - 多类型资源统计工具
该命令整合了vmstat,iostat和ifstat三种命令。同时增加了新的特性和功能可以让你能及时看到各种的资源使用情况,从而能够使你对比和整合不同的资源使用情况。通过不同颜色和区块布局的界面帮助你能够更加清晰容易的获取信息。它也支持将信息数据导出到cvs格式文件中,从而用其他应用程序打开,或者导入到数据库中
2.atop - 相比top更好的ASCII码体验
这个使用ASCII码显示方式的命令行工具是一个显示所有进程活动的性能监控工具。它可以展示每日的系统日志以进行长期的进程活动分析,并高亮显示过载的系统使用资源。它包含了CPU,内存,交换空间,磁盘和网络层的度量指标。所有这些功能只需在终端运行atop即可。
3.Nmon - 类Unix系统的性能监控
Nmon是Nigel's Monitor缩写,它最早开发用来作为AIX的系统监控工具。如果使用在线模式,可以使用光标键在屏幕上操作实时显示在终端上的监控信息。使用捕捉模式能够将数据保存为CSV格式,方便进一步的处理和图形化展示。
4.slabtop - 显示内核slab缓存信息
这个应用能够显示缓存分配器是如何管理Linux内核中缓存的不同类型的对象。这个命令类似于top命令,区别是它的重点是实时显示内核slab缓存信息。它能够显示按照不同排序条件来排序显示缓存列表。它同时也能够显示一个slab层信息的统计信息的题头。
5.sar - 性能监控和瓶颈检查
sar 命令可以将操作系统上所选的累积活动计数器内容信息输出到标准输出上。其基于计数值和时间间隔参数的审计系统,会按照指定的时间间隔输出指定次数的监控信息。如果时间间隔参数为设置为0,那么sar命令将会显示系统从开机到当时时刻的平均统计信息。有用的命令如下:
# sar -u 2 3
# sar -u -f /var/log/sa/sa05
# sar -P ALL 1 1
# sar -r 1 3
# sar -W 1 3
6.Saidar - 简单的统计监控工具
Saidar是一个简单且轻量的系统信息监控工具。虽然它无法提供大多性能报表,但是它能够通过一个简单明了的方式显示最有用的系统运行状况数据。你可以很容易地看到运行时间、平均负载、CPU、内存、进程、磁盘和网络接口统计信息。
Usage: saidar [-d delay] [-c] [-v] [-h]
-d 设置更新时间(秒)
-c 彩色显示
-v 显示版本号
-h 显示本帮助
7.top - 经典的Linux任务管理工具
作为一个广为人知的Linux工具,top是大多数的类Unix操作系统任务管理器。它可以显示当前正在运行的进程的列表,用户可以按照不同的条件对该列表进行排序。它主要显示了系统进程对CPU和内存的使用状况。top可以快速检查是哪个或哪几个进程挂起了你的系统
8.Sysdig - 系统进程的高级视图
Sysdig是一个能够让系统管理员和开发人员以前所未有方式洞察其系统行为的监控工具。其开发团队希望改善系统级的监控方式,通过提供关于存储,进程,网络和内存子系统的统一有序以及粒度可见的方式来进行错误排查,并可以创建系统活动记录文件以便你可以在任何时间轻松分析。
F. 利用Windows自带的性能监视器对WebService服务进行监控,通常使用哪些计数器,标准值是什么
1. 处理器对象(Processor Object)
2. 系统对象(System Object)
3. SQL Server:缓冲区管理器对象( B u ffer Manager Object)
4. SQL Server:数据库对象(Database Object)
5. SQL Server:常规统计对象(General Statistics Object)
6. SQL Server:闩对象(Latches Object)
7. SQL Server:锁对象(Locks Object)
8. SQL Server:内存管理器对象(Memory Manager Object)
9. SQL Server:S Q L统计对象(SQL Statistics Object)
10. 逻辑磁盘对象(Logical Disk Object)
11. 物理磁盘对象(PhysicalDisk Object)
12. 内存
一条经验规则是不要使你所监控的每个处理器的C P U使用率高于9 0%。峰值超过9 0%是可以接受的,但平均使用率超过9 0%则是应该避免的。
• 处理器时间百分比(%Processor Time) 处理器执行一个非空闲线程的时间百分比。用%1 0 0减去处理器空闲的总时间得出这个值。这是整个系统的C P U使用的一个好的指示器。
• 特权时间百分比(%Privileged Time) 处理器用于在特权模式下(即,执行操作系统功能和运行驱动器,如I / O )工作时间的百分比。这个时间包括C P U (或C P U )用于维护中断和延迟过程调用( D P C )的时间。
• 用户时间百分比(%User Time) 处理器用于在用户模式工作的时间百分比。这种类型的工作是由应用产生的。通常,希望极大化用户时间百分比的值,极小化特权时间百分比的值。
• 中断时间百分比(%Interrupt Time) CPU忙于维护硬件中断的时间百分比。系统中的许多硬件部件,如鼠标、网络接口卡或磁盘控制器,都可以发出处理器中断。你可以将中断看作为Windows NT正常操作的一部分发生。
• 中断数/秒(Interrupts/sec) 处理器每秒接收并处理的硬件中断的数量。它不包括系统
D P C,系统D P C单独计数。
系统对象与它的相关计数器衡量处理器上运行的线程的总计数据。虽然使用这些计数器不能观察一个特定处理器的工作负载或一个特定线程的行为,但它们提供了有关整个系统性能有价值的内部信息。系统计数器如下所示:
• 处理器队列长度(Processor Queue Length) 处理器队列中的线程的数量。换句话说,它
是等待运行的线程数。即使你的系统具有多个处理器,但只有一个队列用于处理器时间。计数器只记录那些准备执行但仍处于等待的线程,不是那些正在运行的线程。
• 环境切换/秒(Context Switches/sec) 系统上的所有处理器从一个线程切换到另一个线程的组合比率。当一个正在运行的线程自动地放弃处理器,处理器由一个高优先级的待命线程抢占时发生环境切换,或在用户模式和特权(核心)模式之间切换,以使用一个执行或子系统的服务。这是线程的总和:计算机上运行在所有处理器上的所有线程的环境切换数/秒。
缓冲区管理器计数器提供了SQL Server使用的内存缓冲区的有关信息。这些计数器如下所示:
• 高速缓存命中率( B u ffer Cache Hit Ratio) 引用当前位于高速缓存中页的需求的百分率。预先在内存中拥有页,允许SQL Server避免请求从磁盘子系统执行一次物理I / O。因为访问内存相对于访问物理I / O,代价更小,一个高的缓冲区高速缓存命中率增强了系统的性能与吞吐量。如果你的系统很好地调整过,这个命中率应该是8 0%或更高。如果具有一个低的缓冲区高速缓存命中率,你应该为SQL Server分配更多的内存。如果你已将现有的所有内存都分配给了SQL Server,那么需要增加系统中物理内存的数量。
• 高速缓存大小(页)(Cache Size) 在SQL Server缓冲区高速缓存中的页的数量。这个数量乘以8 K B,即可得到正在使用的以千字节为单位的缓存数。
• 空闲缓冲区(Free Buffer) 空闲SQL Server内存缓冲区的数量。
• 读的页/秒(Page Reads/sec) 每秒请求的物理数据页I / O的数量。
• 偷取的页计数(Stolen Page Count) SQL Server用于缓冲区高速缓存的页数,这些内存被给予系统中的另外一个进程。Windows NT回收这个内存以满足其他系统部件的需要。
• 写的页/秒(Page Writes/sec) 由SQL Server执行的每秒写的物理数据页的数量。
数据库对象计数器提供了有关SQL Server数据库的信息,包括可用的空闲日志空间量和数据库中活动事务的数量。对于系统中的每个数据库的每个计数器有一个实例。这些计数器包括如下:
• 日志刷新等待/秒(Log Flush Wait/sec) 在能够继续执行前,必须等待日志刷新的数据库提交数量。
• 日志使用的百分比(Percent Log Used) SQL Server实际使用的当前定义的日志空间的百分比。
常规统计对象含有常规服务器范围活动的有关信息,它有一个计数器:
• 用户连接数(User Connections) 系统中用户连接的当前数量。
这个对象计数器提供了在内部SQL Server资源中有效的闩的信息。计数器如下:
• 平均闩等待时间(毫秒) ( Average Latch Wait Time) 闩请求在得到服务之前必须等待的平均时间,以毫秒为单位。
• 闩等待数/秒(Latch Waits/sec) 不能立即服务,被迫等待其他资源释放的闩请求的数量。
锁对象提供了由SQL Server提出的各个锁请求的有关数据,例如锁生命周期和死锁。可以在系统上具有多个这些计数器的实例。计数器如下所示:
• 平均等待时间(毫秒) ( Average Wait Time) 每个锁请求被迫等待的平均时间量,以毫秒为单位。
• 锁到期数/秒(Lock Timeouts/sec) 在系统中过期的锁请求的数量。
• 锁等待数/秒(Lock Wa i t s / s e c )不能立即满足,需要调用线程在给予锁之前处于等待状态的锁请求的数量。
• 死锁数/秒(Number of Deadlocks/sec) 导致产生死锁的锁请求的数量。
内存管理器对象含有有关SQL Server内存使用的信息,包括SQL Server正在使用的高速缓
存内存的数量。这个对象下的计数器如下所示:
• 内存授权挂起(Memory Grants Pending) 等待授予工作空间内存的进程的当前数量。
• S Q L高速缓存内存(KB)(SQL Cache Memory) SQL Server用于动态SQL 高速缓存的动态
内存数量。
• 目标服务器内存( K B ) ( Ta rget Server Memory) SQL Server将会消耗的动态内存的总额。
• 总的服务器内存( K B ) ( Total Server Memory) SQL Server当前消耗的动态内存的总额。
这个对象提供了系统上正在执行的S Q L查询的有关信息,包括查询编译和重新编译的数量的数据。它有如下计数器:
• 批请求/秒(Batch Requests/sec) 服务器接收到的S Q L批请求的数量。
• SQL 编译/秒(SQL Compilations/sec) SQL Server每秒执行的S Q L语句编译的数量。
• S Q L重新编译/秒(SQL Re-Compilations/sec) SQL Server每秒执行的S Q L语句重新编译的数量。
逻辑磁盘对象提供了有关逻辑磁盘I / O性能的信息。逻辑磁盘计数器与Windows NT磁盘
系统管理员分配给逻辑磁盘驱动器的字母相关。这个对象含有如下计数器:
• 磁盘读时间百分比(%Disk Read Time) 选中的逻辑磁盘忙于服务读请求总共用去时间的
百分比。
• 磁盘写时间百分比(%Disk Write Time) 选中的逻辑磁盘忙于服务写请求总共用去时间
的百分比。
• 磁盘时间百分比(%Disk Time) 选中的逻辑磁盘忙于服务读请求或写请求总共用的时间
的百分比,是磁盘写时间百分比与磁盘读时间百分比的和。
• 空闲时间百分比(%Idle Time) 逻辑磁盘在采样时间间隔中处于空闲状态的时间百分比。
• 平均磁盘队列长度( Avg. Disk Queue Length) 在采样的时间间隔中,选中的逻辑磁盘读请求和写请求排队的平均数量。
• 平均磁盘读队列长度( Avg. Disk Read Queue Length) 在采样的时间间隔中,对选中的逻辑磁盘读请求排队的平均数量。
• 平均磁盘写队列长度( Avg. Disk Write Queue Length) 在采样的时间间隔中,对选中的逻辑磁盘写请求排队的平均数量。
• 平均磁盘秒数/读( Avg. Disk sec/Read) 从逻辑磁盘读数据的平均时间,以秒为单位。
• 平均磁盘秒数/写( Avg. Disk sec/Write) 向逻辑磁盘写数据的平均时间,以秒为单位。
• 平均磁盘秒数/传输( ( Avg. Disk sec/Transfer) 从逻辑磁盘进行传输的平均时间,以秒为单位。
• 磁盘读/秒(Disk Reads Bytes/sec) 逻辑磁盘上每秒读字节。
• 磁盘读/秒(Disk Writes Bytes/sec) 逻辑磁盘上每秒写字节。
• 磁盘读/秒(Disk Reads/sec) 逻辑磁盘上的读操作比率。
• 磁盘写/秒(Disk Writes/sec) 逻辑磁盘上的写操作比率。
• 磁盘传输/秒(Disk Transfers/sec) 逻辑磁盘上的读和写操作的比率。
物理磁盘对象提供了有关物理磁盘I / O性能的信息。它的磁盘计数器与系统中的物理驱动器有关,并且只有当运行了D i s k P e r f服务时,它才被激活。这个对象下的计数器如下所示:
• 磁盘读时间百分比(%Disk Read Time) 选中的物理磁盘忙于服务读请求总共用的时间的百分比。
• 磁盘写时间百分比(%Disk Write Time) 选中的物理磁盘忙于服务写请求总共用的时间的百分比。
• 磁盘时间百分比(%Disk Time) 选中的物理磁盘忙于服务读请求或写请求总共用的时间的百分比,是磁盘写时间百分比与磁盘读时间百分比的和。
• 空闲时间百分比(%Idle Time) 物理磁盘在采样时间间隔中处于空闲状态的时间百分比。
• 平均磁盘队列长度( Avg. Disk Queue Length) 在采样的时间间隔中,选中的物理磁盘读请求和写请求排队的平均数量。
• 平均磁盘读队列长度( Avg. Disk Read Queue Length) 在采样的时间间隔中,选中的物理磁盘读请求排队的平均数量。
• 平均磁盘写队列长度( Avg. Disk Write Queue Length) 在采样的时间间隔中,选中的物理磁盘写请求排队的平均数量。
• 平均磁盘秒数/读( Avg. Disk sec/Read) 从物理磁盘读数据的平均时间,以秒为单位。
• 平均磁盘秒数/写( Avg. Disk sec/Write) 向物理磁盘写数据的平均时间,以秒为单位。
• 平均磁盘秒数/传输( Avg. Disk sec/Transfer) 从物理磁盘进行传输的平均时间,以秒为单位。
• 磁盘读/秒(Disk Reads Bytes/sec) 物理磁盘上每秒读字节。
• 磁盘读/秒(Disk Writes Bytes/sec) 物理磁盘上每秒写字节。
• 磁盘读/秒(Disk Reads/sec) 物理磁盘上的读操作比率。
• 磁盘写/秒(Disk Writes/sec) 物理磁盘上的写操作比率。
• 磁盘传输/秒(Disk Transfers/sec) 物理磁盘上的读和写操作的比率。
内存在任何系统中都是一个非常有价值的资源。Windows NT不只允许过量使用内存,而且鼓励你过量使用内存。Windows NT提供了一种透明机制,允许应用“相信”它们具有比系统中可用的物理内存更多的内存。当Windows NT处理应用时,它将不使用的内存页调出(交换出)到磁盘上的页文件中。在大多数系统中,页调度是正常的,但过量的页调度会削弱整个系统的性能。下面的计数器允许你监控系统的页调度。
• 失效的页/秒(Page Faults/sec) 每秒由处理器处理的失效页的全部数量。当一个进程需
要的代码或数据不在它的工作区(它的空间在物理内存中)中时,发生失效页。这个计数
器包括硬的页失效(那些需要磁盘访问的)和软的页失效(在物理内存的其他地方发现了失
效页)。
• 读的页/秒(Page Reads/sec) 读取磁盘以解决硬的页失效所需要的时间数(当一个进程需要的代码或数据不在其工作区或内存中的其他地方,必须从磁盘提取这些代码和数据时,发生硬的页失效)。这个计数器包括为满足在文件系统高速缓存(通常是应用请求的)以及在非高速缓存映像内存文件中的失效而进行的读。
• 写的页/秒(Page Writes/sec) 将页写向磁盘以释放物理内存空间的时间数。只有当页在物理内存中被改变的时候,将页写入磁盘,这样,它们更有可能含有数据,而不是代码。
• 页/秒(Pages/sec) 为解决硬的页失效,所需要读或写磁盘的时间数。它是读的页/秒与写的页/秒的计数器的和。
G. 如何查看Web服务器日志
这些日志信息对计算机犯罪调查人员非常有用。
所谓日志是指系统所指定对象的某些操作和其操作结果按时间有序的集合。每个日志文件由日志记录组成.每条日志记录描述了一次单独的系统事件。通常情况下,系统日志
是用户可以直接阅读的文本文件,其中包含了一个时间戳和一个信息或者子系统所特有的其他信息。日志文件为服务器、工作站、防火墙和应用软件等IT资源相关活动记录必要的、有价值的信息,这对系统监控、查询、报表和安全审汁是十分重要的。日志文件中的记录可提供以下用途:监控系统资源,审汁用户行为,对可疑行为进行报警,确定入侵行为的范围,为恢复系统提供帮助,生成调查报告,为打击计算机犯罪提供证据来源。
在windows操作系统中有一位系统运行状况的忠实记录者,它可以详细记录计算机从开机、运行到关机过程中发生的每一个事件,它就是“事件查看器”。用户可以利用这个系统维护工具,收集有关硬件、软件、系统问题方面的信息,并监视系统安全事件,将系统和其他应用程序运行中的错误或警告事件记录下来,便于诊断和纠正系统发生的错误和问题。
可以双击“控制面板”中“管理工具”中的“事件查看器”,打开事件查看器窗口
H. 动环监控系统方案
动力环境监控系统,可以对各种机房运行环境24小时监测,根据设备特点和实际环境条件,对门磁、红外人体检测、振动、门禁、视频、消防、继电器、风速、发电机、新风机、蓄电池、三相电量仪、市配电电压电流、精密空调、普通空调、UPS、温湿度、烟感、市电停电断电、漏水水浸等进行监测。并根据后台设置通过短信、电话、邮件、微信、声光报警器、电脑软件、手机APP、Web等多种方式自动报警的智能监管设备。
动环监控系统功能
可对动力设备、机房环境、安保进行遥测采集,实时监视,并能记录保存处理相关数据,侦测故障,实现机房的安防系统、动力系统、环境系统智能监控维护管理。为确保机房安全,可进入机房的人员进行分级授权管理,无人值守、远程管控多个机房。
动力环境监控系统监控的数据1分钟记录一次,监控数据以曲线显示,历史记录数据报表也可以EXCEL格式导出下载,同时针对有特殊要求的机房环境,也能进行二次开发,调用服务器API接口开发或私有部署平台,可拓展。
I. 如何实时监控系统日志
DBTMon 主要用于数据库监控与分析。DBTMon主要实时监控数据库事务日志文件,捕捉其新增日志记录,然后分析。主要技术来源于浪擎.镜像系统的日志捕捉引擎。主要有以下功能:数据库变化监控实时监控事务变化将事务日志导出成excel管理员可以审计数据变更
J. 部署好supervisor,轻松管理web应用
在 web 应用部署到线上后,需要保证应用一直处于运行状态,在遇到程序异常、报错等情况,导致 web 应用终止时,需要保证程序可以立刻重启,继续提供服务。因为最近系统经常GG,挂的有点莫名其妙,所以领导说需要一个工具,时刻监控 web 应用的运行情况,管理该进程。
刚好Supervisor 就是解决这种需求的工具,可以保证程序崩溃后,重新把程序启动起来等功能。下面介绍下部署教程,以下基于centos7.3系统。
supervisor:要安装的软件的名称。
supervisord:装好supervisor软件后,supervisord用于启动supervisor服务。
supervisorctl:用于管理supervisor配置文件中program。
#vi /etc/supervisord.d/tomcat8090.ini
配置如下:
测试过停止tomcat会自动拉起。
最后有个小问题,如果不先停止所有管理进程,只是杀supervisor进程然后直接重启会产生多个管理进程,因为之前的tomcat进程是没有杀掉的,这时候看日志就会有端口冲突的问题了。
另外一个问题是一杀进程这个supervisor就自动重启tomcat了,那我之前写的自动部署tomcat脚本(每次杀掉进程替换文件)不就冲突了?这个问题还在考虑怎么解决中。
最后一个问题就是集群化管理了,如果有几百台服务器需要控制的话是可以考虑一下 supervisord-monitor这个集群化解决方案。