You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
arthas/start-arthas.html

320 lines
12 KiB
HTML

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

<!DOCTYPE html>
<!--[if IE 8]><html class="no-js lt-ie9" lang="zh-CN" > <![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js" lang="zh-CN" > <!--<![endif]-->
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>启动 Arthas &mdash; Arthas 3.0.1-RC-SNAPSHOT 文档</title>
<link rel="stylesheet" href="_static/css/theme.css" type="text/css" />
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
<link rel="stylesheet" href="_static/overrides.css" type="text/css" />
<link rel="index" title="索引" href="genindex.html" />
<link rel="search" title="搜索" href="search.html" />
<script src="_static/center_page.js"></script>
<script src="_static/js/modernizr.min.js"></script>
</head>
<body class="wy-body-for-nav">
<div class="wy-grid-for-nav">
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
<div class="wy-side-scroll">
<div class="wy-side-nav-search">
<a href="index.html" class="icon icon-home"> Arthas
</a>
<div class="version">
3.0.1-RC-SNAPSHOT
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="search.html" method="get">
<input type="text" name="q" placeholder="Search docs" />
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
</form>
</div>
</div>
<div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
<ul>
<li class="toctree-l1"><a class="reference internal" href="install-detail.html">安装</a></li>
<li class="toctree-l1"><a class="reference internal" href="quick-start.html">快速入门</a></li>
<li class="toctree-l1"><a class="reference internal" href="advanced-use.html">进阶使用</a></li>
<li class="toctree-l1"><a class="reference internal" href="commands.html">命令列表</a></li>
<li class="toctree-l1"><a class="reference external" href="https://github.com/alibaba/arthas/labels/user-case">用户案例</a></li>
<li class="toctree-l1"><a class="reference internal" href="release-notes.html">Release Notes</a></li>
<li class="toctree-l1"><a class="reference external" href="https://github.com/alibaba/arthas/labels/question-answered">Questions and answers</a></li>
<li class="toctree-l1"><a class="reference external" href="https://github.com/alibaba/arthas">Fork me at GitHub</a></li>
<li class="toctree-l1"><a class="reference external" href="https://github.com/alibaba/arthas/blob/master/CONTRIBUTING.md">参与贡献</a></li>
</ul>
</div>
</div>
</nav>
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
<nav class="wy-nav-top" aria-label="top navigation">
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
<a href="index.html">Arthas</a>
</nav>
<div class="wy-nav-content">
<div class="rst-content">
<div role="navigation" aria-label="breadcrumbs navigation">
<ul class="wy-breadcrumbs">
<li><a href="index.html">Docs</a> &raquo;</li>
<li>启动 Arthas</li>
<li class="wy-breadcrumbs-aside">
<a href="https://github.com/alibaba/arthas/blob/master/site/src/site/sphinx/start-arthas.md" class="fa fa-github"> Edit on GitHub</a>
</li>
</ul>
<hr/>
</div>
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div itemprop="articleBody">
<div class="section" id="arthas">
<span id="arthas"></span><h1>启动 Arthas<a class="headerlink" href="#arthas" title="永久链接至标题"></a></h1>
</div>
<div class="section" id="">
<span id="id1"></span><h1>交互模式启动<a class="headerlink" href="#" title="永久链接至标题"></a></h1>
<blockquote>
<div>./as.sh</div></blockquote>
<div class="highlight-sh notranslate"><div class="highlight"><pre><span></span>➜ bin git:<span class="o">(</span>develop<span class="o">)</span> ✗ ./as.sh
Found existing java process, please choose one and hit RETURN.
<span class="o">[</span><span class="m">1</span><span class="o">]</span>: <span class="m">3088</span> org.jetbrains.idea.maven.server.RemoteMavenServer
* <span class="o">[</span><span class="m">2</span><span class="o">]</span>: <span class="m">12872</span> org.apache.catalina.startup.Bootstrap
<span class="o">[</span><span class="m">3</span><span class="o">]</span>: <span class="m">2455</span>
Attaching to <span class="m">12872</span>...
,---. ,------. ,--------.,--. ,--. ,---. ,---.
/ O <span class="se">\ </span><span class="p">|</span> .--. <span class="s1">&#39;&#39;</span>--. .--<span class="s1">&#39;| &#39;</span>--<span class="s1">&#39; | / O \ &#39;</span> .-<span class="s1">&#39;</span>
<span class="s1">| .-. || &#39;</span>--<span class="s1">&#39;.&#39;</span> <span class="p">|</span> <span class="p">|</span> <span class="p">|</span> .--. <span class="o">||</span> .-. <span class="p">|</span><span class="sb">`</span>. <span class="sb">`</span>-.
<span class="p">|</span> <span class="p">|</span> <span class="p">|</span> <span class="o">||</span> <span class="p">|</span><span class="se">\ </span> <span class="se">\ </span> <span class="p">|</span> <span class="p">|</span> <span class="p">|</span> <span class="p">|</span> <span class="p">|</span> <span class="o">||</span> <span class="p">|</span> <span class="p">|</span> <span class="p">|</span>.-<span class="s1">&#39; |</span>
<span class="s1">`--&#39;</span> <span class="sb">`</span>--<span class="s1">&#39;`--&#39;</span> <span class="s1">&#39;--&#39;</span> <span class="sb">`</span>--<span class="s1">&#39; `--&#39;</span> <span class="sb">`</span>--<span class="s1">&#39;`--&#39;</span> <span class="sb">`</span>--<span class="s1">&#39;`-----&#39;</span>
$
</pre></div>
</div>
</div>
<div class="section" id="">
<span id="id2"></span><h1>非交互模式启动<a class="headerlink" href="#" title="永久链接至标题"></a></h1>
<p>启动脚本如下:</p>
<blockquote>
<div>./as.sh &lt;PID&gt;[&#64;IP:PORT]</div></blockquote>
<div class="section" id="">
<span id="id3"></span><h2>参数说明<a class="headerlink" href="#" title="永久链接至标题"></a></h2>
<ul class="simple">
<li>PID目标 Java 进程 ID请确保执行当前执行命令的用户必须有足够的权限操作对应的 Java 进程)</li>
<li>IP目标服务器 IP 地址,当 Arthas Server 启动后,其他人可以通过指定 IP 的形式加载到对应目标机器的 Java 进程中从而实现远程协助。Arthas 允许多个用户同时访问,并且各自的命令不会相互干扰执行</li>
<li>PORT目标服务器 Arthas Server 的端口号,默认的端口号是 3658</li>
</ul>
</div>
<div class="section" id="">
<span id="id4"></span><h2>示例<a class="headerlink" href="#" title="永久链接至标题"></a></h2>
<ul>
<li><p class="first">如果不指定 IP 和 PORT默认是 127.0.0.1 和 3658</p>
<blockquote>
<div><p>./as.sh 12345</p>
</div></blockquote>
<p>上述命令等价于:</p>
<blockquote>
<div><p>./as.sh 12356&#64;127.0.0.1:3658</p>
</div></blockquote>
</li>
</ul>
</div>
<div class="section" id="">
<span id="id5"></span><h2>远程诊断<a class="headerlink" href="#" title="永久链接至标题"></a></h2>
<p>服务器启动 Arthas Server 后,其他人可以使用 Arthas Console Client 远程连接上去进程诊断,请参考:</p>
<blockquote>
<div>./as.sh PID&#64;RemoteIP:RemotePort</div></blockquote>
<p>其中 PID 为远程服务器上的 Java 进程 IDRemoteIP 为远程服务器的 IP 地址RemotePort 为远程服务器上 Arthas Server 的端口,默认为 3658。</p>
</div>
<div class="section" id="sudo">
<span id="sudo"></span><h2>sudo 支持<a class="headerlink" href="#sudo" title="永久链接至标题"></a></h2>
<p>成熟的线上管理环境一般都不会直接开放 JVM 部署用户权限给你,而是通过 sudo-list 来控制和监控用户的越权操作。由于 as.sh 脚本中会对当前用户的环境变量产生感知,所以需要加上 -H 参数</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="o">&gt;</span> <span class="n">sudo</span> <span class="o">-</span><span class="n">u</span> <span class="n">admin</span> <span class="o">-</span><span class="n">H</span> <span class="o">./</span><span class="k">as</span><span class="o">.</span><span class="n">sh</span> <span class="mi">12345</span>
</pre></div>
</div>
</div>
<div class="section" id="telnet">
<span id="telnet"></span><h2>telnet 的支持<a class="headerlink" href="#telnet" title="永久链接至标题"></a></h2>
<p>Arthas 支持通过 telnet 来访问服务端,如果当你手头的机器没有安装 Arthas Console Client你可以简单的通过 telnet 命令来进行访问。</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="o">&gt;</span> <span class="n">telnet</span> <span class="mf">10.232</span><span class="o">.</span><span class="mf">12.113</span> <span class="mi">3658</span>
</pre></div>
</div>
<p>当然了telnet 命令没有 <code class="docutils literal notranslate"><span class="pre">Tab</span></code> 自动补全,各种操作体验也不如 Arthas Client Console。</p>
</div>
<div class="section" id="windows">
<span id="windows"></span><h2>Windows 环境支持<a class="headerlink" href="#windows" title="永久链接至标题"></a></h2>
<ul class="simple">
<li>目前 Arthas 提供了 <code class="docutils literal notranslate"><span class="pre">as.bat</span></code> 脚本,用于 Windows 环境下的诊断场景;此脚本暂时只接受一个参数 pid即只能诊断本机上的 Java 进程;</li>
<li>另外,<code class="docutils literal notranslate"><span class="pre">as.bat</span></code> 脚本在体验方面还有一些问题,如果需要更好的体验,可以在本地使用 <code class="docutils literal notranslate"><span class="pre">as.bat</span> <span class="pre">pid</span></code> 启动 Arthas Server 后,然后在另外的 Linux/Mac 上使用 as.bat pid&#64;ip:port 来远程诊断;</li>
</ul>
</div>
</div>
</div>
</div>
<footer>
<hr/>
<div role="contentinfo">
<p>
&copy; Copyright 2018, Alibaba Middleware Group, and contributors.
</p>
</div>
Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>.
</footer>
</div>
</div>
</section>
</div>
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
URL_ROOT:'./',
VERSION:'3.0.1-RC-SNAPSHOT',
LANGUAGE:'zh_CN',
COLLAPSE_INDEX:false,
FILE_SUFFIX:'.html',
HAS_SOURCE: true,
SOURCELINK_SUFFIX: '.txt'
};
</script>
<script type="text/javascript" src="_static/jquery.js"></script>
<script type="text/javascript" src="_static/underscore.js"></script>
<script type="text/javascript" src="_static/doctools.js"></script>
<script type="text/javascript" src="_static/translations.js"></script>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
<script type="text/javascript" src="_static/js/theme.js"></script>
<script type="text/javascript">
jQuery(function () {
SphinxRtdTheme.Navigation.enable(true);
});
</script>
<div class="github-fork-ribbon-wrapper right">
<div class="github-fork-ribbon">
<a href="https://github.com/alibaba/arthas">Fork me at GitHub</a>
</div>
</div>
<script type="text/javascript" src="_static/add_badges.js"></script>
<script>
var _hmt = _hmt || [];
(function() {
var hm = document.createElement("script");
hm.src = "https://hm.baidu.com/hm.js?d5c5e25b100f0eb51a4c35c8a86ea9b4";
var s = document.getElementsByTagName("script")[0];
s.parentNode.insertBefore(hm, s);
})();
</script>
</body>
</html>