我一直在探索Graphite图形工具,用于显示来自多个服务器的指标,似乎"推荐"方式是首先将所有指标数据发送到StatsD.StatsD汇总数据并将其发送到石墨(或更确切地说,碳).
就我而言,我希望对服务器上的指标进行简单的聚合,例如求和和平均值,并用石墨绘制.石墨配有碳聚合器,可以做到这一点.
StatsD甚至没有提供我所说的那种聚合.
我的问题是 - 我应该根据我的用例使用statsd吗?我在这里缺少什么?
在Java中,我可以编写一个非常基本的JSP,index.jsp如下所示:
<% request.getRequestDispatcher("/home.action").forward(request, response); %>
这样做的结果是请求index.jsp(或只是包含目录假设index.jsp是目录的默认文档)的用户将看到home.action没有浏览器重定向,即[转发](http://java.sun.com/javaee/5 /docs/api/javax/servlet/RequestDispatcher.html#forward(javax.servlet.ServletRequest,%20javax.servlet.ServletResponse))发生在服务器端.
我可以用PHP做类似的事吗?我怀疑可以配置Apache来处理这种情况,但由于我可能无法访问相关的Apache配置,所以我会对依赖于PHP的解决方案感兴趣.
有没有办法将参数传递给web.py处理程序类构造函数?
例如,这些参数可能来自命令行(当运行主web.py脚本时),在第一个arg之后(作为端口号)
在Go中,假设我有这个结构:
type Job struct {
totalTime int
timeToCompletion int
}
Run Code Online (Sandbox Code Playgroud)
我初始化一个结构对象,如:
j := Job {totalTime : 10, timeToCompletion : 10}
Run Code Online (Sandbox Code Playgroud)
其中约束timeToCompletion总是等于totalTime创建结构时(它们可以稍后更改).有没有办法在Go中实现这一点,以便我不必初始化两个字段?
我正在使用FlinkRunner在本地运行以下Beam管道代码。PubsubIO用于读取主题中的消息。
我有一个单独的线程,该线程以固定的时间间隔(每30秒)将消息发布到主题,并且还设置了“ ts”属性,该属性稍后将用于导出事件时间。
自定义转换以转换为KV对-
private static class PubSubMessageGrouper extends DoFn<PubsubMessage, KV<String, PubsubMessage>> {
@ProcessElement
public void processElement(ProcessContext c) {
PubsubMessage element = c.element();
KV<String, PubsubMessage> kv = KV.of(element.getAttribute("key"), element);
c.output(kv);
}
}
Run Code Online (Sandbox Code Playgroud)
请注意,“密钥”是发布者线程中较早的消息属性中设置的密钥。目的是通过此键将消息下游分组。
管道代码-
PCollection<PubsubMessage> pubsubColl = p
.apply(PubsubIO.readMessagesWithAttributes()
.withTimestampAttribute("ts")
.fromTopic("projects/" + projectName + "/topics/beamtest")
);
PCollection<KV<String, PubsubMessage>> idfied =
pubsubColl.apply(ParDo.of(new PubSubMessageGrouper()));
PCollection<KV<String, PubsubMessage>> windowed = idfied
.apply(Window.<KV<String, PubsubMessage>>into(FixedWindows.of(Duration.standardSeconds(15)))
.triggering(
Repeatedly.forever(
AfterWatermark.pastEndOfWindow()
)
)
.withAllowedLateness(Duration.standardSeconds(15))
.discardingFiredPanes());
PCollection<KV<String, Iterable<PubsubMessage>>> grouped = windowed.apply(GroupByKey.create());
grouped.apply(ParDo.of(new KVPrinter()));
Run Code Online (Sandbox Code Playgroud)
转换没有链接以便于阅读。最后,KVPrinter转换只是打印出从group by接收到的消息,一旦我运行此消息,它将随后由实际代码替换。
当我运行此命令时,我没有在相当长的时间内(几分钟或更长时间)执行触发器。当它最终触发时,我看到某些消息没有收到(在最后一步中)。这是由于PubsubIO使用的内部水印吗?我的目的是确保所有消息都在groupby中进行处理,包括允许的延迟窗口中的延迟消息。
我看了相关的问题,但没有得到很多帮助。无论我等待多长时间,使用DirectRunner运行相同的东西都不会产生任何输出。还要注意的另一点是,如果删除管道的GroupBy部分,则会触发触发器。
我需要在Linux中编写一个数据包嗅探器来检测发送的HTTPS数据包并从请求中保存url.我在安全性怪物中找到了这个代码并运行它.此代码运行并且仅嗅探收到的数据包,但我需要在嗅探器中获取已发送的数据包.如何在此代码中获取已发送的数据包?
我不能使用任何像libcap(禁止)的库.代码是:sniffer.c
linux network-programming sniffing network-protocols packet-sniffers
apache-beam ×1
apache-flink ×1
architecture ×1
diagram ×1
forwarding ×1
go ×1
graphite ×1
http ×1
java ×1
jsp ×1
linux ×1
metrics ×1
php ×1
sniffing ×1
statsd ×1
struct ×1
twitter ×1
web.py ×1