对数分析器

log-analyzer的Python项目详细描述


Latest version onSupported Python versionsTravis Pipelines build statuscodecov

说明

日志分析器是一个人工的和简单的日志分析器,用于快速故障排除。

这个项目开始是一个面试项目。现在我用它来监控我的网站流量。

开始

从Github安装

pip install git+http://github.com/yurilaaziz/log-analyzer.git

从pypi安装

pip install log-analyzer

运行日志分析器

log-analyzer 

默认情况下,日志分析器从/var/log/access.log读取日志

screen shot log-analyzer

使用外部配置运行日志分析器

LOGANALYZER_CONFIG_FILE=sample.config.yml log-analyzer 

用另一个日志文件运行日志分析器

LOGANALYZER_PARSER_INPUT=/tmp/test.log log-analyzer 

设计

Design log-analyzer

三个组件上的日志分析器容器:

  • 分析器进程:

    • 读取日志文件
    • 处理模式类后面的行
    • 将数据推送到持久性驱动程序
  • 消费者流程(控制台显示):

    • 从持久性驱动程序读取数据
    • 显示按点击顺序排列的数组
  • 警报管理器:

    • 计算模式警报类中定义的规则
    • 将通知推送到将在控制台上显示的持久性驱动程序
  • 持久性驱动程序:

    • 定义生产者和消费者之间的接口。
    • 允许将数据持久化到不同的数据存储区

配置

日志分析器使用config42来管理其配置。这意味着配置文件中的每个变量都可以从 环境变量、配置文件、外部数据存储(ETCD)

下面是yaml格式的默认配置示例: configuration file

待办事项

  • [X]重新执行警报管理器过程以删除警报类,并从配置中读取警报规则
  • []重新编写main以获得更好的带有“docopt”的cli
  • []编写一个持久性驱动程序,以支持ElasticSearch/IntroxDB数据存储
  • []支持多个日志文件/源
  • []支持多个持久性驱动程序

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
利用SWAP函数解决互斥的同步Java死锁   主线程退出时程序的java终止?   java Firestore字段空类型用法   java Android在同一页面上滚动到ID   java Eclipse:将源代码文件夹导入其他项目   maven Groovy编译以“java”结尾。StackOverflowerr语言`   java从变量中获取变量列表   java在Eclipse中重命名标识符时输入vs转义   Java:创建一个只包含重复项的数组   java Mule ESB 3.3 Mulecontext注册表pop   bash杀戮屏幕但java进程未结束   java正在创建一个表来存储一行错误编程的迹象?   java如何启动RecentApplicationDialog?   java以确定的增量移动字符串中的字符   使用用户输入搜索多个mysql数据库的JavaJSP算法   java Arraylist到DefaultComboxModel