小编eve*_*zon的帖子

使用路径前缀规则时如何使用traefik重写路径?

我的wordpress traefik配置包含以下docker-labels:

- "traefik.backend=wordpress"
- "traefik.docker.network=web"
- "traefik.frontend.rule=Host:MyHostName.net;PathPrefix:/blog"
- "traefik.enable=true"
- "traefik.port=80"
Run Code Online (Sandbox Code Playgroud)

现在,请求URL“ https:// MyHostName / blog ”似乎已到达该服务,该服务似乎返回了对“ https:// MyHostName / wp-admin ...” 的重定向。

任何想法如何解决这个问题?提前THX!

信息:我不能使用子域...

更新0

首先,应该添加过滤器“ PathPrefixStrip:/ blog”,以在将请求转发到服务时删除“ / blog”前缀。正确?

但是,如何修改(例如)将前缀“ / blog”添加到重定向URL的重定向请求?

更新1

https://github.com/containous/traefik/issues/985,我的问题已被“讨论”,解决方案似乎已合并(https://github.com/containous/traefik/pull/1442)。

简而言之:剥离的前缀将添加为相应的标头(X-Forwarded-Prefix)。

我将检查并在此处写下结果。

其他资源:

更新2

现在,我创建了一个如下所示的请求:

https://MYHOSTNAME/blog

Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Encoding: gzip, deflate, br
Accept-Language: de,en-US;q=0.7,en;q=0.3
Connection: keep-alive
Cookie: ocuvhr6ala6i=d2cd9020839889a752b4375a63dedad0; oc_sessionPassphrase=qJu13Q%2FlAoSsv5b0qC18Re%2BcrcML6o32c2XuDJEGViIMI4uERIf%2Bs77DvFbMSkEBkZs%2Bn%2FfnUjdB9APvk4zq2qlj6AiDXX2CGYf31MPVci8HkgcsXFcpL7cRLBbRGRWS; __Host-nc_sameSiteCookielax=true; __Host-nc_sameSiteCookiestrict=true
Host: MYHOSTNAME
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (X11; Fedora; Linux x86_64; rv:59.0) Gecko/20100101 Firefox/59.0
Run Code Online (Sandbox Code Playgroud)

“ PathPrefixStrip”似乎在CLIENT >> …

redirect path url-rewriting traefik

6
推荐指数
1
解决办法
9119
查看次数

如何在 kustomize 中使用生成的 env configMap 条目作为 var?

我有一个生成的配置图

configMapGenerator:
  - name: template-vars
    envs:
      - templateVars.env
Run Code Online (Sandbox Code Playgroud)

并想使用其中包含的值之一

ROUTE_HOST=somewhere.else.org
Run Code Online (Sandbox Code Playgroud)

作为变量

vars:
  - name: ROUTE_HOST
    objref:
      kind: ConfigMap
      name: template-vars
      apiVersion: v1
    fieldref:
      fieldpath: data.ROUTE_HOST
Run Code Online (Sandbox Code Playgroud)

在我的 OCP 路线中

apiVersion: route.openshift.io/v1
kind: Route
spec:
  host: $(ROUTE_HOST)
Run Code Online (Sandbox Code Playgroud)

这可能吗?

我知道我可以用环境变量做一些几乎相同的事情:

env:
  - name: ROUTE_HOST
    valueFrom:
      configMapKeyRef:
        name: template-vars
        key: ROUTE_HOST
Run Code Online (Sandbox Code Playgroud)

openshift kubernetes kustomize

5
推荐指数
1
解决办法
4105
查看次数

如何通过使用模式/正则表达式/...,使用 kustomize configMapGenerator 将多个配置文件添加到 configMap?

目前我这样做:

configMapGenerator:
  - name: sql-config-map
    files:
      - "someDirectory/one.sql"
      - "someDirectory/two.sql"
      - "someDirectory/three.sql"
Run Code Online (Sandbox Code Playgroud)

我想做某事。像这样:

configMapGenerator:
  - name: sql-config-map
    files:
      - "someDirectory/*.sql"
Run Code Online (Sandbox Code Playgroud)

这有可能吗?

openshift kubernetes configmap kustomize

5
推荐指数
1
解决办法
7549
查看次数

使用Prometheus测量服务延迟

我是普罗米修斯和格拉那那的新手。

我的主要目标是获得每个请求的响应时间。

对我来说,这似乎是一件简单的事情-但是,无论我做什么,我都无法获得所需的结果。

我需要能够分析最近几分钟/几小时/几天的服务延迟。我发现的当前实现是一个简单的摘要(没有分位数的定义),每15秒就会刮一次。

  1. 是否可以从我的普罗米修斯摘要中获得最后一分钟的平均请求延迟?
  2. 如果是:如何?如果不是:我该怎么办?

目前,我正在使用以下查询:

rate(http_response_time_sum{application="myapp",handler="myHandler", status="200"}[1m])
/
rate(http_response_time_count{application="myapp",handler="myHandler", status="200"}[1m])
Run Code Online (Sandbox Code Playgroud)

我得到两个“数据集”。第一个的值为“ NaN”。我想这是零除的结果。

提前THX!

(使用spring-client)

monitoring latency summary grafana prometheus

4
推荐指数
1
解决办法
6355
查看次数

ORMLite +交易

我在理解DaoManager的默认行为时遇到问题.

DaoManager.createDao(connectionSource, theClass);
Run Code Online (Sandbox Code Playgroud)

这需要一个connectionSource - 而不是一个连接.所以,如果我做以下事情:

TransactionManager.callInTransaction(
    localConnection,
    connectionSource.getDatabaseType(),
    new Callable<Void>() {
        public Void call() throws Exception {
            dao.create(user);
            dao.create(player);
                return null;
            }
    });
Run Code Online (Sandbox Code Playgroud)

该事务应限于单个连接(localConnection).DAO如何处理?或者它根本不处理它?

谢谢!

transactions ormlite

3
推荐指数
1
解决办法
2917
查看次数

如何手动旋转log4j日志

我已将log4j配置为每天轮换日志。

在特殊情况下,我想手动触发其他日志轮换。

这可能吗?如果可以,怎么办?

像这样解决:

void rolloverLogs() {
    for(final Enumeration<?> loggers = LogManager.getCurrentLoggers(); loggers.hasMoreElements(); )  {

        final Logger logger = (Logger) loggers.nextElement();

        for (final Enumeration<?> appenders = logger.getAllAppenders(); appenders.hasMoreElements(); )  {

            final Appender a = (Appender) appenders.nextElement();

            if(!RollingFileAppender.class.isInstance(a))
                continue;

            ((RollingFileAppender)a).rollOver();
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

java log4j rotation

3
推荐指数
1
解决办法
2340
查看次数

通过 HTTP API 导出和导入 Grafana Dashboard

我正在尝试通过其 HTTP API 导出 grafana 实例的仪表板,并使用 HTTP API 重新导入它们。

重新导入给了我以下错误(412):

{
  "message": "The dashboard belongs to plugin Prometheus.",
  "status": "plugin-dashboard"
}
{
  "message": "The dashboard has been changed by someone else",
  "status": "version-mismatch"
}
Run Code Online (Sandbox Code Playgroud)

我所做的

出口

curl --fail --insecure --user $USER:$PASSWORD --request "GET" "$TARGET/api/search" --header "Accept: application/json" | jq -r '.[].uri | select(. | startswith("db/"))' > /tmp/grafanaDashboards.txt

while read F  ; do
   FILENAME=$(basename "$F").json
   OUT=$(curl --silent --fail --insecure --user $USER:$PASSWORD --request "GET" "$TARGET/api/dashboards/$F" --header "Accept: application/json" --output "$FILENAME" --write-out '%{http_code}') …
Run Code Online (Sandbox Code Playgroud)

api import export grafana prometheus

3
推荐指数
1
解决办法
6802
查看次数

如何忽略普罗米修斯的空数据系列

对所有数据系列计算最大分位数对我来说是一个问题:

询问

http_response_time{job=~"^(x|y)$", quantile="0.95",...}
Run Code Online (Sandbox Code Playgroud)

结果

http_response_time{job="x",...} 0.26
http_response_time{job="y",...} NaN
Run Code Online (Sandbox Code Playgroud)

这就是我尝试计算最大值的方式:

avg(http_response_time{job=~"^(x|y)$",...})
Run Code Online (Sandbox Code Playgroud)

现在的结果将是“ NaN”。如何忽略“ NaN”结果(来自结果部分)?

提前THX!

更新0

该指标是一个自制的摘要指标。

更新1

使用Prometheus 1.8版。

prometheus

2
推荐指数
1
解决办法
3227
查看次数

使用bash将文件内容转换为单个json字符串值

我想读取一个文件,并将整个内容放到一个转义用于json对象的单个字符串中。

我想在命令行/终端(Linux)上执行此操作。

有任何想法吗?提前THX!

bash json escaping

2
推荐指数
2
解决办法
615
查看次数

ObjectId未序列化为JSON

我正在使用scalatra,并将servlet配置为始终返回JSON(如相应指南中所述)。使用MongoDB和Salat使我回到将MongoDBObject读回到我的case类中的地步-这似乎很棒。

我的案例课:

import org.bson.types.ObjectId
import com.novus.salat.annotations.raw.Key

case class Player(_id: ObjectId, firstName: String, ...)
Run Code Online (Sandbox Code Playgroud)

打印case类对象将输出以下内容:

Player(547489ee93f4272e548ded63,Peter,...)
Run Code Online (Sandbox Code Playgroud)

如您所见,objectid是org.bson.types.ObjectId。自动序列化为JSON会将其发送到浏览器:

{"_id":{},"firstName":"Peter",...}
Run Code Online (Sandbox Code Playgroud)

我的ObjectID在哪里?我究竟做错了什么?

json mongodb scalatra objectid json4s

1
推荐指数
1
解决办法
528
查看次数

如何在图数据库中建立关系模型?

这似乎是一个有线的问题 - 也许是.

例:

我有用户,国家和角色.用户在一个或多个国家/地区担任一个或多个角色.

Sebastian -> Germany -> TaskVerifier
                     -> QuestionApprover
          -> Austria -> TaskVerifier
                     -> Worker
                     -> Whatever
Run Code Online (Sandbox Code Playgroud)

各种角色有不同的权限......

我该如何建模呢?(例如在neo4j中)

使用country属性设置用户和角色之间的关系似乎不是解决方案,因为我还需要其他关系中的国家/地区节点.

THX提前!

neo4j

1
推荐指数
1
解决办法
30
查看次数

Spring Boot 2 数据源的配置不起作用

我有一个 application.yml(!) 用于包含以下内容的配置:

spring:
  datasource:
    url: "jdbc:h2:file:./camunda-h2-database"
    driverClassName: "org.h2.Driver"
    username: "sa"
    password: ""
Run Code Online (Sandbox Code Playgroud)

这给了我错误消息:

2021-03-11T17:02:48,600 WARN  [main] o.s.c.s.AbstractApplicationContext: Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'org.camunda.bpm.spring.boot.starter.CamundaBpmAutoConfiguration$ProcessEngineConfigurationImplDependingConfiguration': Unsatisfied dependency expressed through field 'processEngineConfigurationImpl'; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'processEngineConfigurationImpl' defined in class path resource [org/camunda/bpm/spring/boot/starter/CamundaBpmConfiguration.class]: Unsatisfied dependency expressed through method 'processEngineConfigurationImpl' parameter 0; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'camundaDatasourceConfiguration': Unsatisfied dependency expressed through field 'dataSource'; …
Run Code Online (Sandbox Code Playgroud)

java yaml datasource camunda spring-boot

1
推荐指数
1
解决办法
136
查看次数