对数分析器
log-analyzer的Python项目详细描述
说明
日志分析器是一个人工的和简单的日志分析器,用于快速故障排除。
注:
这个项目开始是一个面试项目。现在我用它来监控我的网站流量。
开始
从Github安装
pip install git+http://github.com/yurilaaziz/log-analyzer.git
从pypi安装
pip install log-analyzer
运行日志分析器
log-analyzer
默认情况下,日志分析器从/var/log/access.log读取日志
使用外部配置运行日志分析器
LOGANALYZER_CONFIG_FILE=sample.config.yml log-analyzer
用另一个日志文件运行日志分析器
LOGANALYZER_PARSER_INPUT=/tmp/test.log log-analyzer
设计
三个组件上的日志分析器容器:
分析器进程:
- 读取日志文件
- 处理模式类后面的行
- 将数据推送到持久性驱动程序
消费者流程(控制台显示):
- 从持久性驱动程序读取数据
- 显示按点击顺序排列的数组
警报管理器:
- 计算模式警报类中定义的规则
- 将通知推送到将在控制台上显示的持久性驱动程序
持久性驱动程序:
- 定义生产者和消费者之间的接口。
- 允许将数据持久化到不同的数据存储区
配置
日志分析器使用config42来管理其配置。这意味着配置文件中的每个变量都可以从 环境变量、配置文件、外部数据存储(ETCD)
下面是yaml格式的默认配置示例: configuration file
待办事项
- [X]重新执行警报管理器过程以删除警报类,并从配置中读取警报规则
- []重新编写main以获得更好的带有“docopt”的cli
- []编写一个持久性驱动程序,以支持ElasticSearch/IntroxDB数据存储
- []支持多个日志文件/源
- []支持多个持久性驱动程序