# 通用-服务发现与软件排查命令单

LLMS index: [llms.txt](/wikis/llms.txt)

---

## Debian / Ubuntu / UOS 中间件发现

```bash
dpkg -l | grep -i 'nginx\\|apache\\|tomcat\\|redis-server\\|mongod\\|postgresql\\|mysql\\|mariadb\\|memcached\\|mongodb-server\\|rabbitmq-server'
```
- 预期现象：安装对应组件时应输出软件包名、版本、架构等信息。


<details class="td-details"><summary>示例输出（节选）</summary><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-text" data-lang="text"><span class="line"><span class="cl">ii  nginx              1.18.0-6ubuntu14.4   amd64        small, powerful, scalable web/proxy server
</span></span><span class="line"><span class="cl">ii  redis-server       5:6.0.16-1ubuntu1.2  amd64        persistent key-value database with network interface
</span></span><span class="line"><span class="cl">ii  mysql-server-core-8.0                   8.0.33-0ubuntu0.22.04.2 amd64 MySQL database core server files
</span></span></code></pre></div>
</details>



## RPM / RHEL / CentOS / openEuler 中间件发现

```bash
rpm -qa | grep -i 'nginx\\|apache\\|tomcat\\|redis-server\\|mongod\\|postgresql\\|mysql\\|mariadb\\|memcached\\|mongodb-server\\|rabbitmq-server'
```
- 预期现象：安装对应组件时应输出软件包名和版本。


<details class="td-details"><summary>示例输出（节选）</summary><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-text" data-lang="text"><span class="line"><span class="cl">nginx-1.20.1-10.el8.x86_64
</span></span><span class="line"><span class="cl">redis-6.2.7-1.el8.x86_64
</span></span><span class="line"><span class="cl">postgresql-server-13.11-1.module_el8.x86_64
</span></span></code></pre></div>
</details>



## 运行进程发现

```bash
ps -ef | grep 'nginx\\|apache\\|tomcat\\|redis-server\\|mongod\\|postgresql\\|mysql\\|mariadb\\|memcached\\|mongodb-server\\|rabbitmq-server\\|weblogic'
```
- 预期现象：运行对应中间件时应显示相关进程。


<details class="td-details"><summary>示例输出（节选）</summary><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-text" data-lang="text"><span class="line"><span class="cl">root      1123     1  0 Aug20 ?        00:00:00 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
</span></span><span class="line"><span class="cl">www-data  1124  1123  0 Aug20 ?        00:00:02 nginx: worker process
</span></span><span class="line"><span class="cl">redis     1456     1  0 Aug20 ?        00:01:10 /usr/bin/redis-server 127.0.0.1:6379
</span></span><span class="line"><span class="cl">postgres  1789     1  0 Aug20 ?        00:00:05 /usr/lib/postgresql/13/bin/postgres -D /var/lib/postgresql/13/main
</span></span></code></pre></div>
</details>


```bash
ps -ef | egrep -i 'nginx|apache|tomcat|java|redis|rabbitmq|kafka' | grep -v grep
```
- 预期现象：运行相关组件时应显示对应进程。


<details class="td-details"><summary>示例输出（节选）</summary><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-text" data-lang="text"><span class="line"><span class="cl">tomcat    2044     1  1 Aug20 ?        00:03:22 /usr/bin/java -Dcatalina.home=/opt/tomcat ... org.apache.catalina.startup.Bootstrap start
</span></span><span class="line"><span class="cl">rabbitmq  2301     1  0 Aug20 ?        00:01:45 /usr/lib/erlang/erts-12.3.2/bin/beam.smp -K true ... -root /usr/lib/rabbitmq
</span></span><span class="line"><span class="cl">kafka     2567     1  2 Aug20 ?        00:08:31 java -Xmx1G -jar kafka_2.13-3.4.0/libs/kafka.jar ...
</span></span></code></pre></div>
</details>



## 端口发现

```bash
netstat -tulnp
```
- 预期现象：应显示监听端口、本地地址、PID/程序名等信息。


<details class="td-details"><summary>示例输出（节选）</summary><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-text" data-lang="text"><span class="line"><span class="cl">Active Internet connections (only servers)
</span></span><span class="line"><span class="cl">Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
</span></span><span class="line"><span class="cl">tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      1123/nginx
</span></span><span class="line"><span class="cl">tcp        0      0 127.0.0.1:6379          0.0.0.0:*               LISTEN      1456/redis-server
</span></span><span class="line"><span class="cl">tcp        0      0 0.0.0.0:8080            0.0.0.0:*               LISTEN      2044/java
</span></span></code></pre></div>
</details>


```bash
ss -tulpn
```
- 预期现象：新版本 Linux 中应显示监听端口和进程信息。


<details class="td-details"><summary>示例输出（节选）</summary><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-text" data-lang="text"><span class="line"><span class="cl">Netid State  Recv-Q Send-Q Local Address:Port Peer Address:Port Process
</span></span><span class="line"><span class="cl">tcp   LISTEN 0      128          0.0.0.0:80        0.0.0.0:*       users:((&#34;nginx&#34;,pid=1124,fd=6))
</span></span><span class="line"><span class="cl">tcp   LISTEN 0      4096       127.0.0.1:6379      0.0.0.0:*       users:((&#34;redis-server&#34;,pid=1456,fd=7))
</span></span><span class="line"><span class="cl">tcp   LISTEN 0      100          0.0.0.0:8080       0.0.0.0:*       users:((&#34;java&#34;,pid=2044,fd=48))
</span></span></code></pre></div>
</details>


```bash
lsof -i :8080
```
- 预期现象：8080 被占用时应显示 COMMAND、PID、USER 等字段。


<details class="td-details"><summary>示例输出（节选）</summary><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-text" data-lang="text"><span class="line"><span class="cl">COMMAND PID    USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
</span></span><span class="line"><span class="cl">java    2044   tomcat   48u  IPv4  0xa1b2      0t0  TCP *:http-alt (LISTEN)
</span></span></code></pre></div>
</details>



## 配置与日志目录发现

```bash
find /etc -maxdepth 2 | egrep 'nginx|redis|tomcat|apache'
```
- 预期现象：存在对应配置目录时应输出目录路径。


<details class="td-details"><summary>示例输出（节选）</summary><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-text" data-lang="text"><span class="line"><span class="cl">/etc/nginx
</span></span><span class="line"><span class="cl">/etc/nginx/nginx.conf
</span></span><span class="line"><span class="cl">/etc/nginx/conf.d
</span></span><span class="line"><span class="cl">/etc/redis
</span></span><span class="line"><span class="cl">/etc/redis/redis.conf
</span></span><span class="line"><span class="cl">/etc/httpd
</span></span></code></pre></div>
</details>


```bash
ls /var/log | egrep 'nginx|apache|redis'
```
- 预期现象：存在对应日志目录或日志文件时应输出名称。


<details class="td-details"><summary>示例输出（节选）</summary><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-text" data-lang="text"><span class="line"><span class="cl">nginx
</span></span><span class="line"><span class="cl">redis
</span></span></code></pre></div>
</details>



## 进程识别提示

```bash
识别 java -jar、org.apache.catalina.startup.Bootstrap
```
- 预期现象：常作为 Tomcat 启动特征。


<details class="td-details"><summary>示例输出（节选）</summary><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-text" data-lang="text"><span class="line"><span class="cl">tomcat    2044     1  1 Aug20 ?  00:03:22 java -Djava.util.logging.config.file=/opt/tomcat/conf/logging.properties ... org.apache.catalina.startup.Bootstrap start
</span></span></code></pre></div>
</details>


```bash
识别 java weblogic.Server
```
- 预期现象：常作为 WebLogic 启动特征。


<details class="td-details"><summary>示例输出（节选）</summary><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-text" data-lang="text"><span class="line"><span class="cl">weblogic  3102     1  3 Aug20 ?  00:12:07 /usr/bin/java -server -Xms512m -Xmx1024m weblogic.Server
</span></span></code></pre></div>
</details>


```bash
识别 nginx: master process
```
- 预期现象：常作为 Nginx 主进程特征。


<details class="td-details"><summary>示例输出（节选）</summary><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-text" data-lang="text"><span class="line"><span class="cl">root      1123     1  0 Aug20 ?  00:00:00 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
</span></span></code></pre></div>
</details>


```bash
识别 beam.smp
```
- 预期现象：原始文档指出其可对应 Erlang 环境下的 RabbitMQ。


<details class="td-details"><summary>示例输出（节选）</summary><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-text" data-lang="text"><span class="line"><span class="cl">rabbitmq  2301     1  0 Aug20 ?  00:01:45 /usr/lib/erlang/erts-12.3.2/bin/beam.smp -K true -P 1048576 -- -root /usr/lib/erlang -progname erl ...
</span></span></code></pre></div>
</details>
