通用-服务发现与软件排查命令单
Categories:
2 分钟阅读
Debian / Ubuntu / UOS 中间件发现
dpkg -l | grep -i 'nginx\\|apache\\|tomcat\\|redis-server\\|mongod\\|postgresql\\|mysql\\|mariadb\\|memcached\\|mongodb-server\\|rabbitmq-server'
- 预期现象:安装对应组件时应输出软件包名、版本、架构等信息。
示例输出(节选)
ii nginx 1.18.0-6ubuntu14.4 amd64 small, powerful, scalable web/proxy server
ii redis-server 5:6.0.16-1ubuntu1.2 amd64 persistent key-value database with network interface
ii mysql-server-core-8.0 8.0.33-0ubuntu0.22.04.2 amd64 MySQL database core server files
RPM / RHEL / CentOS / openEuler 中间件发现
rpm -qa | grep -i 'nginx\\|apache\\|tomcat\\|redis-server\\|mongod\\|postgresql\\|mysql\\|mariadb\\|memcached\\|mongodb-server\\|rabbitmq-server'
- 预期现象:安装对应组件时应输出软件包名和版本。
示例输出(节选)
nginx-1.20.1-10.el8.x86_64
redis-6.2.7-1.el8.x86_64
postgresql-server-13.11-1.module_el8.x86_64
运行进程发现
ps -ef | grep 'nginx\\|apache\\|tomcat\\|redis-server\\|mongod\\|postgresql\\|mysql\\|mariadb\\|memcached\\|mongodb-server\\|rabbitmq-server\\|weblogic'
- 预期现象:运行对应中间件时应显示相关进程。
示例输出(节选)
root 1123 1 0 Aug20 ? 00:00:00 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
www-data 1124 1123 0 Aug20 ? 00:00:02 nginx: worker process
redis 1456 1 0 Aug20 ? 00:01:10 /usr/bin/redis-server 127.0.0.1:6379
postgres 1789 1 0 Aug20 ? 00:00:05 /usr/lib/postgresql/13/bin/postgres -D /var/lib/postgresql/13/main
ps -ef | egrep -i 'nginx|apache|tomcat|java|redis|rabbitmq|kafka' | grep -v grep
- 预期现象:运行相关组件时应显示对应进程。
示例输出(节选)
tomcat 2044 1 1 Aug20 ? 00:03:22 /usr/bin/java -Dcatalina.home=/opt/tomcat ... org.apache.catalina.startup.Bootstrap start
rabbitmq 2301 1 0 Aug20 ? 00:01:45 /usr/lib/erlang/erts-12.3.2/bin/beam.smp -K true ... -root /usr/lib/rabbitmq
kafka 2567 1 2 Aug20 ? 00:08:31 java -Xmx1G -jar kafka_2.13-3.4.0/libs/kafka.jar ...
端口发现
netstat -tulnp
- 预期现象:应显示监听端口、本地地址、PID/程序名等信息。
示例输出(节选)
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 1123/nginx
tcp 0 0 127.0.0.1:6379 0.0.0.0:* LISTEN 1456/redis-server
tcp 0 0 0.0.0.0:8080 0.0.0.0:* LISTEN 2044/java
ss -tulpn
- 预期现象:新版本 Linux 中应显示监听端口和进程信息。
示例输出(节选)
Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port Process
tcp LISTEN 0 128 0.0.0.0:80 0.0.0.0:* users:(("nginx",pid=1124,fd=6))
tcp LISTEN 0 4096 127.0.0.1:6379 0.0.0.0:* users:(("redis-server",pid=1456,fd=7))
tcp LISTEN 0 100 0.0.0.0:8080 0.0.0.0:* users:(("java",pid=2044,fd=48))
lsof -i :8080
- 预期现象:8080 被占用时应显示 COMMAND、PID、USER 等字段。
示例输出(节选)
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
java 2044 tomcat 48u IPv4 0xa1b2 0t0 TCP *:http-alt (LISTEN)
配置与日志目录发现
find /etc -maxdepth 2 | egrep 'nginx|redis|tomcat|apache'
- 预期现象:存在对应配置目录时应输出目录路径。
示例输出(节选)
/etc/nginx
/etc/nginx/nginx.conf
/etc/nginx/conf.d
/etc/redis
/etc/redis/redis.conf
/etc/httpd
ls /var/log | egrep 'nginx|apache|redis'
- 预期现象:存在对应日志目录或日志文件时应输出名称。
示例输出(节选)
nginx
redis
进程识别提示
识别 java -jar、org.apache.catalina.startup.Bootstrap
- 预期现象:常作为 Tomcat 启动特征。
示例输出(节选)
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
识别 java weblogic.Server
- 预期现象:常作为 WebLogic 启动特征。
示例输出(节选)
weblogic 3102 1 3 Aug20 ? 00:12:07 /usr/bin/java -server -Xms512m -Xmx1024m weblogic.Server
识别 nginx: master process
- 预期现象:常作为 Nginx 主进程特征。
示例输出(节选)
root 1123 1 0 Aug20 ? 00:00:00 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
识别 beam.smp
- 预期现象:原始文档指出其可对应 Erlang 环境下的 RabbitMQ。
示例输出(节选)
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 ...