build

module
v0.0.6 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 2, 2019 License: MIT

README

TeaWeb - 可视化的Web代理服务

TeaWeb是一款集静态资源、缓存、代理、统计、监控于一体的可视化智能WebServer。

TeaWeb使用Go语言实现,在高可定制化前提下,保证高性能、高并发。

架构

             |--------------|       |----------------------------| 
Client  <->  | TeaWeb:7777  |  <->  | Nginx, Apache, Tomcat,     |
             |--------------|       | Fastcgi, Static Files, ... |
                  |                 |----------------------------|
                  |
                  |
             |-------------|        |-------------|
             |  Web        |        | [Plugins]   | 
             |  Proxy      |  <--   |  Apps       |
             |  Log        |        |  Widgets    |
             |  Monitor    |        |  Filters    |
             |  Statistics |        |-------------|
             |  Security   |
             |  Cache      |
             |  ...        |
             |-------------|

故事

在无数的深夜里,我们不停地下载、安装各式各样的产品:监控是一套、统计是一套、日志收集又是一套。。。

大量不同的开源组合,固然免费,但又要去学习每一套软件如何使用,花了很多时间,做了很多事情之后,尝试各种不同的配置,你会惊奇地发现,自己的系统并没有因此而变得强壮而稳定。

TeaWeb 不是为了做一个很强大的集各种功能于一身的管理系统,而是做一个能让程序员、Linux系统管理员、测试工程师,喝着茶,唱着歌,就能把事情完成的一个智能化的简单易用的产品

何为"智能化"?TeaWeb会智能发现软件服务、智能提醒软件状态、智能提供性能优化建议,无需太多的配置,当你启动的时候,一切都为你准备好了。

预览

预览

预览

预览

已经构建好的版本

在这里查看编译好的Release版本,可以直接下载运行。

快速启动

注意 要运行TeaWeb需要你安装MongoDB

  1. 下载对应的Release版本,目前支持MacOS(darwin)、Linux(32bit/64bit)、Windows(32bit/64bit)三种操作系统;
  2. 使用unzip解压到某个目录,比如 teaweb-v0.0.1/;
  3. 然后执行:
    cd teaweb-v0.0.1/
    bin/teaweb start
    
  4. 如果没有出现错误的话,可以在浏览器中访问:
    http://127.0.0.1:7777
    
    其中127.0.0.1可能需要换成你服务器的IP,而且我们默认使用了7777端口(可以在configs/server.conf中修改),如果访问遇到了问题,请检查防火墙设置;
  5. 使用用户名admin和密码123456登录,可以在configs/admin.conf中修改这些信息,也可以在设置界面中修改。

构建自己的版本

  1. https://github.com/TeaWeb/build 中下载项目,放到本地磁盘上;
  2. 设置全局变量GOPATH为项目目录路径;
  3. cdsrc/main 目录
  4. 执行 init.sh 初始化项目,如果下载中出现网络错误,可以尝试多次运行此脚本;
  5. 执行 run.sh 启动项目,或者运行 build-[系统版本].sh 构建可执行文件;
  6. 在浏览器中访问 http://127.0.0.1:7777

扩展TeaWeb

文档

点这里进入文档,持续完善中

在线演示

点击这里查看在线演示的版本

报告问题

请在 https://github.com/TeaWeb/build/issues 报告你所遇到的问题,或者加入QQ群199435611跟大家一起讨论.

相关源码

开发路线图

  • v0.1 [当前]实现基础的代理、日志、统计、缓存、服务探针等功能
  • v0.2 增强系统稳定性
  • v0.3 增加本地日志收集
  • v0.4 增加本地服务监控
  • v0.5 增强系统稳定性
  • v0.6 增加分布式的Agent
  • v0.7 增强系统稳定性、性能
  • v1.0 正式发布全功能版本
  • v2.0 打通运行系统、应用、代码之间的联系

贡献

想参与项目贡献?我们目前有以下工作需要完成:

  • 安装打包:我们需要实现docker、yum、apt、npm、brew、composer、gradle等安装方式
  • 文档:仍然有大量的文档需要补充
  • 本地服务探测:需要书写和测试大量的常用的服务探测规则
  • 独立子项目:我们希望将项目分离出多个子项目进行,如果你有兴趣,可以研究:GeoIP分析、UserAgent分析、CGI协议、日志分析、文件识别等独立项目,我们可以整合进项目
  • 报告问题:有问题报告给我们也是参与贡献的一环,你可以在这里提问题,或者加入QQ群(199435611)一起讨论

感谢

  • Semantic UI - 一个非常好用的UI组件库
  • Vue.js - 支持双向绑定的DOM操作库
  • Axios - 一个好用的HTTP客户端
  • echarts - 一个很酷炫的图表库
  • geolite - Geo-IP数据库
  • BrowserScope - 社区驱动的Web浏览器信息聚合平台
  • Array.js - 帮助开发人员更优雅地操作Javascript数组
  • gofcgi - golang client for fastcgi
  • go msgpack - Go语言版本的msgpack
  • go psutil - Go语言版本的psutil
  • CodeMirror - 一个很好的在线代码编辑器
  • clipboard - Javascript控制剪切板
  • go-pinyin - Go语言实现的汉字转拼音

Directories

Path Synopsis
src
github.com/mongodb/mongo-go-driver/bson
Package bson is a library for reading, writing, and manipulating BSON.
Package bson is a library for reading, writing, and manipulating BSON.
github.com/mongodb/mongo-go-driver/bson/bsoncore
Package bsoncore contains functions that can be used to encode and decode BSON elements and values to or from a slice of bytes.
Package bsoncore contains functions that can be used to encode and decode BSON elements and values to or from a slice of bytes.
github.com/mongodb/mongo-go-driver/bson/bsonrw
Package bsonrw contains abstractions for reading and writing BSON and BSON like types from sources.
Package bsonrw contains abstractions for reading and writing BSON and BSON like types from sources.
github.com/mongodb/mongo-go-driver/bson/bsontype
Package bsontype is a utility package that contains types for each BSON type and the a stringifier for the Type to enable easier debugging when working with BSON.
Package bsontype is a utility package that contains types for each BSON type and the a stringifier for the Type to enable easier debugging when working with BSON.
github.com/mongodb/mongo-go-driver/bson/elements
Package elements holds the logic to encode and decode the BSON element types from native Go to BSON binary and vice versa.
Package elements holds the logic to encode and decode the BSON element types from native Go to BSON binary and vice versa.
github.com/mongodb/mongo-go-driver/core
Package core and all packages underneath it are not for public use.
Package core and all packages underneath it are not for public use.
github.com/mongodb/mongo-go-driver/core/auth
Package auth is not for public use.
Package auth is not for public use.
github.com/mongodb/mongo-go-driver/core/command
Package command contains abstractions for operations that can be performed against a MongoDB deployment.
Package command contains abstractions for operations that can be performed against a MongoDB deployment.
github.com/mongodb/mongo-go-driver/core/connection
Package connection contains the types for building and pooling connections that can speak the MongoDB Wire Protocol.
Package connection contains the types for building and pooling connections that can speak the MongoDB Wire Protocol.
github.com/mongodb/mongo-go-driver/core/integration/internal/israce
Package israce reports if the Go race detector is enabled.
Package israce reports if the Go race detector is enabled.
github.com/mongodb/mongo-go-driver/core/result
Package result contains the results from various operations.
Package result contains the results from various operations.
github.com/mongodb/mongo-go-driver/core/topology
Package topology contains types that handles the discovery, monitoring, and selection of servers.
Package topology contains types that handles the discovery, monitoring, and selection of servers.
github.com/mongodb/mongo-go-driver/core/wiremessage
Package wiremessage contains types for speaking the MongoDB Wire Protocol.
Package wiremessage contains types for speaking the MongoDB Wire Protocol.
github.com/mongodb/mongo-go-driver/mongo
Package mongo provides a MongoDB Driver API for Go.
Package mongo provides a MongoDB Driver API for Go.
github.com/mozillazg/go-pinyin
Package pinyin : 汉语拼音转换工具.
Package pinyin : 汉语拼音转换工具.
golang.org/x/sys/cpu
Package cpu implements processor feature detection for various CPU architectures.
Package cpu implements processor feature detection for various CPU architectures.
golang.org/x/sys/unix
Package unix contains an interface to the low-level operating system primitives.
Package unix contains an interface to the low-level operating system primitives.
golang.org/x/sys/windows/svc
Package svc provides everything required to build Windows service.
Package svc provides everything required to build Windows service.
golang.org/x/sys/windows/svc/debug
Package debug provides facilities to execute svc.Handler on console.
Package debug provides facilities to execute svc.Handler on console.
golang.org/x/sys/windows/svc/eventlog
Package eventlog implements access to Windows event log.
Package eventlog implements access to Windows event log.
golang.org/x/sys/windows/svc/example
Example service program that beeps.
Example service program that beeps.
golang.org/x/sys/windows/svc/mgr
Package mgr can be used to manage Windows service programs.
Package mgr can be used to manage Windows service programs.
golang.org/x/tools/benchmark/parse
Package parse provides support for parsing benchmark results as generated by 'go test -bench'.
Package parse provides support for parsing benchmark results as generated by 'go test -bench'.
golang.org/x/tools/blog
Package blog implements a web server for articles written in present format.
Package blog implements a web server for articles written in present format.
golang.org/x/tools/blog/atom
Package atom defines XML data structures for an Atom feed.
Package atom defines XML data structures for an Atom feed.
golang.org/x/tools/cmd/benchcmp
The benchcmp command displays performance changes between benchmarks.
The benchcmp command displays performance changes between benchmarks.
golang.org/x/tools/cmd/bundle
Bundle creates a single-source-file version of a source package suitable for inclusion in a particular target package.
Bundle creates a single-source-file version of a source package suitable for inclusion in a particular target package.
golang.org/x/tools/cmd/callgraph
callgraph: a tool for reporting the call graph of a Go program.
callgraph: a tool for reporting the call graph of a Go program.
golang.org/x/tools/cmd/compilebench
Compilebench benchmarks the speed of the Go compiler.
Compilebench benchmarks the speed of the Go compiler.
golang.org/x/tools/cmd/cover
Cover is a program for analyzing the coverage profiles generated by 'go test -coverprofile=cover.out'.
Cover is a program for analyzing the coverage profiles generated by 'go test -coverprofile=cover.out'.
golang.org/x/tools/cmd/digraph
The digraph command performs queries over unlabelled directed graphs represented in text form.
The digraph command performs queries over unlabelled directed graphs represented in text form.
golang.org/x/tools/cmd/eg
The eg command performs example-based refactoring.
The eg command performs example-based refactoring.
golang.org/x/tools/cmd/fiximports
The fiximports command fixes import declarations to use the canonical import path for packages that have an "import comment" as defined by https://golang.org/s/go14customimport.
The fiximports command fixes import declarations to use the canonical import path for packages that have an "import comment" as defined by https://golang.org/s/go14customimport.
golang.org/x/tools/cmd/getgo
The getgo command installs Go to the user's system.
The getgo command installs Go to the user's system.
golang.org/x/tools/cmd/getgo/server
Command server serves get.golang.org, redirecting users to the appropriate getgo installer based on the request path.
Command server serves get.golang.org, redirecting users to the appropriate getgo installer based on the request path.
golang.org/x/tools/cmd/go-contrib-init
The go-contrib-init command helps new Go contributors get their development environment set up for the Go contribution process.
The go-contrib-init command helps new Go contributors get their development environment set up for the Go contribution process.
golang.org/x/tools/cmd/godex
The godex command prints (dumps) exported information of packages or selected package objects.
The godex command prints (dumps) exported information of packages or selected package objects.
golang.org/x/tools/cmd/godoc
Godoc extracts and generates documentation for Go programs.
Godoc extracts and generates documentation for Go programs.
golang.org/x/tools/cmd/goimports
Command goimports updates your Go import lines, adding missing ones and removing unreferenced ones.
Command goimports updates your Go import lines, adding missing ones and removing unreferenced ones.
golang.org/x/tools/cmd/gomvpkg
The gomvpkg command moves go packages, updating import declarations.
The gomvpkg command moves go packages, updating import declarations.
golang.org/x/tools/cmd/gorename
The gorename command performs precise type-safe renaming of identifiers in Go source code.
The gorename command performs precise type-safe renaming of identifiers in Go source code.
golang.org/x/tools/cmd/gotype
The gotype command, like the front-end of a Go compiler, parses and type-checks a single Go package.
The gotype command, like the front-end of a Go compiler, parses and type-checks a single Go package.
golang.org/x/tools/cmd/goyacc
Goyacc is a version of yacc for Go.
Goyacc is a version of yacc for Go.
golang.org/x/tools/cmd/guru
guru: a tool for answering questions about Go source code.
guru: a tool for answering questions about Go source code.
golang.org/x/tools/cmd/guru/serial
Package serial defines the guru's schema for -json output.
Package serial defines the guru's schema for -json output.
golang.org/x/tools/cmd/heapview
heapview is a tool for viewing Go heap dumps.
heapview is a tool for viewing Go heap dumps.
golang.org/x/tools/cmd/heapview/internal/core
Package core provides functions for reading core dumps and examining their contained heaps.
Package core provides functions for reading core dumps and examining their contained heaps.
golang.org/x/tools/cmd/html2article
This program takes an HTML file and outputs a corresponding article file in present format.
This program takes an HTML file and outputs a corresponding article file in present format.
golang.org/x/tools/cmd/present
Present displays slide presentations and articles.
Present displays slide presentations and articles.
golang.org/x/tools/cmd/ssadump
ssadump: a tool for displaying and interpreting the SSA form of Go programs.
ssadump: a tool for displaying and interpreting the SSA form of Go programs.
golang.org/x/tools/cmd/stress
The stress utility is intended for catching sporadic failures.
The stress utility is intended for catching sporadic failures.
golang.org/x/tools/cmd/stringer
Stringer is a tool to automate the creation of methods that satisfy the fmt.Stringer interface.
Stringer is a tool to automate the creation of methods that satisfy the fmt.Stringer interface.
golang.org/x/tools/cmd/tip
Command tip is the tip.golang.org server, serving the latest HEAD straight from the Git oven.
Command tip is the tip.golang.org server, serving the latest HEAD straight from the Git oven.
golang.org/x/tools/cmd/toolstash
Toolstash provides a way to save, run, and restore a known good copy of the Go toolchain and to compare the object files generated by two toolchains.
Toolstash provides a way to save, run, and restore a known good copy of the Go toolchain and to compare the object files generated by two toolchains.
golang.org/x/tools/container/intsets
Package intsets provides Sparse, a compact and fast representation for sparse sets of int values.
Package intsets provides Sparse, a compact and fast representation for sparse sets of int values.
golang.org/x/tools/cover
Package cover provides support for parsing coverage profiles generated by "go test -coverprofile=cover.out".
Package cover provides support for parsing coverage profiles generated by "go test -coverprofile=cover.out".
golang.org/x/tools/go/ast/astutil
Package astutil contains common utilities for working with the Go AST.
Package astutil contains common utilities for working with the Go AST.
golang.org/x/tools/go/buildutil
Package buildutil provides utilities related to the go/build package in the standard library.
Package buildutil provides utilities related to the go/build package in the standard library.
golang.org/x/tools/go/callgraph
Package callgraph defines the call graph and various algorithms and utilities to operate on it.
Package callgraph defines the call graph and various algorithms and utilities to operate on it.
golang.org/x/tools/go/callgraph/cha
Package cha computes the call graph of a Go program using the Class Hierarchy Analysis (CHA) algorithm.
Package cha computes the call graph of a Go program using the Class Hierarchy Analysis (CHA) algorithm.
golang.org/x/tools/go/callgraph/rta
This package provides Rapid Type Analysis (RTA) for Go, a fast algorithm for call graph construction and discovery of reachable code (and hence dead code) and runtime types.
This package provides Rapid Type Analysis (RTA) for Go, a fast algorithm for call graph construction and discovery of reachable code (and hence dead code) and runtime types.
golang.org/x/tools/go/callgraph/static
Package static computes the call graph of a Go program containing only static call edges.
Package static computes the call graph of a Go program containing only static call edges.
golang.org/x/tools/go/gccgoexportdata
Package gccgoexportdata provides functions for reading export data files containing type information produced by the gccgo compiler.
Package gccgoexportdata provides functions for reading export data files containing type information produced by the gccgo compiler.
golang.org/x/tools/go/gcexportdata
Package gcexportdata provides functions for locating, reading, and writing export data files containing type information produced by the gc compiler.
Package gcexportdata provides functions for locating, reading, and writing export data files containing type information produced by the gc compiler.
golang.org/x/tools/go/internal/gccgoimporter
Package gccgoimporter implements Import for gccgo-generated object files.
Package gccgoimporter implements Import for gccgo-generated object files.
golang.org/x/tools/go/internal/gcimporter
Package gcimporter provides various functions for reading gc-generated object files that can be used to implement the Importer interface defined by the Go 1.5 standard library package.
Package gcimporter provides various functions for reading gc-generated object files that can be used to implement the Importer interface defined by the Go 1.5 standard library package.
golang.org/x/tools/go/loader
Package loader loads a complete Go program from source code, parsing and type-checking the initial packages plus their transitive closure of dependencies.
Package loader loads a complete Go program from source code, parsing and type-checking the initial packages plus their transitive closure of dependencies.
golang.org/x/tools/go/packages
Package packages loads Go packages for inspection and analysis.
Package packages loads Go packages for inspection and analysis.
golang.org/x/tools/go/packages/gopackages
The gopackages command is a diagnostic tool that demonstrates how to use golang.org/x/tools/go/packages to load, parse, type-check, and print one or more Go packages.
The gopackages command is a diagnostic tool that demonstrates how to use golang.org/x/tools/go/packages to load, parse, type-check, and print one or more Go packages.
golang.org/x/tools/go/pointer
Package pointer implements Andersen's analysis, an inclusion-based pointer analysis algorithm first described in (Andersen, 1994).
Package pointer implements Andersen's analysis, an inclusion-based pointer analysis algorithm first described in (Andersen, 1994).
golang.org/x/tools/go/ssa
Package ssa defines a representation of the elements of Go programs (packages, types, functions, variables and constants) using a static single-assignment (SSA) form intermediate representation (IR) for the bodies of functions.
Package ssa defines a representation of the elements of Go programs (packages, types, functions, variables and constants) using a static single-assignment (SSA) form intermediate representation (IR) for the bodies of functions.
golang.org/x/tools/go/ssa/interp
Package ssa/interp defines an interpreter for the SSA representation of Go programs.
Package ssa/interp defines an interpreter for the SSA representation of Go programs.
golang.org/x/tools/go/types/typeutil
Package typeutil defines various utilities for types, such as Map, a mapping from types.Type to interface{} values.
Package typeutil defines various utilities for types, such as Map, a mapping from types.Type to interface{} values.
golang.org/x/tools/go/vcs
Package vcs exposes functions for resolving import paths and using version control systems, which can be used to implement behavior similar to the standard "go get" command.
Package vcs exposes functions for resolving import paths and using version control systems, which can be used to implement behavior similar to the standard "go get" command.
golang.org/x/tools/godoc
Package godoc is a work-in-progress (2013-07-17) package to begin splitting up the godoc binary into multiple pieces.
Package godoc is a work-in-progress (2013-07-17) package to begin splitting up the godoc binary into multiple pieces.
golang.org/x/tools/godoc/analysis
Package analysis performs type and pointer analysis and generates mark-up for the Go source view.
Package analysis performs type and pointer analysis and generates mark-up for the Go source view.
golang.org/x/tools/godoc/redirect
Package redirect provides hooks to register HTTP handlers that redirect old godoc paths to their new equivalents and assist in accessing the issue tracker, wiki, code review system, etc.
Package redirect provides hooks to register HTTP handlers that redirect old godoc paths to their new equivalents and assist in accessing the issue tracker, wiki, code review system, etc.
golang.org/x/tools/godoc/static
Package static exports a map of static file content that supports the godoc user interface.
Package static exports a map of static file content that supports the godoc user interface.
golang.org/x/tools/godoc/util
Package util contains utility types and functions for godoc.
Package util contains utility types and functions for godoc.
golang.org/x/tools/godoc/vfs
Package vfs defines types for abstract file system access and provides an implementation accessing the file system of the underlying OS.
Package vfs defines types for abstract file system access and provides an implementation accessing the file system of the underlying OS.
golang.org/x/tools/godoc/vfs/gatefs
Package gatefs provides an implementation of the FileSystem interface that wraps another FileSystem and limits its concurrency.
Package gatefs provides an implementation of the FileSystem interface that wraps another FileSystem and limits its concurrency.
golang.org/x/tools/godoc/vfs/httpfs
Package httpfs implements http.FileSystem using a godoc vfs.FileSystem.
Package httpfs implements http.FileSystem using a godoc vfs.FileSystem.
golang.org/x/tools/godoc/vfs/mapfs
Package mapfs file provides an implementation of the FileSystem interface based on the contents of a map[string]string.
Package mapfs file provides an implementation of the FileSystem interface based on the contents of a map[string]string.
golang.org/x/tools/godoc/vfs/zipfs
Package zipfs file provides an implementation of the FileSystem interface based on the contents of a .zip file.
Package zipfs file provides an implementation of the FileSystem interface based on the contents of a .zip file.
golang.org/x/tools/imports
Package imports implements a Go pretty-printer (like package "go/format") that also adds or removes import statements as necessary.
Package imports implements a Go pretty-printer (like package "go/format") that also adds or removes import statements as necessary.
golang.org/x/tools/internal/fastwalk
Package fastwalk provides a faster version of filepath.Walk for file system scanning tools.
Package fastwalk provides a faster version of filepath.Walk for file system scanning tools.
golang.org/x/tools/playground
Package playground registers HTTP handlers at "/compile" and "/share" that proxy requests to the golang.org playground service.
Package playground registers HTTP handlers at "/compile" and "/share" that proxy requests to the golang.org playground service.
golang.org/x/tools/playground/socket
Package socket implements an WebSocket-based playground backend.
Package socket implements an WebSocket-based playground backend.
golang.org/x/tools/present
The present file format Present files have the following format.
The present file format Present files have the following format.
golang.org/x/tools/refactor/eg
Package eg implements the example-based refactoring tool whose command-line is defined in golang.org/x/tools/cmd/eg.
Package eg implements the example-based refactoring tool whose command-line is defined in golang.org/x/tools/cmd/eg.
golang.org/x/tools/refactor/importgraph
Package importgraph computes the forward and reverse import dependency graphs for all packages in a Go workspace.
Package importgraph computes the forward and reverse import dependency graphs for all packages in a Go workspace.
golang.org/x/tools/refactor/rename
Package rename contains the implementation of the 'gorename' command whose main function is in golang.org/x/tools/cmd/gorename.
Package rename contains the implementation of the 'gorename' command whose main function is in golang.org/x/tools/cmd/gorename.
golang.org/x/tools/refactor/satisfy
Package satisfy inspects the type-checked ASTs of Go packages and reports the set of discovered type constraints of the form (lhs, rhs Type) where lhs is a non-trivial interface, rhs satisfies this interface, and this fact is necessary for the package to be well-typed.
Package satisfy inspects the type-checked ASTs of Go packages and reports the set of discovered type constraints of the form (lhs, rhs Type) where lhs is a non-trivial interface, rhs satisfies this interface, and this fact is necessary for the package to be well-typed.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL