系统日志

Log4net详细说明

不问归期 提交于 2020-01-16 23:40:27
1、概述   log4net是.Net下一个非常优秀的开源日志记录组件。log4net记录日志的功能非常强大。它可以将日志分不同的等级,以不同的格式,输出到不同的媒介。本文主要是介绍如何在Visual Studio2008中使用log4net快速创建系统日志,如何扩展以输出自定义字段。 2、一个简单的使用实例 第一步: 在项目中添加对log4net.dll的引用,这里引用版本是1.2.10.0。 第二步: 程序启动时读取log4net的配置文件。 如果是CS程序,在根目录的Program.cs中的Main方法中添加: log4net.Config.XmlConfigurator.Configure(); 如果是BS程序,在根目录的Global.asax.cs(没有新建一个)中的Application_Start方法中添加: log4net.Config.XmlConfigurator.Configure(); 无论BS还是CS程序都可直接在项目的AssemblyInfo.cs文件里添加以下的语句: [assembly: log4net.Config .XmlConfigurator()] 也可以使用自定义的配置文件,具体请参见4.4 关联配置文件。 第三步: 修改配置文件。如果是CS程序,则在默认的App.config文件(没有新建一个)中添加内容;如果是BS程序,则添加到Web

java 自带的日志系统

怎甘沉沦 提交于 2020-01-16 20:03:23
java提供了日志的API,首先看一下这些API有哪些作用: 1、打开、关闭日志,设置日志的记录级别; 2、日志可以被定向到不同的处理器; 3、日志记录器和处理器都可以对日志记录进行过滤。 4、日志记录可以采用不同的方式格式化; 5、应用程序可以使用多个日志记录器; 6、默认情况下,日志系统的配置是由配置文件控制的,可以改变这个配置; 日志记录器:负责记录日志消息; 日志处理器:不能光记录日志,有时候需要处理日志; 日志过滤器:有时候,我们只想记录我们想要的那些日志消息,对于其它没有用的日志消息,我们不想记录它,免得浪费资源,于是过滤器就可以设置过滤条件,对符合条件的日志消息才进行记录。 再说说日志级别(从大到小),默认是INFO级别:SEVERE, WARNING, INFO, CONFIG, FINE, FINER, FINEST。 设置了日志级别之后,能记录的消息级别不能超过该级别,比如设置为FINE,那么就只能记录FINE, FINER, FINEST。 1、全局日志记录器 我们先来体会一下日志,代码如下: public class test { public static void main(String[] args){ Logger logger = Logger.getGlobal(); //java.util.logging.Logger logger.info(

windows系统安装运行filebeat

 ̄綄美尐妖づ 提交于 2020-01-16 08:57:25
1、安装docker前安装pip sudo yum -y install epel-release sudo yum install python-pip 2、安装docker #安装依赖包 yum install -y yum-utils device-mapper-persistent-data lvm2 #添加docker yum源 yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo #可选操作:允许拓展最新的不稳定的repository yum-config-manager --enable docker-ce-edge #安装Docker yum -y install docker-ce #安装docker-compose sudo pip install -U docker-compose #启动Docker systemctl start docker 安装ELK: 1、下载镜像 这里我们使用elk集成镜像,地址: https://hub.docker.com/r/sebp/elk/tags [root@centos-mq ~]# docker pull sebp/elk:660 注:660为elk版本 2、启动 [root@centos-mq ~]

大数据架构:flume-ng+Kafka+Storm+HDFS 实时系统组合

£可爱£侵袭症+ 提交于 2020-01-16 06:41:26
http://www.aboutyun.com/thread-6855-1-1.html 个人观点:大数据我们都知道hadoop,但并不都是hadoop.我们该如何构建大数据库项目。对于离线处理,hadoop还是比较适合的,但是对于实 时性比较强的,数据量比较大的,我们可以采用Storm,那么Storm和什么技术搭配,才能够做一个适合自己的项目。下面给大家可以参考。 可以带着下面问题来阅读本文章: 1.一个好的项目架构应该具备什么特点? 2.本项目架构是如何保证数据准确性的? 3.什么是Kafka? 4.flume+kafka如何整合? 5.使用什么脚本可以查看flume有没有往Kafka传输数据 做软件开发的都知道模块化思想,这样设计的原因有两方面: 一方面是可以模块化,功能划分更加清晰,从“数据采集--数据接入--流失计算--数据输出/存储” 1).数据采集 负责从各节点上实时采集数据,选用cloudera的flume来实现 2).数据接入 由于采集数据的速度和数据处理的速度不一定同步,因此添加一个消息中间件来作为缓冲,选用apache的kafka 3).流式计算 对采集到的数据进行实时分析,选用apache的storm 4).数据输出 对分析后的结果持久化,暂定用mysql 另一方面是模块化之后,假如当Storm挂掉了之后,数据采集和数据接入还是继续在跑着,数据不会丢失

ELK 日志系统

不羁的心 提交于 2020-01-14 22:09:14
一、为什么要用到 ELK 一般我们需要进行日志分析场景:直接在日志文件中 grep、awk 就可以获得自己想要的信息。 但在规模较大的场景中,此方法效率低下,面临问题包括日志量太大如何归档、文本搜索太慢怎么办、 如何多维度查询。需要集中化的日志管理,所有服务器上的日志收集汇总。常见解决思路是建立集中 式日志收集系统,将所有节点上的日志统一收集,管理,访问。 一般大型系统是一个分布式部署的架构,不同的服务模块部署在不同的服务器上,问题出现时, 大部分情况需要根据问题暴露的关键信息,定位到具体的服务器和服务模块,构建一套集中式日志系统,可以提高定位问题的效率。 一个完整的集中式日志系统,需要包含以下几个主要特点: 收集-能够采集多种来源的日志数据 传输-能够稳定的把日志数据传输到中央系统 存储-如何存储日志数据 分析-可以支持 UI 分析 警告-能够提供错误报告, 监控机制 ELK 提供了一整套解决方案,并且都是开源软件,之间互相配 合使用,完美衔接,高效的满足了很多场合的应用。目前主流的一种日志系统。 二、ELK 介绍 ELK 是三个开源软件的缩写,分别表示:Elasticsearch , Logstash, Kibana , 它们都是开源软件。现在还有一个 FileBeat,它是一个轻量级的日志收集处理工具,Filebeat 占用资源少,适合于在各个服务 器上搜集日志后传输给

第四章 监控

巧了我就是萌 提交于 2020-01-14 19:25:09
作者: Steven Thurgood、David Fergusonwith 翻译:李佩京 编辑: Alex Hidalgo、Betsy Beyer 校验:张胜楠,臧万顺,樊帅宇,刁冰雪 监控涉及到多种类型的数据,包括监控指标,纯文本日志,结构化日志,分布式跟踪日志, event introspection。 以上各种数据都有它们各自的用处,但是本章主要讨论监控指标和结构化日志。根据我们的经验,这两种数据最适合SRE的基础监控需求。 从根本上讲,监控系统应当能够透视系统的内部,当需要判断服务的健康状态和诊断服务问题时,这是最关键的需求。在第一版SRE的第6章中给出了一些基本的监控方法,并且提到SRE监控他们系统的主要目的有: 当达到阈值时触发报警 诊断和分析服务问题 展示系统的可视化信息 获取系统资源使用情况或服务健康状况的变化趋势,以便做长期计划 比较变更前后的系统变化或一个实验的两组样本的不同 这些用例的不同重要程度能指导你在选择或构建一个监控系统时做出权衡。 本章讨论Google如何管理监控系统,并提供一些如何选择和运行监控系统的指导意见。 监控策略的特征 在选择监控系统时,理解那些你关心的功能并对它们进行一个优先级的排序很重要。如果你正在评估一个监控系统,本节提到的这些特性可以帮助你思考哪种方案最适合你。如果你已经有一个在运行的监控系统了

Java日志框架

爷,独闯天下 提交于 2020-01-14 08:49:31
1、概述 眼下java应用日志收集都是採用日志框架(slf4j、apache commons logging)+日志系统(log4j、log4j2、LogBack、JUL等)的方式。而针对在分布式环境须要实时分析统计的日志,一般採用apache flume、facebook scribe等分布式日志收集系统。 日志框架 :提供日志调用的接口,实际的日志输出托付给日志系统实现。 JCL(Jakarta Commons Logging):比較流行的日志框架,非常多框架都依赖JCL,比如Spring等。 SLF4j:提供新的API,初衷是配合Logback使用,但同一时候兼容Log4j。 日志系统 :负责输出日志 Log4j:经典的一种日志解决方式。内部把日志系统抽象封装成Logger 、appender 、pattern 等实现。我们能够通过配置文件轻松的实现日志系统的管理和多样化配置。 Log4j2:Log4j的2.0版本号。对Log4j进行了优化。比方支持參数API、支持异步appender、插件式架构等 Logback:Log4j的替代产品。须要配合日志框架SLF4j使用 JUL(java.util.logging):JDK提供的日志系统。较混乱,不经常使用 眼下我们的应用大部分都是使用了SLF4j作为门面,然后搭配log4j或者log4j2日志系统。 以下将介绍slf4j +

C#--Log4Net日志

你离开我真会死。 提交于 2020-01-13 02:01:57
Log4Net日志 Log4Net简介 Log4net是Apache下一个开放源码的项目,可以控制日志信息的输出目的地(数据库、控制台、文本文档、文件)Log4net中定义了多种日志信息输出模式。 为什么要使用Log4Net 在做项目的时候令我最头疼的是在程序发布到正式环境之后出现了问题,我们不能调试而且问题很难分析,于是我们需要大量的日志数据来精确的跟踪程序的运行状况。 Log4net就可以帮我来解决这一个难题,对于日志的输出我们不需要人为的去干涉,它可以根据需要将日志输出到控制台,文本文件,windows日志事件查看器中,包括数据库,邮件等等位置,以便我们快速跟踪程序bug。 Log4Net的使用 首先引用Log4Net.dll 使用Log4net必须引入log4net.dll 文件,因为log4net是开源的,所以可以直接将源码添加到工程项目中去。然后生成新的dll文件。 初始化注册Log4net 在程序启动的时候就初始化配置信息log4net.Config.XmlConfigurator.Configure(); 在BS程序中,在根目录的Global.asax文件的Application_Start方法中添加:log4net.Config.XmlConfigurator.Configure(); 在CS程序中在根目录的Program.cs中的Main方法中添加

linux系统日志及其rsyslog服务

我们两清 提交于 2020-01-11 08:46:39
日志是系统用来记录系统运行时候的一些相关消息的纯文本文件 /var/log下保存着大量的纯文本日志文件 日志的目的是为了保持相关程序的运行状态,错误消息,为了对系统运行进行错误分析使用 1.内核消息 2.服务消息 3.应用程序消息 这篇文章将只涉及日志的保存和记录 rsyslog是旧版syslog的增强 可以通过service rsyslog status查看当前状态 可以通过service rsyslog start/stop/restart控制rsyslog服务 查看日志一般用tail命令查看最后10行(最新) 也可以通过tail -f 实时更新 /etc/rsyslog.conf是rsyslog的配置文件 格式XXX.YYY /var/filename XXX是日志来源 YYY是优先级 例如kern.error /var/kern_error 这条配置将把内核error错误写入指定的文件中 路径前加一个-(减号)将提高写入效率,但是可能造成断电时缓存丢失 例如kern.error -/var/kern_error 也可以将路径写成@192.168.1.1发送到日志服务器一个@表示UDP两个@表示TCP 建议使用TCP Facility-日志来源 Facility 消息来源 kern 内核消息 user 用户级消息 mail 邮件系统消息 daemon 内核消息 auth

HBase工程师线上工作经验总结----HBase常见问题及分析

允我心安 提交于 2020-01-09 18:51:50
阅读本文可以带着下面问题: 1.HBase遇到问题,可以从几方面解决问题? 2.HBase个别请求为什么很慢?你认为是什么原因? 3.客户端读写请求为什么大量出错?该从哪方面来分析? 4.大量服务端exception,一般原因是什么? 5.系统越来越慢的原因是什么? 6.Hbase数据写进去,为什么会没有了,可能的原因是什么? 7. regionserver发生abort,遇到最多是什么情况? 8.从哪些方面可以判断HBase集群是否健康? 9.为了加强HBase的安全性,你会采取哪些措施? 在Tcon分布式系统测试实践的分享中,笔者提到了测试人员参与线上问题分析的必要性: 1、测试工作中的问题定位提供了大量经验,可以直接应用于线上。 2、快速的解决问题可以避免大故障的发生。 3、从线上的问题可以帮助我们准确抓住测试的重点和不足。 因此在日常的线上维护工作中,积累和很多HBase的问题分析经验,这里于大家分享一下,如有错误和不足请指出。 问题分析的主要手段 1、监控系统:首先用于判断系统各项指标是否正常,明确系统目前状况 2、服务端日志:查看例如region移动轨迹,发生了什么动作,服务端接受处理了哪些客户端请求。 3、gc日志:gc情况是否正常 4、操作系统日志和命令:操作系统层面、硬件是否故障,当前状况如何 5、btrace:实时跟踪目前服务端的请求和处理情况 6、运维工具