Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cassandra/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Logging Cassandra中的分布式日志_Logging_Cassandra_Cassandra 3.0_Distributed System - Fatal编程技术网

Logging Cassandra中的分布式日志

Logging Cassandra中的分布式日志,logging,cassandra,cassandra-3.0,distributed-system,Logging,Cassandra,Cassandra 3.0,Distributed System,我正在寻找在Cassandra中存储应用程序日志的方法 我有三个节点设置(节点1、节点2和节点3),其中我的web应用程序作为集群在所有三个节点中运行,并且负载平衡,因此将从所有节点生成日志 Cassandra在所有三个节点中运行,日志从所有三个web应用程序转储到Cassandra集群中,该集群每天都进行分区 此方法中的问题: 1) 我正在使用我的web应用程序将数据写入Cassandra。 2) 对于每天的分区,数据量非常高 那么有更好的方法吗 这是好的设计方法吗?在Cassandra中存储

我正在寻找在Cassandra中存储应用程序日志的方法

我有三个节点设置(节点1、节点2和节点3),其中我的web应用程序作为集群在所有三个节点中运行,并且负载平衡,因此将从所有节点生成日志

Cassandra在所有三个节点中运行,日志从所有三个web应用程序转储到Cassandra集群中,该集群每天都进行分区

此方法中的问题:
1) 我正在使用我的web应用程序将数据写入Cassandra。
2) 对于每天的分区,数据量非常高

那么有更好的方法吗


这是好的设计方法吗?

在Cassandra中存储日志的选择是有争议的;随着数据分析变得困难但可行。ELK(Elastic Logstash Kibana)或Splunk是更流行的日志分析选择,因为它们的原生“文本”搜索支持和仪表盘

话虽如此,让我们看看手头的问题

1) 我正在使用我的web应用程序将数据写入Cassandra

我想到的建议如下:

  • 写操作是异步完成的吗?推荐的
  • 在这些写入过程中使用的一致性级别是什么?一致性越高,web应用程序将变得越慢,因为它在C*上等待的时间就越长(假设同步写入)。记住,C*仍然可以有RF=3,但你可以做一致性=1
  • 如果C*集群宕机怎么办?web应用程序也会随之下降吗
2) 对于每天的分区,数据量非常高

  • 这里有两个问题-Fat分区和同一个节点整天都被命中(导致热点)。工作负载没有分配到整个集群
  • 分区大小可以减少到每小时而不是一整天。但我们只是将一个节点被击中的时间从一天减少到了一小时。这仍然是一个小时的热点
  • 您可以进行“第二级”分区,以获得跨节点的数据均匀分布,并且不会造成巨大的分区(取决于应用程序的聊天程度)。但这就是C*用于日志监视的优点值得怀疑的地方
  • C*将解决的所有查询是什么?如何聚合第二级数据分区并回答典型日志分析过程中出现的各种问题

用C*DB必须回答的所有日志分析问题(查询)重新审视设计?答案应该自动排列。

在Cassandra中存储日志的选择是有争议的;随着数据分析变得困难但可行。ELK(Elastic Logstash Kibana)或Splunk是更流行的日志分析选择,因为它们的原生“文本”搜索支持和仪表盘

话虽如此,让我们看看手头的问题

1) 我正在使用我的web应用程序将数据写入Cassandra

我想到的建议如下:

  • 写操作是异步完成的吗?推荐的
  • 在这些写入过程中使用的一致性级别是什么?一致性越高,web应用程序将变得越慢,因为它在C*上等待的时间就越长(假设同步写入)。记住,C*仍然可以有RF=3,但你可以做一致性=1
  • 如果C*集群宕机怎么办?web应用程序也会随之下降吗
2) 对于每天的分区,数据量非常高

  • 这里有两个问题-Fat分区和同一个节点整天都被命中(导致热点)。工作负载没有分配到整个集群
  • 分区大小可以减少到每小时而不是一整天。但我们只是将一个节点被击中的时间从一天减少到了一小时。这仍然是一个小时的热点
  • 您可以进行“第二级”分区,以获得跨节点的数据均匀分布,并且不会造成巨大的分区(取决于应用程序的聊天程度)。但这就是C*用于日志监视的优点值得怀疑的地方
  • C*将解决的所有查询是什么?如何聚合第二级数据分区并回答典型日志分析过程中出现的各种问题

用C*DB必须回答的所有日志分析问题(查询)重新审视设计?答案应该自动排列。

通常建议将web应用程序与DB分离,这样应用程序会将日志发送到Kafka、rsyslog等。我真的很想知道为什么要使用Cassandra,而不是传统上用于日志处理的ELK stack…@AlexOtt我选择数据库的原因是,我将有三个节点,因此我需要按所有三个节点的时间戳进行排序,并将它们组合在一起。按任何字段进行ELK堆栈排序,但您将获得更多好处,如使用Kibana进行可视化等@AlexOtt请在这方面我需要您的帮助:通常建议将web应用程序与数据库分离,因此,应用程序会将日志发送到Kafka、rsyslog等。我真的很想知道为什么要使用Cassandra,而不是传统上用于日志处理的ELK stack…@AlexOtt我选择数据库的原因是,我将有三个节点,因此我需要按所有三个节点的时间戳进行排序,并将它们组合在一起按任何字段进行ELK堆栈排序,但您将获得更多好处,如使用Kibana进行可视化等@AlexOtt请在这方面提供帮助: