我正在以json格式登录logstash,我的日志有以下字段,每个字段都是一个字符串,atts字段是字符串化的json(注意:atts每次子字段都不同)
这是一个例子:
{"name":"bob","last":"builder", "atts":"{\"a\":111, \"b\":222}"}
我想解析它是这样的:
{
"name" => "bob",
"last" => "builder"
"atss" => {
"a" => 111,
"b" => 222}
}
Run Code Online (Sandbox Code Playgroud)
这是我的配置:
input { stdin { } }
filter {
json {
source => "message"
target => "parsed"
}
}
output { stdout { codec => rubydebug }}
Run Code Online (Sandbox Code Playgroud)
好的,现在我明白了:
{
"@timestamp" => 2017-04-05T12:19:04.090Z,
"parsed" => {
"atss" => "{\"a\":111, \"b\":222}",
"name" => "bob",
"last" => "the builder"
},
"@version" => "1",
"host" => "0.0.0.0" …Run Code Online (Sandbox Code Playgroud) 我正在尝试做一个http请求
def getPage() do
url = "http://myurl"
body = '{
"call": "MyCall",
"app_key": "3347249693",
"param": [
{
"page" : 1,
"registres" : 100,
"filter" : "N"
}
]
}'
headers = [{"Content-type", "application/json"}]
HTTPoison.post(url, body, headers, [])
end
Run Code Online (Sandbox Code Playgroud)
这对我很有用.
我的问题是 - 如何在body请求中插入变量.含义:
def getPage(key, page, registers, filter) do
url = "http://myurl"
body = '{
"call": "MyCall",
"app_key": key,
"param": [
{
"page" : page,
"registres" : registers,
"filter" : filter
}
]
}'
headers = [{"Content-type", "application/json"}]
HTTPoison.post(url, body, headers, …Run Code Online (Sandbox Code Playgroud) 我有这个json:
var myJSON = '{"kind": "person", "fullName": "Rivka3"}';
Run Code Online (Sandbox Code Playgroud)
我正在尝试使用createReadStream将它上传到bigquery.当我保存它localy我成功:
fs.writeFile("/tmp/bq_json_file_new.json", myJSON, function(err){});
fs.createReadStream("/tmp/bq_json_file_new.json")
.pipe(table.createWriteStream(metadata))
.on('complete', function(job) {
job
.on('error', console.log)
.on('complete', function(metadata) {
console.log('job completed', metadata);
});
});
Run Code Online (Sandbox Code Playgroud)
现在我试图这样做而不保存它localy - 使用缓冲区:
fs.createReadStream(new Buffer(myJSON, "utf8"))
.pipe(table.createWriteStream(metadata))
.on('complete', function(job) {
job
.on('error', console.log)
.on('complete', function(metadata) {
console.log('job completed', metadata);
});
});
Run Code Online (Sandbox Code Playgroud)
但我收到这个错误:
fs.js:575
binding.open(pathModule._makeLong(path),
TypeError: path must be a string
Run Code Online (Sandbox Code Playgroud) 嗨,我正在运行kubernetes集群,我运行mailhog容器.
但我需要使用自己的docker run参数运行它.如果我直接在docker中运行它.我会用命令:
docker run mailhog/mailhog -auth-file=./auth.file
Run Code Online (Sandbox Code Playgroud)
但我需要通过Kubernetes pod运行它.我的pod看起来像:
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: mailhog
spec:
replicas: 1
revisionHistoryLimit: 1
strategy:
type: RollingUpdate
template:
metadata:
labels:
app: mailhog
spec:
containers:
- name: mailhog
image: us.gcr.io/com/mailhog:1.0.0
ports:
- containerPort: 8025
Run Code Online (Sandbox Code Playgroud)
如何通过kubernetes实现使用参数-auth-file =./ auth.file运行Docker容器.谢谢.
我尝试添加下 containers
command: ["-auth-file", "/data/mailhog/auth.file"]
Run Code Online (Sandbox Code Playgroud)
但后来我明白了
Failed to start container with docker id 7565654 with error: Error response from daemon: Container command '-auth-file' not found or does not exist.
Run Code Online (Sandbox Code Playgroud) 我是elm的新手,我有一个登录api,它在hedears中返回一个JWT令牌
curl http://localhost:4000/api/login?email=bob@example&password=1234
Run Code Online (Sandbox Code Playgroud)
响应:
HTTP/1.1 200 OK
authorization: Bearer eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXyLp0aSI6ImefP2GOWEFYWM47ig2W6nrhw
x-expires: 1499255103
content-type: text/plain; charset=utf-8
success
Run Code Online (Sandbox Code Playgroud)
现在我试图编写一个函数,它将发送请求并从elm中的标头返回令牌
authUser =
Http.send "http://localhost:4000/api/login?email=bob@example&password=1234"
Run Code Online (Sandbox Code Playgroud)
我该如何以简单的方式做到这一点?
我试图在我的查询中使用命名参数bigquery.
@val '123';
SELECT *
FROM [project_id:my_dataset.my_table]
where name=@val
Run Code Online (Sandbox Code Playgroud)
我明白了
Encountered " <MAX_TOKEN_VAL> "R "" at line 1, column 2. Was expecting: <EOF>
有没有办法在biquery上设置命名参数?
我kubernetes 1.9.4在我的gke集群上运行
我有两个 Podgate正在尝试连接coolapp,两者都用elixir
我正在使用libcluster连接我的节点我收到以下错误:
[libcluster:app_name] cannot query kubernetes (unauthorized): endpoints is forbidden: User "system:serviceaccount:staging:default" cannot list endpoints in the namespace "staging": Unknown user "system:serviceaccount:staging:default"
这是我在配置门下config/prod:
config :libcluster,
topologies: [
app_name: [
strategy: Cluster.Strategy.Kubernetes,
config: [
kubernetes_selector: "tier=backend",
kubernetes_node_basename: System.get_env("MY_POD_NAMESPACE") || "${MY_POD_NAMESPACE}"]]]
Run Code Online (Sandbox Code Playgroud)
这是我的配置:
虚拟机参数
## Name of the node
-name ${MY_POD_NAMESPACE}@${MY_POD_IP}
## Cookie for distributed erlang
-setcookie ${ERLANG_COOKIE}
# Enable SMP automatically based on availability …Run Code Online (Sandbox Code Playgroud) 我正在 appengine 上运行一个应用程序并创建任务。
\n\n Queue queue = QueueFactory.getDefaultQueue();\n queue.add(TaskOptions.Builder.withUrl("/worker").param("data", payload));\nRun Code Online (Sandbox Code Playgroud)\n\n当我的有效负载非常大 (717.3 kb) 时,我收到此错误:\n"Task size too large\xe2\x80\x9d
appengine 上的任务大小限制是多少?在文档中没有找到这个。
\n我想听子桶中 GCS 的变化
我试过这个
gsutil notification create -t my-topic -f json gs://my-bucket
Run Code Online (Sandbox Code Playgroud)
但它会通知我所有对象的变化
有没有办法只从子目录中获取,如下所示:
gsutil notification create -t my-topic -f json gs://my-bucket/sub-dir
Run Code Online (Sandbox Code Playgroud) 我有一个托管在 GKE 上的集群,我在此集群上有多个部署,
我可以连接kubectl exec到 Pod:
kubectl exec -it mypod-1234566-7890976 -- bash
我想删除连接到kubectl exec某个容器的选项
有没有办法通过阻止容器上的 ssh 来阻止连接到容器的选项DOCKERFILE?或任何其他方式