Published: 2017-12-23 21:35:00
By ytwan
In OS .
tags: things
Linux 主要介绍日志系统,日志系统,往往是数据采集的来源之一,对日志进行处理以及采集,对数据的影响是很大的。
了解日志系统,从操作系统到服务应用,再到应用程序。对这些日志的了解,加深对数据源的了解。日志生成以及日志采集和处理,是从技术层面上数据的开始。
业务层面的数据开始,才是最开始的数据源,确保技术层面不对数据流有太多的影响。
文件系统
映射关系:扇区→物理块→逻辑块→文件系统
1.使用df -T 查看挂载的文件系统类型:
df -T -h
2.支持的文件系统
/lib/modules/kernl-version/kernel/fs/ 目录下包含了当前内核版本支持的文件系统
查看当前内核版本
uname -a 发行版本:cat /etc/issue
ls /lib/modules/ /kernel/fs/
3..文件系统 --默认的文件系统以及支持的文件系统
传统文件系统
Ext是 GNU/Linux 系统中标准的文件系统,其特点为存取文件的性能极好,对于中小型的文件更显示出优势
tmpfs是一种基于内存的文件系统
日志式文件系统
Ext3是一种日志式文件系统,是对ext2系统的扩展,它兼容ext2,增加了一个日志功能。
Ext4 是 Ext3 的改进版,修改了 Ext3 中部分重要的数据结构
Windows的文件系统
Mac的文件系统
分布式文件系统
HDFS Hadoop Distributed File System
Alluxio : 开源分布式内存文件系统
4.文件组织结构
继承式的文件组织结构
5.文件类型
1.普通文件 (-) [表示,可用ls -l查看]
2.目录 (d)directory [在Linux中,任何东西都被看成文件,外设备也看成文件,注意是任何东西]
3.字符设备文件 (c)character
4.块设备文件 (b)block
5.套接口文件 (s)sockets [如我们开启MySQL服务后,在/var/lib/mysql/下生成的mysql.sock文件,关闭MySQL服务后,这个文件就消失了]
6.管道 (p)pipe [管道在Linux/UNIX中式非常有用的东西,必须掌握哈]
7.符号链接文件 (l)link [有点儿像WIN下的快捷方式]
文件
文本文件
可执行文件
与Windows不同。在Windows中,能执行的文件扩展名通常是 .com、.exe、.bat等等,
而在Linux中,只要属性中有x,例如 [-rwx-r-xr-x] 即表示这个文件可以执行
文件系统与文件服务器
文件系统-从数据IO路径以及磁盘等存储管理
文件服务器- 高层通信协议(网络文件访问协议-网络文件传输协议)
1.NFS/CIFS
NFS(Network File System)即网络文件系统
Common Internet File System (CIFS) Protoco
2.SAMBA :作为 NFS 的补充使得在 Linux 和 Windows 系统中进行文件共享、打印机共享
3.FTP
FTP 是File Transfer Protocol(文件传输协议)
日志系统
日志类型
日志操作
日志转储也叫日志回卷或日志轮转 logging rotate
I、系统日志
Linux发行版默认的日志守护进程为 syslog,
位于 /etc/syslog 或 /etc/syslogd,
默认配置文件为 /etc/syslog.conf,
任何希望生成日志的程序都可以向 syslog 发送信息
常见日志文件
所有的系统应用都会在 /var/log 目录下创建日志文件
II、服务日志
slf4j--
简单日记门面(simple logging Facade for Java)SLF4J是为各种loging APIs提供一个简单统一的接口,
从而使得最终用户能够在部署的时候配置自己希望的loging APIs实现
Log4j
由三个重要的组件构成:日志信息的优先级,日志信息的输出目的地,日志信息的输出格式。
日志信息的优先级从高到低有ERROR、WARN、 INFO、DEBUG,分别用来指定这条日志信息的重要程度;
日志信息的输出目的地指定了日志将打印到控制台还是文件中;
而输出格式则控制了日志信息的显 示内容。
III、数据库服务日志
Binlog的三种模式
MySQL有六种不同类型的日志。
一、日志种类
———–> 1,错误日志:记录启动、运行或停止时出现的问题,一般也会记录警告信息。
———–> 2,一般查询日志:记录建立的客户端连接和执行的语句。
———–> 3,慢查询日志:记录所有执行时间超过long_query_time秒的所有查询或不使用索引的查询,可以帮我们定位服务器性能问题。
———–> 4,二进制日志:任何引起或可能引起数据库变化的操作,主要用于复制和即时点恢复。
———–> 5,中继日志:从主服务器的二进制日志文件中复制而来的事件,并保存为的日志文件。
———–> 6,事务日志:记录InnoDB等支持事务的存储引擎执行事务时产生的日志
binlog模式分三种(row,statement,mixed)
IV、服务器日志
开发环境服务器--生产环境服务器
Apache通用日志工具commons-logging
1.Apache
Apache HTTP Server(简称Apache)是Apache软件基金会的一个开放源码的网页服务器
日志类型
logs目录下就会生成两个文件,分别是access_log和error_log
位置
1.默认位置可以通过编辑Apache的配置文件进行修改
Apache的配置文件为apache.conf,另外还包含了自定义的conf文件。
/etc/httpd/conf/httpd.conf,然后查找 ServerRoot,
该参数显示了 Apache Web 服务器目录树的顶层,日志文件和配置都位于该目录树中
2.默认位置
在基于Debian的Linux上,Apache错误日志默认位置是/var/log/apache2/error.log
基于 Red Hat 的Linux中,系统范围的 Apache 错误日志文件默认被放置在/var/log/httpd/error_log
内容和格式:
自定义日志格式
默认的日志格式
一般Apache默认的格式为“LogFormat "%h %l %u %t %T \"%r\" %>s %b”
2.Nginx
Nginx(engine x) 是一个高性能的HTTP和反向代理服务器,分别使用不同的指令来定义其输出位置和相应的级别
类型:
access log 记录了哪些用户,哪些页面以及用户浏览器、ip和其他的访问信息
error log 则是记录服务器错误日志,提供了error_log指令来指定错误日志的输出文件和级别
nginx的日志文件没有rotate功能
位置:
/usr/local/nginx/conf/nginx.conf
3.Tomact
Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器
在Unix和LINUX平台下使用最广泛的免费HTTP服务器是Apache和Nginx服务器,
而Windows平台NT/2000/2003使用IIS的WEB服务器 Internet Information Services
V、开源日志系统
分别为agent(封装数据源,将数据源中的数据发送给collector),
collector(接收多个agent的数据,并进行汇总后导入后端的store中),
store(中央存储系统,应该具有可扩展性和可靠性
Kafka producer,broker和consumer
Flume 是cloudera于2009年7月开源的日志系统 Flume采用了三层架构,分别问agent,collector和storage
消息中间件
广泛运用消息中间件进行系统间的数据交换,一般两个功能,解耦和异步处理,
消息队列(Message Queue)
常见的三类消息产品(Kafka、RabbitMQ、RocketMQ)
Kafka 是LinkedIn开源的分布式发布-订阅消息系统
RabbitMQ是使用Erlang语言开发的开源消息队列系统,基于AMQP协议来实现
RocketMQ是阿里开源的消息中间件
数据存储和数据库
文件系统和数据库系统区别
文件系统把数据组织成相互独立的数据文件,实现了记录内的结构性,但整体无结构;
而数据库系统实现整体数据的结构化。
联系:一般来说数据库系统会调用文件系统来管理自己的数据文件,但也有些数据库系统能够自己管理数据文件
数据管理和数据共享--文件系统不能满足需求
根据数据模型- DB
数据存储系统
NAS(Network Attached Storage:网络附属存储)
存储产品
网盘-云盘
公有云及私有云
群晖科技(Synology )--提供网络存储解决方案
参考
Linux系统日志及日志分析 http://c.biancheng.net/cpp/html/2783.html
Flask + mod_wsgi + Apache on Windows 部署成功 http://blog.csdn.net/firefox1/article/details/46438769
阿里中间件团队博客 http://jm.taobao.org/