0%

jenkins版本

pipeline涉及的版本

  • jdk版本: 1.8.0_161
  • apache-maven: 3.9.0
  • jenkins ssh agent plugin
  • jenkins git plugin

pipeline如下

阅读全文 »

机器规划

角色 ip地址 操作系统版本 机器配置 linux登录账号规划
jenkins master 192.168.172.9 CentOS Linux release 7.6.1810 (Core) 4核8G 500G磁盘 root账号,并创建业务服务器操作账号,假设为bbs、publicfund
jenkins node1 192.168.172.3 CentOS Linux release 7.6.1810 (Core) 4核8G 500G磁盘 root账号,并创建业务服务器操作账号,假设为bbs、publicfund
jenkins node2 192168.172.4 CentOS Linux release 7.6.1810 (Core) 4核8G 500G磁盘 root账号,并创建业务服务器操作账号,假设为bbs、publicfund
jenkins node3 192.168.172.5 CentOS Linux release 7.6.1810 (Core) 4核8G 500G磁盘 root账号,并创建业务服务器操作账号,假设为bbs、publicfund
prometheus服务器 192.168.172.7 CentOS Linux release 7.6.1810 (Core) 4核8G 500G磁盘 root账号,能操作systemctl命令
业务服务器1 192.168.172.10 CentOS Linux release 7.6.1810 (Core) 4核8G 500G磁盘 bbs账号,能提供密码,并能支持ssh key访问模式
业务服务器2 192.168.172.11 CentOS Linux release 7.6.1810 (Core) 4核8G 500G磁盘 bbs账号,能提供密码,并能支持ssh key访问模式
业务服务器3 192.168.172.12 CentOS Linux release 7.6.1810 (Core) 4核8G 500G磁盘 publicfund账号,能提供密码,并能支持ssh key访问模式
业务服务器4 192.168.172.13 CentOS Linux release 7.6.1810 (Core) 4核8G 500G磁盘 publicfund账号,能提供密码,并能支持ssh key访问模式
业务服务器5 192.168.172.14 CentOS Linux release 7.6.1810 (Core) 4核8G 500G磁盘 publicfund账号,能提供密码,并能支持ssh key访问模式

系统与软件版本

prometheus版本: 2.45.0(长期支持版本)
jdk版本: oracle jdk17.0.9 (长期支持版本)
jenkins版本: 2.426.3版本 (长期支持版本)
maven版本: 3.9.0
thrift版本: 0.9.3
tomcat版本: Apache Tomcat/9.0.73
webhook-qywx.tar.gz: 根据alertmanger的json报文,自研的一个java服务

截图如下:

阅读全文 »

做分布式数据应用、分布式业务应用、效能工具的技术选型,有几个适用的原则:

在没有技术架构团队的情况,对中间件开发友好

  • 选用的框架有可维护性、
  • 编程语言使用的心智负担低

对业务开发友好

  • 接口可扩展性好
  • 接口可被量化

对测试友好

  • 开发出来的应用程序,好测试

对运维友好

  • 高可用(不会被频繁宕机)
  • 一切可被监控

对用户友好

  • 高性能
  • 低延迟

但是,现实中这种架构师,很难找。

agent udp使用

初始化udp

在agent开启时初始化了3个UDP服务

每个服务对应处理不同的数据格式

官方推荐使用6831端口接收数据

github.com/uber/jaeger/cmd/agent/app/flags.go #35

var defaultProcessors = []struct {
model model
protocol protocol
hostPort string
}{
{model: "zipkin", protocol: "compact", hostPort: ":5775"},
{model: "jaeger", protocol: "compact", hostPort: ":6831"},
{model: "jaeger", protocol: "binary", hostPort: ":6832"},
}
阅读全文 »

TChannel 接收 agent 提交过来的数据

github.com/jaegertracing/jaeger/cmd/collector/app/span_handler.go #69

func (jbh *jaegerBatchesHandler) SubmitBatches(ctx thrift.Context, batches []*jaeger.Batch) ([]*jaeger.BatchSubmitResponse, error) {
responses := make([]*jaeger.BatchSubmitResponse, 0, len(batches))
for _, batch := range batches {
mSpans := make([]*model.Span, 0, len(batch.Spans))
for _, span := range batch.Spans {
mSpan := jConv.ToDomainSpan(span, batch.Process)
mSpans = append(mSpans, mSpan)
}
oks, err := jbh.modelProcessor.ProcessSpans(mSpans, JaegerFormatType)
if err != nil {
return nil, err
}
batchOk := true
for _, ok := range oks {
if !ok {
batchOk = false
break
}
}
res := &jaeger.BatchSubmitResponse{
Ok: batchOk,
}
responses = append(responses, res)
}
return responses, nil
}
阅读全文 »