graylog 的源码属于一个单体系统,构建比较符合maven 构建系统,包含了web 以及server backend 模块,一些一些其他依赖模块
web 构建使用了frontend-maven 插件,同时为了生产deb 以及rpm 也使用了相关的maven 插件,对于整体的打包使用了maven-assembly

核心模块包

 

├── bin  // graylogctl 工具的
├── distribution  // 基于assembly打包的构建
├── graylog-plugin-archetype
├── graylog-plugin-parent
├── graylog-project-parent
├── graylog-storage-elasticsearch6  // es6 插件
├── graylog-storage-elasticsearch7 // es 7 插件
├── graylog2-server  // server 可以打包为shade,deb,rpm 以及其他格式的(基于assembly的tar.gz)
├── graylog2-web-interface  // web ui

构建

就是标准的maven 操作

  • 命令
mvn clean pacakge -DskipTests
  • 效果

graylog 源码结构&构建简单说明_github

 

 

软件包

graylog 源码结构&构建简单说明_maven_02

 

 

说明

以上是关于graylog 源码以及简单构建的说明,构建最好选择一个配置比较好点的机器,后续会详细介绍graylog 的源码以及设计

参考资料

​https://github.com/Graylog2/graylog2-server​​​
​​​https://github.com/eirslett/frontend-maven-plugin​