<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>观测服务 on Apache Dubbo</title><link>https://deploy-preview-3202--dubbo.netlify.app/zh-cn/overview/mannual/java-sdk/tasks/observability/</link><description>Recent content in 观测服务 on Apache Dubbo</description><generator>Hugo</generator><language>zh-cn</language><atom:link href="https://deploy-preview-3202--dubbo.netlify.app/zh-cn/overview/mannual/java-sdk/tasks/observability/index.xml" rel="self" type="application/rss+xml"/><item><title>可观测性</title><link>https://deploy-preview-3202--dubbo.netlify.app/zh-cn/overview/mannual/java-sdk/tasks/observability/console/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://deploy-preview-3202--dubbo.netlify.app/zh-cn/overview/mannual/java-sdk/tasks/observability/console/</guid><description>&lt;p>管理 Dubbo 最直接的方式就是通过 Dubbo 控制面（即 dubbo-control-plane）提供的可视化界面，之前我们在&lt;code>【快速开始 - 部署 Dubbo 应用】&lt;/code>一文的最后，也有用到它查看服务启动后的状态。&lt;/p>
&lt;p>&lt;strong>&lt;code>dubbo-control-plane&lt;/code> 支持可视化的展示、监控集群状态，还支持实时下发流量管控规则。&lt;/strong>&lt;/p>
&lt;h2 id="安装控制台">安装控制台&lt;/h2>
&lt;p>为了体验效果，我们首先需要安装 dubbo-control-plane，以下是在 Linux 环境下安装 dubbo-control-plane 的具体步骤：&lt;/p>
&lt;ol>
&lt;li>下载 &amp;amp; 解压
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-shell" data-lang="shell">&lt;span style="display:flex;">&lt;span>curl -L https://dubbo.apache.org/releases/downloadDubbo.sh | sh -
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#b58900">cd&lt;/span> dubbo-&lt;span style="color:#268bd2">$version&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#b58900">export&lt;/span> &lt;span style="color:#268bd2">PATH&lt;/span>&lt;span style="color:#719e07">=&lt;/span>&lt;span style="color:#268bd2">$PWD&lt;/span>/bin:&lt;span style="color:#268bd2">$PATH&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;/li>
&lt;li>安装
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-shell" data-lang="shell">&lt;span style="display:flex;">&lt;span>dubbo-cp run --mode universal --config conf/dubbo.yml
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>注意，&lt;code>conf/dubbo.yml&lt;/code> 配置需要按需调整，指向你要连接的注册中心等后台服务，具体请查看 dubbo-control-plane 架构中依赖的后台服务。&lt;/li>
&lt;li>访问 &lt;code>http://xxx&lt;/code> 即可打开控制台页面。
&lt;code>页面截图&lt;/code>&lt;/li>
&lt;/ol>


&lt;div class="alert alert-info" role="alert">
&lt;h4 class="alert-heading">注意&lt;/h4>

 &lt;ul>
&lt;li>请查看文档了解 dubbo-control-plane 详细安装步骤，包括多个平台的安装方法与配置指导。&lt;/li>
&lt;li>对于 Kubernetes 环境下的 Dubbo 服务开发（包括 dubbo-control-plane 安装），我们有专门的章节说明，对于 Kubernetes 环境下的开发者可以去参考。&lt;/li>
&lt;/ul>


&lt;/div>

&lt;h2 id="功能介绍">功能介绍&lt;/h2>
&lt;p>Admin 控制台提供了从开发、测试到流量治理等不同层面的丰富功能，功能总体上可分为以下几类：&lt;/p>
&lt;ul>
&lt;li>服务状态与依赖关系查询&lt;/li>
&lt;li>服务在线测试与文档管理&lt;/li>
&lt;li>集群状态监控&lt;/li>
&lt;li>实例诊断&lt;/li>
&lt;li>流量管控&lt;/li>
&lt;/ul>
&lt;h3 id="服务状态与依赖关系查询">服务状态与依赖关系查询&lt;/h3>
&lt;p>服务状态查询以接口为维度展示 dubbo 集群信息，包含服务提供者、消费者信息和服务的元数据等。元数据包含了服务定义、方法名和参数列表等信息。Admin 支持最新版本 dubbo3 所提供的应用级发现模型，以统一的页面交互展示了应用级&amp;amp;接口级地址信息，并以特殊的标记对记录进行区分。&lt;/p></description></item><item><title>从 Prometheus 查询 Metrics 监控指标</title><link>https://deploy-preview-3202--dubbo.netlify.app/zh-cn/overview/mannual/java-sdk/tasks/observability/prometheus/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://deploy-preview-3202--dubbo.netlify.app/zh-cn/overview/mannual/java-sdk/tasks/observability/prometheus/</guid><description>&lt;h2 id="准备条件">准备条件&lt;/h2>
&lt;p>本文演示如何在 Kubernetes 环境下部署 Prometheus 并实现对 Dubbo 集群的监控数据统计与查询，你需要完成或具备以下内容：&lt;/p>
&lt;ul>
&lt;li>本地或远端 Kubernetes 集群&lt;/li>
&lt;li>确保 &lt;a href="https://deploy-preview-3202--dubbo.netlify.app/zh-cn/overview/reference/integrations/prometheus/#%E5%AE%89%E8%A3%85">Prometheus 正确安装&lt;/a>&lt;/li>
&lt;li>部署 &lt;a href="https://github.com/apache/dubbo-samples/tree/master/4-governance/dubbo-samples-metrics-spring-boot">示例应用&lt;/a> 并开启指标采集&lt;/li>
&lt;li>使用 Prometheus dashboard 查询数据指标&lt;/li>
&lt;/ul>
&lt;h2 id="确保-prometheus-正确运行">确保 Prometheus 正确运行&lt;/h2>
&lt;p>验证 Prometheus 已经正确部署&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-yaml" data-lang="yaml">&lt;span style="display:flex;">&lt;span>kubectl -n dubbo-system get svc prometheus-server
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>prometheus-server ClusterIP 10.109.160.254 &amp;lt;none&amp;gt; 9090/TCP 4m
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h2 id="部署示例">部署示例&lt;/h2>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-yaml" data-lang="yaml">&lt;span style="display:flex;">&lt;span>kubectl apply -f https://raw.githubusercontent.com/apache/dubbo-samples/master/4-governance/dubbo-samples-metrics-spring-boot/Deployment.yml
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>等待示例应用正常运行，通过以下命令确认应用状态：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-yaml" data-lang="yaml">&lt;span style="display:flex;">&lt;span>kubectl -n dubbo-demo get deployments
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h2 id="查询-prometheus">查询 Prometheus&lt;/h2>
&lt;p>获得 Prometheus 访问地址 &lt;code>kubectl port-forward service/prometheus-server 9090:9090&lt;/code>，
打开浏览器，访问 localhost:9090/graph 即可打开 Prometheus 控制台。&lt;/p>
&lt;p>接下来，执行 Prometheus 查询命令。可以在此确认 &lt;a href="https://deploy-preview-3202--dubbo.netlify.app/zh-cn/overview/reference/metrics/standard_metrics/">Dubbo 支持的 Metrics 指标&lt;/a>。&lt;/p></description></item><item><title>使用 Grafana 可视化查看集群 Metrics 指标</title><link>https://deploy-preview-3202--dubbo.netlify.app/zh-cn/overview/mannual/java-sdk/tasks/observability/grafana/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://deploy-preview-3202--dubbo.netlify.app/zh-cn/overview/mannual/java-sdk/tasks/observability/grafana/</guid><description>&lt;p>指标可视化页面目前推荐的方式是使用 Grafana 来配置 Dubbo 的可观测性监控大盘。&lt;/p>
&lt;h2 id="在您开始之前">在您开始之前&lt;/h2>
&lt;ul>
&lt;li>一个可以访问的 Kubernetes 集群&lt;/li>
&lt;li>正确安装并配置 &lt;a href="https://deploy-preview-3202--dubbo.netlify.app/zh-cn/overview/reference/integrations/prometheus/#%E5%AE%89%E8%A3%85">普罗米修斯服务&lt;/a>&lt;/li>
&lt;li>安装 &lt;a href="https://deploy-preview-3202--dubbo.netlify.app/zh-cn/overview/reference/integrations/grafana/">Grafana&lt;/a>&lt;/li>
&lt;li>部署 &lt;a href="https://github.com/apache/dubbo-samples/tree/master/4-governance/dubbo-samples-metrics-spring-boot">示例应用&lt;/a> 并开启指标采集&lt;/li>
&lt;/ul>
&lt;h2 id="确认组件正常运行">确认组件正常运行&lt;/h2>
&lt;h3 id="kubernetes">Kubernetes&lt;/h3>
&lt;p>确保 Prometheus 正常运行&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-sh" data-lang="sh">&lt;span style="display:flex;">&lt;span>$ kubectl -n dubbo-system get svc prometheus
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>NAME TYPE CLUSTER-IP EXTERNAL-IP PORT&lt;span style="color:#719e07">(&lt;/span>S&lt;span style="color:#719e07">)&lt;/span> AGE
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>prometheus ClusterIP 10.0.250.230 &amp;lt;none&amp;gt; 9090/TCP 180s
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>确保 Grafana 正常运行&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-sh" data-lang="sh">&lt;span style="display:flex;">&lt;span>$ kubectl -n dubbo-system get svc grafana
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>NAME TYPE CLUSTER-IP EXTERNAL-IP PORT&lt;span style="color:#719e07">(&lt;/span>S&lt;span style="color:#719e07">)&lt;/span> AGE
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>grafana ClusterIP 10.0.244.130 &amp;lt;none&amp;gt; 3000/TCP 180s
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h2 id="部署示例">部署示例&lt;/h2>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-yaml" data-lang="yaml">&lt;span style="display:flex;">&lt;span>kubectl apply -f https://raw.githubusercontent.com/apache/dubbo-samples/master/4-governance/dubbo-samples-metrics-spring-boot/Deployment.yml
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>等待示例应用正常运行，通过以下命令确认应用状态：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-yaml" data-lang="yaml">&lt;span style="display:flex;">&lt;span>kubectl -n dubbo-demo get deployments
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h2 id="查看-grafana-可视化面板">查看 Grafana 可视化面板&lt;/h2>
&lt;p>示例程序启动后会自动模拟服务调用，只需等待一会能在 Grafana 中可视化的看到 Metrics 指标。&lt;/p></description></item><item><title>日志管理</title><link>https://deploy-preview-3202--dubbo.netlify.app/zh-cn/overview/mannual/java-sdk/tasks/observability/logging/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://deploy-preview-3202--dubbo.netlify.app/zh-cn/overview/mannual/java-sdk/tasks/observability/logging/</guid><description>&lt;h2 id="支持的日志框架">支持的日志框架&lt;/h2>
&lt;p>Dubbo 支持以下日志框架，用户可根据业务应用实际使用的日志框架进行配置。&lt;/p>
&lt;table>
 &lt;thead>
 &lt;tr>
 &lt;th style="text-align: left">第三方日志框架&lt;/th>
 &lt;th style="text-align: left">优先级&lt;/th>
 &lt;th style="text-align: left">说明&lt;/th>
 &lt;/tr>
 &lt;/thead>
 &lt;tbody>
 &lt;tr>
 &lt;td style="text-align: left">Log4j&lt;/td>
 &lt;td style="text-align: left">最高（默认就用这个）&lt;/td>
 &lt;td style="text-align: left">log4j 的直接适配，需要增加 log4j-core、log4j-api 依赖与 log4j.properties&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td style="text-align: left">SLF4J&lt;/td>
 &lt;td style="text-align: left">次高（当前推荐）&lt;/td>
 &lt;td style="text-align: left">可支持 log4j、log4j2、logback 等实现。如 logback 可添加slf4j-api、logback-classic、logback-core 依赖与 logback.xml&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td style="text-align: left">Log4j2&lt;/td>
 &lt;td style="text-align: left">次低&lt;/td>
 &lt;td style="text-align: left">log4j2 的直接适配，需要增加 log4j2-core 依赖与 log4j2.xml 配置&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td style="text-align: left">Common Logging(jcl就是common logging)&lt;/td>
 &lt;td style="text-align: left">次低（Log4j和SLF4J在项目中均没有就用这个）&lt;/td>
 &lt;td style="text-align: left">较少项目使用&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td style="text-align: left">JDK log&lt;/td>
 &lt;td style="text-align: left">最低（最后的选择）&lt;/td>
 &lt;td style="text-align: left">较少项目使用&lt;/td>
 &lt;/tr>
 &lt;/tbody>
&lt;/table>


&lt;div class="alert alert-warning" role="alert">
&lt;h4 class="alert-heading">注意&lt;/h4>

 无论使用哪种日志框架，除了 Dubbo 侧配置外，还需要确保应用中加入正确的日志框架依赖和配置文件。

&lt;/div>

&lt;h3 id="使用-slf4j">使用 slf4j&lt;/h3>
&lt;p>对于 spring boot 用户，通过在 &lt;code>application.yaml&lt;/code> 或 &lt;code>application.properties&lt;/code> 增加以下配置，开启 slf4j 日志：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-yaml" data-lang="yaml">&lt;span style="display:flex;">&lt;span>&lt;span style="color:#268bd2">dubbo&lt;/span>:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#268bd2">application&lt;/span>:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#268bd2">logger&lt;/span>: slf4j
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;div class="highlight">&lt;pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-properties" data-lang="properties">&lt;span style="display:flex;">&lt;span>dubbo.application.logger&lt;span style="color:#719e07">=&lt;/span>&lt;span style="color:#2aa198">slf4j&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>除此之外，还可以使用使用 JVM 参数进行设置：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-shell" data-lang="shell">&lt;span style="display:flex;">&lt;span>java -Ddubbo.application.logger&lt;span style="color:#719e07">=&lt;/span>slf4j
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h4 id="使用-slf4j-log4j2-提供日志输出">使用 slf4j-log4j2 提供日志输出&lt;/h4>
&lt;p>增加依赖：&lt;/p></description></item></channel></rss>