Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/reporting-services/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
Microservices 如何监控本地网络中的连接_Microservices_Haproxy_Monitor - Fatal编程技术网

Microservices 如何监控本地网络中的连接

Microservices 如何监控本地网络中的连接,microservices,haproxy,monitor,Microservices,Haproxy,Monitor,我有很多服务:Node(s)、MySQL(s)、Redis(s)、Elastic(s)… 我想监控它们之间的连接方式:连接速率、活动连接数。。。(Node1每秒创建30个到Node2/MySQL/Redis的连接…)如下面附加的Haproxy stat图像 目前我有两个选择: Haproxy(代理):我想使用单服务Haproxy来存档,但似乎很难使用ALC来检测需要转发到哪个服务的连接 ELK(日志中心):我需要在每个服务(节点、MySQL、Redis…)上创建日志文件,然后在日志中心显示它

我有很多服务:Node(s)、MySQL(s)、Redis(s)、Elastic(s)…
我想监控它们之间的连接方式:连接速率、活动连接数。。。(Node1每秒创建30个到Node2/MySQL/Redis的连接…)如下面附加的Haproxy stat图像

目前我有两个选择:

  • Haproxy(代理):我想使用单服务Haproxy来存档,但似乎很难使用ALC来检测需要转发到哪个服务的连接
  • ELK(日志中心):我需要在每个服务(节点、MySQL、Redis…)上创建日志文件,然后在日志中心显示它们。我看到,如果没有像Haproxy stat page这样的内置功能,很多工作都可以做到这一点

如何做到这一点?在这种情况下,log center是否良好?

使用ELK-elasticsearch logstash和kibana堆栈以及filebeatFilebeat-将与logstash共享日志文件内容 Logstash-将扫描、筛选和共享所需内容以进行弹性搜索 Elasticsearch-将作为数据库工作,以json格式将logstash中的内容存储为文档。
Kibana-使用Kibana,您可以搜索所需信息。您还可以使用相关数据绘制图形和其他视觉效果。

使用ELK-elasticsearch logstash和kibana堆栈与filebeatFilebeat-将与logstash共享日志文件内容 Logstash-将扫描、筛选和共享所需内容以进行弹性搜索 Elasticsearch-将作为数据库工作,以json格式将logstash中的内容存储为文档。
Kibana-使用Kibana,您可以搜索所需信息。您还可以用相关数据绘制图表和其他视觉效果。

问题

我认为您的问题不是收集统计数据并将其传输到Elasticsearch,而是从您的服务中提取度量数据的大量工作,因为大多数服务都没有度量文件/日志

然后,您需要使用一些自定义脚本导出它们,记录它们并使用filebeat捕获它们,将它们流到日志库中进行文本处理和度量提取,以便以您可以进行某种分析的方式对它们进行索引,然后将其发送到elasticsearch

我对答案的看法

至少对于您提到的3项服务,有现成的出口商,您可以找到它们。导出器是一个简单的过程,它将查询您的服务本地统计API,并为prometheus提供一个prometheus度量API,以便prometheus进行查询(轮询)

在普罗米修斯抓取度量值后,您可以通过(普罗米修斯的实际可视化层)在仪表板上显示它们,或将度量值批量导出到您想要的任何地方(Elasticsearch等…),以进行可视化和探索

结论

这种方法的好处是:

  • 普罗米修斯可以自动发现添加到网络中的新节点
  • haproxy、redis和mysql的现成出口商 普罗米修斯
  • 无需代码,每个导出器只需最少的 针对每种监控技术的特定配置,可以轻松 如果您的环境是容器式的,则将其容器化并部署 面向,否则只需在 正确的机器
  • 普罗米修斯非常非常容易部署

  • 问题

    我认为您的问题不是收集统计数据并将其传输到Elasticsearch,而是从您的服务中提取度量数据的大量工作,因为大多数服务都没有度量文件/日志

    然后,您需要使用一些自定义脚本导出它们,记录它们并使用filebeat捕获它们,将它们流到日志库中进行文本处理和度量提取,以便以您可以进行某种分析的方式对它们进行索引,然后将其发送到elasticsearch

    我对答案的看法

    至少对于您提到的3项服务,有现成的出口商,您可以找到它们。导出器是一个简单的过程,它将查询您的服务本地统计API,并为prometheus提供一个prometheus度量API,以便prometheus进行查询(轮询)

    在普罗米修斯抓取度量值后,您可以通过(普罗米修斯的实际可视化层)在仪表板上显示它们,或将度量值批量导出到您想要的任何地方(Elasticsearch等…),以进行可视化和探索

    结论

    这种方法的好处是:

  • 普罗米修斯可以自动发现添加到网络中的新节点
  • haproxy、redis和mysql的现成出口商 普罗米修斯
  • 无需代码,每个导出器只需最少的 针对每种监控技术的特定配置,可以轻松 如果您的环境是容器式的,则将其容器化并部署 面向,否则只需在 正确的机器
  • 普罗米修斯非常非常容易部署

  • 我在这样的环境中工作,我使用ElasticSearch搜索应用程序日志(Elastic适用于全文搜索引擎),使用Prometheus收集度量数据,并使用度量分析进行监控和警报。经过多次的自我反省和测试,这是我的建议。看看你的问题历史,你没有接受任何一个。请参阅我在这样的环境中工作,我使用ElasticSearch查找应用程序日志(Elastic适用于全文搜索引擎),并使用Prometheus进行度量收集和度量分析,具体用于监控和警报。经过多次的自我反省和测试,这是我的建议。看看你的问题历史,你没有接受任何一个。请参阅