Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up

Go语言实现的日志收集服务,由LogAgent、LogTransfer和LogManager三部分组成。

License

NotificationsYou must be signed in to change notification settings

hzde0128/logCollect

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

52 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

travis-ciCode GradeCode Quality ScoreGo Report Card

软件架构

architecture


说明

通过在运维平台上配置日志收集项,logAgent从etcd中获取要收集的日志信息从业务服务器读取日志信息,发往kafka,logTransfer负责从kafka读取日志,写入到Elasticsearch中,通过Kibana进行日志检索。系统性能数据的收集有Node_Exporter进行采集,Prometheus拉取入库,将告警信息推给AlertManager,最后通过Grafana进行可视化展示。


快速开发环境

使用docker-compose快速部署开发环境

version:"3"networks:app-kafka:driver:bridgeservices:zookeeper:container_name:zookeeperimage:zookeeper:3.4.14restart:alwaysnetworks:      -app-kafkakafka:container_name:kafkaimage:bitnami/kafka:2.4.0restart:alwaysenvironment:       -KAFKA_CFG_ZOOKEEPER_CONNECT=zookeeper:2181      -ALLOW_PLAINTEXT_LISTENER=yes# 后面三条是暴露给外网使用      -KAFKA_CFG_LISTENER_SECURITY_PROTOCOL_MAP=PLAINTEXT:PLAINTEXT,PLAINTEXT_HOST:PLAINTEXT      -KAFKA_CFG_LISTENERS=PLAINTEXT://:9092,PLAINTEXT_HOST://:29092      -KAFKA_CFG_ADVERTISED_LISTENERS=PLAINTEXT://kafka:9092,PLAINTEXT_HOST://localhost:29092ports:    -127.0.0.1:9092:9092# 外网使用29092进行访问    -127.0.0.1:29092:29092networks:      -app-kafka

v0.1.0版本实现的功能

  • 读取日志文件

  • 写入到kafka中

  • 可以自行配置要收集的日志文件

v0.2.0版本实现的功能

  • 从etcd中获取日志收集项

  • logAgent可以同时运行多个日志收集任务

  • 实现实时配置项变更

  • 根据当前服务器的IP地址获取配置项

v0.3.0版本增加logTransfer服务

  • 实现日志入库到ES

  • 使用第三方日志框架logrus保存日志

  • 支持日志文件切割

  • 加入消费组,支持多个topic

  • tail包从上次读取的位置开始读

v0.4.0版本增加logManager服务

logManager是有Beego框架搭建起来的web服务,主要是为了方便管理日志收集项

  • 从后台界面添加主机和日志收集项

  • Cookie和Session实现

  • 后台访问鉴权

  • CURD增删改查操作完成

v0.5.0版本logManager优化

  • 使用redis进行缓存

  • 实现从logManager进行添加/删除/修改日志收集项

  • logAgent获取logManager界面增删改的收集项

开发计划

  • logManager使用redis进行缓存

  • logManager添加收集项之后将配置发给etcd

  • logAgent从etcd获取到收集项进行收集并监听变更

  • logTransfer从etcd获取配置写ES

logManager-login

logManager-dashboard

logManager-host

配套教程

Go运维开发之日志收集(1)收集应用程序到kafka中

Go运维开发之日志收集(2)从etcd中获取配置信息

Go运维开发之日志收集(3)根据etcd配置项创建多个tailTask

Go运维开发之日志收集(4)监视etcd配置项的变更

Go运维开发之日志收集(5)根据IP地址去拉取配置日志收集项

Go运维开发之日志收集(6)从kafka中获取日志信息

Go运维开发之日志收集(7)将日志入库到Elasticsearch并通过Kibana进行展示

Go运维开发之日志收集(8)将应用程序日志写入到文件中

Go运维开发之日志收集(9)logTransfer支持多个Topic

About

Go语言实现的日志收集服务,由LogAgent、LogTransfer和LogManager三部分组成。

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

[8]ページ先頭

©2009-2025 Movatter.jp