前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >运维经验沉淀,面向云原生的一站式日志采集配置及运维平台

运维经验沉淀,面向云原生的一站式日志采集配置及运维平台

作者头像
IT大咖说
发布2022-06-27 13:40:14
1.1K0
发布2022-06-27 13:40:14
举报
文章被收录于专栏:IT大咖说

◆ 一、开源项目简介

滴滴LogiAM来源于滴滴多年来大量的运维实践经验。经历过多方考验,对于大规模Agent日志采集治理管控及巡检诊断已经沉淀出一套完善的解决方案。在云原生时代背景下,LogiAM以“应用/服务”为采集粒度,满足了从业务层面创建采集任务的需求。

◆ 二、开源协议

使用Apache-2.0开源协议

◆ 三、界面展示

◆ 四、功能概述

◆ 用户体验地图

  • 主机/容器管理:用于维护主机、容器信息至系统(含:容器-主机关系)
  • 服务管理:用于维护服务信息至系统(含:服务-主机、服务-容器关系)
  • 日志接收端管理:用于维护Agent上报的数据流、指标流、错误日志流需要写入的下游接收端信息(目前接收端类型仅支持kafka)
  • Agent管理:用于维护Agent信息(含:Agent指标流、错误日志流对应下游的接收端信息、Agent限流信息等) ,Agent被部署、启动后,会自动向管理平台进行注册,注册成功后,即可进行对应管理,注意:Agent注册前,请在平台维护好Agent宿主机信息
  • 日志采集任务管理:用于面向服务配置采集任务,配置好的采集任务通过服务找到部署该服务的主机/容器集,针对采集这些主机、容器的Agent集,进行日志采集任务下发
  • Agent指标查看:用于查看Agent运行时全景指标
  • 日志采集任务指标查看:用于查看日志采集任务在各Agent上运行时全景指标
  • Agent健康度巡检:基于Agent运行时指标对Agent是否运行健康进行检查
  • 日志采集任务健康度巡检:基于日志采集任务在各Agent运行时指标对日志采集任务是否运行健康进行检查

◆ 核心优势

  • 稳定可靠的采集引擎:基于滴滴内部多年来沉淀的经验,在多年、数千个应用、数十万台机器,各核心业务场景的锤炼打磨下,在采集业务层面足够稳定成熟
  • 便捷的日志采集配置能力:通用场景下尽量少的配置,配置所见即所得
  • 高效的问题诊断、定位能力:具有卓越的指标诊断体系,将Agent、日志采集任务运行时状态全景数字化呈现,实时监控Agent及采集任务健康度,提供故障诊断功能并开具相应诊断报告,可高效快捷的实现问题定位
  • 强大的运维能力:基于滴滴多年各核心业务、海量Agent与采集任务的运维经验,对于超大规模Agent与采集任务的治理管控及巡检诊断已经沉淀出一套完善的解决方案。实时查看运维任务,便于运维人员把控运维任务进度及状态

◆ 五、技术选型

◆ 滴滴Logi-Agent架构图

◆ Agent Manager 本地开发环境搭建

◆ 1 环境准备

◆ 1.1 环境依赖

  • Java 8+
  • Maven 3.5+
  • Node 14.15.1 (前端环境)
  • Mysql 5.7+ (数据存储)
  • kafka 2.3+
  • IDEA

◆ 1.2 数据库初始化

执行Agent-Manager源码包中的create_mysql_table.sql这个sql文件,初始化mysql表。

代码语言:javascript
复制
# 示例:mysql -uXXXX -pXXX -h XXX.XXX.XXX.XXX -PXXXX < ./create_mysql_table.sql

◆ 2 本地启动

先进入system-metrcis项目主目录,执行mvn clean install -DskipTests命令。

因为本地直接使用IDEA启动agent-manager项目,并不会将前端资源文件生成,因此在第一次启动之前,需要在agent-manager项目主目录执行一下mvn clean install -DskipTests命令,将前端的静态资源文件打包出来。

mvn install执行完成以后,修改application.yml配置文件,然后点击启动即可。

本地启动成功之后,访问http://localhost:8080。

具体的IDEA启动及配置见图:

◆ IDEA 打包

◆ 修改 Agent-Manager 配置文件

◆ 启动 Agent-Manager

◆ Agent-Manager 浏览器访问

◆ 3 Agent-Manager 简要介绍

◆ 3.1 整体架构

◆ 3.2 模块介绍

模块

说明

详细说明

agent-manager-console

前端模块

Agent-Manager前端相关的代码

agent-manager-common

公共模块

存放公共内容,包括POJO类、常量/枚举类、工具类等

agent-manager-core

核心模块

Agent-Manager的核心模块,存放最基本及最重要的功能,比如采集任务的增删改查等

agent-manager-persistence

DAO 模块

主要是操作MySQL、ElasticSearch的相关类

agent-manager-extends

扩展模块

非核心模块,可根据实际需要进行扩展

agent-manager-thirdpart

扩展模块-默认第三方扩展模块

如元数据(主机、容器、Pod、服务)的获取,默认基于标准k8s,也可以对接自己公司内部的容器管理平台

agent-manager-remote

远程访问模块

用于与其他系统进行交互,例如kafka-manager、对象存储等

agent-manager-task

定时任务模块

基于MySQL通过抢占方式实现的一个定时任务的负载均衡以及定时任务的执行模块,用于执行既有定时任务,比如日志采集任务、Agent的健康度巡检

agent-manager-rest

web 模块

接受外部 Rest Http 请求及进行相关控制

◆ Log-Agent 本地开发环境搭建

◆ 1 环境准备

◆ 1.1 环境依赖

  • Java 8+
  • Maven 3.5+
  • kafka 2.3+
  • IDEA

注意:在搭建Log-Agent本地开发环境前,请先对Agent-Manager工程进行Maven打包、安装。

◆ 2 本地启动

修改settings.properties配置文件,将log-agent-node项目中的 com.didichuxing.datachannel.agent.node.Agent类作为启动类运行即可。

来源:

https://www.toutiao.com/article/7110957617547280929/?log_from=7c2a443a82a79_1655864191456

“IT大咖说”欢迎广大技术人员投稿,投稿邮箱:aliang@itdks.com

来都来了,走啥走,留个言呗~

 IT大咖说  |  关于版权

由“IT大咖说(ID:itdakashuo)”原创的文章,转载时请注明作者、出处及微信公众号。投稿、约稿、转载请加微信:ITDKS10(备注:投稿),茉莉小姐姐会及时与您联系!

感谢您对IT大咖说的热心支持!

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-06-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 IT大咖说 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • ◆ 一、开源项目简介
  • ◆ 二、开源协议
  • ◆ 三、界面展示
  • ◆ 四、功能概述
  • ◆ 用户体验地图
  • ◆ 核心优势
  • ◆ 五、技术选型
  • ◆ 滴滴Logi-Agent架构图
  • ◆ Agent Manager 本地开发环境搭建
  • ◆ 1 环境准备
  • ◆ 1.1 环境依赖
  • ◆ 1.2 数据库初始化
  • ◆ 2 本地启动
  • ◆ IDEA 打包
  • ◆ 修改 Agent-Manager 配置文件
  • ◆ 启动 Agent-Manager
  • ◆ Agent-Manager 浏览器访问
  • ◆ 3 Agent-Manager 简要介绍
  • ◆ 3.1 整体架构
  • ◆ 3.2 模块介绍
  • ◆ Log-Agent 本地开发环境搭建
  • ◆ 1 环境准备
  • ◆ 1.1 环境依赖
  • ◆ 2 本地启动
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档