{"id":13537512,"url":"https://github.com/talkingdata/owl","last_synced_at":"2025-12-29T23:21:16.321Z","repository":{"id":44441756,"uuid":"45159426","full_name":"TalkingData/owl","owner":"TalkingData","description":"Distributed monitoring system","archived":false,"fork":false,"pushed_at":"2024-03-22T04:18:36.000Z","size":10046,"stargazers_count":837,"open_issues_count":6,"forks_count":250,"subscribers_count":85,"default_branch":"master","last_synced_at":"2025-03-24T16:38:37.503Z","etag":null,"topics":["go-micro","golang","metrics","metrics-visualization","microservice","monitor","monitoring-server","owl"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/TalkingData.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2015-10-29T04:05:58.000Z","updated_at":"2025-02-22T18:03:09.000Z","dependencies_parsed_at":"2023-01-20T06:31:09.994Z","dependency_job_id":"e785240c-4164-4a3e-9eca-438ad64a4daf","html_url":"https://github.com/TalkingData/owl","commit_stats":{"total_commits":209,"total_committers":15,"mean_commits":"13.933333333333334","dds":0.3157894736842105,"last_synced_commit":"703d48cbc6c04dabe3e4196a34aeaef8314b6488"},"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TalkingData%2Fowl","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TalkingData%2Fowl/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TalkingData%2Fowl/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TalkingData%2Fowl/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/TalkingData","download_url":"https://codeload.github.com/TalkingData/owl/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246756985,"owners_count":20828805,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["go-micro","golang","metrics","metrics-visualization","microservice","monitor","monitoring-server","owl"],"created_at":"2024-08-01T09:00:59.930Z","updated_at":"2025-12-29T23:21:16.209Z","avatar_url":"https://github.com/TalkingData.png","language":"Go","funding_links":[],"categories":["\u003ca id=\"9eee96404f868f372a6cbc6769ccb7f8\"\u003e\u003c/a\u003e新添加的","\u003ca id=\"9eee96404f868f372a6cbc6769ccb7f8\"\u003e\u003c/a\u003e工具"],"sub_categories":["\u003ca id=\"31185b925d5152c7469b963809ceb22d\"\u003e\u003c/a\u003e新添加的"],"readme":"﻿# OWL\n[![Go Report Card](https://goreportcard.com/badge/github.com/TalkingData/owl)](https://goreportcard.com/report/github.com/TalkingData/owl)\n[![License](https://img.shields.io/badge/LICENSE-Apache2.0-ff69b4.svg)](http://www.apache.org/licenses/LICENSE-2.0.html)\n\n\n​\u0026nbsp;​\u0026nbsp;​\u0026nbsp;​\u0026nbsp;​\u0026nbsp;​\u0026nbsp;OWL 是由国内领先的第三方数据智能服务商 [TalkingData](\u003chttps://www.talkingdata.com/\u003e) 开源的一款企业级分布式监控告警系统，目前由 Tech Operation Team 持续开发更新维护。\n\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;OWL 后台组件全部使用 [Go](https://golang.org/) 语言开发，Go 语言是 Google 开发的一种静态强类型、编译型、并发型，并具有垃圾回收功能的编程语言，它的并发机制可以充分利用多核，同平台一次编译可以到处运行，运维成本极低，更多的信息可以参考[官方文档](https://golang.org/doc/)。前端页面使用 [iView](\u003chttps://github.com/iview/iview\u003e) 开发，iView 同样是由 TalkingData 开源的一套基于 Vue.js 的 UI 组件库，主要服务于 PC 界面的中后台产品。\n\n\n## Features\n\n- Go语言开发，部署维护简单\n- 分布式，支持多机房\n- 多维的数据模型，类opentsdb\n- 支持多种报警算法，支持多条件组合、时间范围、报警模板等\n- 灵活的插件机制，支持任意语言编写，支持传参，自动同步到客户端\n- 丰富的报警渠道，邮件、企业微信、短信、电话以及自定义脚本\n- 原始数据永久存储，支持发送到 opentsdb、kairosdb、kafka\n- 自带 web 管理界面以及强大的自定义图表功能能\n\n## Architecture\n\n![owl](./arch.jpg)\n\n## Demo\n\n![demo](./docs/demo_1.png)\n\n## Components\n\n**agent**：安装在每台被监控机器上，用于采集监控数据\n\n**netcollect**：通过 SNMP V2 采集网络设备的接口数据\n\n**repeater**：接收 `agent` 发送过来的监控数据，并写入后端存储\n\n**cfc**：维护客户端需要执行的插件列表，主机名 、ip地址更新以及采集到的指标列表\n\n**controller**：从数据库加载告警策略，生成任务发送给 `inspector`，并且根据执行结果进行告警\n\n**inspector**：从 `controller` 获取监控任务，根据 `tsdb` 中的数据进行计算，并将结果返回 `controller`\n\n**api**：对外提供 http rest api接口，web 页面就是通过它来获取数据\n\n**MySQL**：所有配置信息的持久化存储，包含主机信息，告警策略，主机组，人员等\n\n**TSDB**：时序数据库(time seires database)，用于存储采集到的监控数据\n\n**frontend**：web 管理页面，可以方便的进行系统管理维护工作\n\n## 前端源码地址\nhttps://github.com/TalkingData/owl-frontend\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftalkingdata%2Fowl","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftalkingdata%2Fowl","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftalkingdata%2Fowl/lists"}