Loggrove

日志小树林
授权协议 MIT
开发语言 Python JavaScript HTML/CSS
所属分类 程序开发、 日志工具(Logging)
软件类型 开源软件
地区 国产
投 递 者 商昆琦
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

Loggrove


Python 

Introduction

Loggrove 是对本地、远程日志文件进行 分页阅读、实时阅读(websocket)、关键词匹配、统计、监控、钉钉告警、Highcharts趋势图展示 的 Web 平台服务,并包含 用户认证、LDAP认证、操作审计 等基础服务。

DEMO

地址:http://39.105.81.124:6218

用户:guest

密码:guest123

Web UI 界面

简洁大方的 Web UI 界面,进行 日志文件、日志图表、日志阅读、日志轮询、日志关键词匹配、用户、审计 等统一管理,提供一系列简单、准确、美观的日志管理、查看、过滤 等服务。

image

更多图片

超轻组件

Python 3.6

Tornado 5.0.2

MySQL 5.7

JQuery 3.1.0

Bootstrap 3.3

Sb-admin 2.0

Requirements

组件: 安装 Python3.6、Pip3、MySQL5.7、Nginx、Crond 等服务;

命令: python3、pip3、mysql、crontab、yum 命令可用,否则会导致初始化 Loggrove 失败;

Installation & Configuration

下载

git clone http://git@github.com:olajowon/loggrove.git

修改配置 settings.py

MYSQL_DB = {
    'host': 'host',
    'port': 3306,
    'user': 'user',
    'password': 'password',
    ...
}

SSH = {
   'username': 'root',                  
   'password': 'password', 
   'port': 22,                         
   ...
}

LDAP = {
   'auth': False,           # True 开启ldap认证
   'base_dn': 'cn=cn,dc=dc,dc=dc',     
   'server_uri': 'ldap://...',
   'bind_dn': 'uid=uid,cn=cn,cn=cn,dc=dc,dc=dc',    
   'bind_password': 'password',
}

MYSQL_DB: MySQL数据库连接配置,请配置一个所有远程日志主机可以正确的连接的地址,避免localhost、127.0.0.1 类似的地址。

SSH: SSH连接配置,用于SSH连接远程日志主机,建议使用root,避免权限不够。

LDAP: LDAP认证配置,这里选择性开启,Loggrove 本身内置了用户认证 ,没有LDAP需求的场景可以忽略此配置。

构建 build.py

python3 build.py

Start-up

启动多实例 (建议使用Supervisor管理)

python3 start.py --port=8800
python3 start.py --port=8801
python3 start.py --port=8802
python3 start.py --port=8803

Supervisor 文档: http://demo.pythoner.com/itt2zh/ch8.html#ch8-3

Nginx 代理

upstream loggrove {
    server 127.0.0.1:8800;
    server 127.0.0.1:8801;
    server 127.0.0.1:8802;
    server 127.0.0.1:8803;
}

server {
    listen 80;
    server_name localhost;

    location / {
        proxy_pass_header Server;
        proxy_set_header Host $http_host;
        proxy_redirect off;

        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";

        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Scheme $scheme;
        proxy_pass http://loggrove;
    }
}

项目日志

tail -f /tmp/loggrove.log	

监控任务(统计、监控、告警)

监控脚本

loggrove/scripts/monitor.py

进行监控

在日志真实存储的机器上运行该脚本,使用参考 --help

python3 monitor.py -s http://<loggrove> -h <host>

注:推荐supervisor进行管理,也可以使用nohup简单运行

 

Exhibition

dashboard

image

日志文件 file

image

监控项 monitor item

image

日志阅读 read

image

日志轮询 keepread

image

日志图表 charts

imageimage

登录 login

image

  • Loggrove 是对日志文件进行 阅读、轮询、关键词匹配、监控告警、图表展示 的 Web 服务。 下载地址 https://github.com/olajowon/loggrove 超轻组件 Python 3.6 Tornado 5.0.2 MySQL 5.7 JQuery 3.1.0 Bootstrap 3.3 Sb-admin 2.0 Web UI 界面 简洁大方的 Web UI 界面,进行

 相关资料
  • partition/data只有15G,kafka日志文件夹是-/data/var/kafka/kafka-logs data/var/kafka/kafka-logs下的大多数文件夹大小为4K-40K 但两个文件夹的大小非常大--5G-7G,这导致/数据是100%

  • 日志快速入门 Django 使用Python 内建的logging 模块打印日志。该模块的用法在Python 本身的文档中有详细的讨论。如果你从来没有使用过Python 的logging 框架(或者即使使用过),请参见下面的快速导论。 logging 的组成 Python 的logging 配置由四个部分组成: Loggers Handlers Filters Formatters Loggers

  • Nginx 日志主要有两种:access_log(访问日志) 和 error_log(错误日志)。 access_log 访问日志 access_log 主要记录客户端访问 Nginx 的每一个请求,格式可以自定义。通过 access_log 你可以得到用户地域来源、跳转来源、使用终端、某个 URL 访问量等相关信息。 log_format 指令用于定义日志的格式,语法: log_format n

  • Yii提供了一个强大的日志框架,这个框架具有高度的可定制性和可扩展性。使用这个框架, 你可以轻松地记录各种类型的消息,过滤它们, 并且将它们收集到不同的目标,诸如文件,数据库,邮件。 使用Yii日志框架涉及下面的几个步骤: 在你代码里的各个地方记录 记录日志消息就跟调用下面的日志方法一样简单: Yii::trace():记录一条消息去跟踪一段代码是怎样运行的。这主要在开发的时候使用。 Yii::i

  • 介绍 为了帮助你了解你的应用的运行状况,Laravel 提供了强大的日志记录服务,以便你将信息、系统错误记录到文件中,甚至还可以用 Slack 通知你的团队。 Laravel 的日志系统基于 Monolog 库,Monolog 提供了多种强力的日志处理程序。在 Laravel 中可以简单地配置这些处理程序,你可以通过混合使用配置项来自定义应用日志处理程序。 配置 所有日志系统相关的配置都在 con

  • Logger 是一个接口,默认使用 https://github.com/lunny/log 作为Log。你也可以实现你自己的Logger。 type Logger interface { Debugf(format string, v ...interface{}) Debug(v ...interface{}) Infof(format string, v ...int