Docker运维之端口、进程、资源使用、日志管理

标签: Docker运维之端口、进程、资源使用、日志管理 Docker运维 Docker知识 linux运维之Docker
59人阅读 评论(0) 收藏 举报
分类:

二、Docker-Linux运维

1.端口

在registry节点使用netstat命令查询仓库监听端口号,查询完毕后通过lsof命令(如命令不存在则手工安装)查询使用此端口号的进程。将以上所有操作命令和输出结果以文本形式提交到命令行界面。

[root@registry ~]# netstat -ntpl

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:22              0.0.0.0:*               LISTEN      724/sshd           

tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      802/master         

tcp6       0      0 :::5000                 :::*                    LISTEN      21423/docker-proxy 

tcp6       0      0 :::22                   :::*                    LISTEN      724/sshd           

tcp6       0      0 ::1:25                  :::*                    LISTEN      802/master 

[root@registry ~]# lsof  -i:5000

COMMAND   PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME

exe     21423 root    7u  IPv6 267372      0t0  TCP *:commplex-main (LISTEN)

2.进程

Registry节点通过lsof命令(如命令不存在则手工安装)查询/usr/bin/docker-current相关进程,并根据查询出来的进程号查询该进程所执行程序。将以上所有操作命令和输出结果以文本形式提交到命令行界面。

[root@registry ~]# lsof  /usr/bin/docker-current

COMMAND     PID USER  FD   TYPE DEVICE SIZE/OFF     NODE NAME

docker-cu  1492 root txt    REG  253,1 45797613 16903916 /usr/bin/docker-current

exe       21423 root txt    REG  253,1 45797613 16903916 /usr/bin/docker-current

[root@registry ~]# ps aux |grep 1492

root      1492  0.0  1.9 790336 40752 ?        Ssl  Feb13  31:08 /usr/bin/docker-current daemon --exec-opt native.cgroupdriver=systemd --selinux-enabled --log-driver=journald --add-registry 192.168.200.12:5000 --insecure-registry 192.168.200.12:5000

root     32269  0.0  0.0 112640   956 pts/0    S+   02:34   0:00 grep --color=auto 1492

[root@registry ~]# ps aux |grep 21423

root     21423  0.0  0.8 253880 16520 ?        Sl   Mar03   2:55 docker-proxy -proto tcp -host-ip 0.0.0.0 -host-port 5000 -container-ip 172.17.0.2 -container-port 5000

root     32271  0.0  0.0 112640   960 pts/0    S+   02:34   0:00 grep --color=auto 21423

3.资源使用

在registry节点通过netstat命令(如命令不存在则手工安装)查询docker镜像仓库PID,使用top命令查询上一步查询的的PID的资源使用情况。将以上所有操作命令和输出结果以文本形式提交到命令行界面。

[root@registry ~]# netstat -ntpl

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:22              0.0.0.0:*               LISTEN      724/sshd           

tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      802/master         

tcp6       0      0 :::5000                 :::*                    LISTEN      21423/docker-proxy 

tcp6       0      0 :::22                   :::*                    LISTEN      724/sshd           

tcp6       0      0 ::1:25                  :::*                    LISTEN      802/master 

[root@registry ~]# top -p 21423

top - 07:26:24 up 35 days,  3:06,  1 user,  load average: 0.00, 0.01, 0.05

Tasks:   1 total,   0 running,   1 sleeping,   0 stopped,   0 zombie

%Cpu(s):  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st

KiB Mem :  2049396 total,   118648 free,   127892 used,  1802856 buff/cache

KiB Swap:        0 total,        0 free,        0 used.  1721968 avail Mem

PID USER      PR  NI    VIRT    RES    SHR S %CPU %MEM     TIME+ COMMAND                                    

21423 root      20   0  253880  16520   7592 S  0.0  0.8   2:57.51 exe                                         

4.日志

在registry节点通过docker命令查询dockerregistry容器最后20条日志,将以上所有操作命令和输出结果以文本形式提交到命令行界面。

# docker logs --tail=20 940568599bb2

192.168.200.12 - - [29/Mar/2017:05:35:37 +0000] "GET /v2/ HTTP/1.1" 200 2 "" "docker/1.10.3 go/go1.6.3 git-commit/cb079f6-unsupported kernel/3.10.0-229.el7.x86_64 os/linux arch/amd64"

192.168.200.12 - - [29/Mar/2017:05:35:37 +0000] "GET /v1/search?q=swarm HTTP/1.1" 404 19 "" "docker/1.10.3 go/go1.6.3 git-commit/cb079f6-unsupported kernel/3.10.0-229.el7.x86_64 os/linux arch/amd64"

time="2017-03-29T05:35:49Z" level=info msg="response completed" go.version=go1.6.3 http.request.host="192.168.200.12:5000" http.request.id=7bc96c9d-e3a4-43fe-9f6f-1be0ad4e8fe3 http.request.method=GET http.request.remoteaddr="192.168.200.12:50872" http.request.uri="/v2/" http.request.useragent="docker/1.10.3 go/go1.6.3 git-commit/cb079f6-unsupported kernel/3.10.0-229.el7.x86_64 os/linux arch/amd64" http.response.contenttype="application/json; charset=utf-8" http.response.duration=1.946567ms http.response.status=200 http.response.written=2 instance.id=a5140eb2-63c4-40b1-8c88-24aff334bb6a version=v2.5.1

192.168.200.12 - - [29/Mar/2017:05:35:49 +0000] "GET /v2/ HTTP/1.1" 200 2 "" "docker/1.10.3 go/go1.6.3 git-commit/cb079f6-unsupported kernel/3.10.0-229.el7.x86_64 os/linux arch/amd64"

time="2017-03-29T05:35:49Z" level=error msg="response completed with error" err.code="manifest unknown" err.detail="unknown tag=latest" err.message="manifest unknown" go.version=go1.6.3 http.request.host="192.168.200.12:5000" http.request.id=466b5691-ea02-4b27-af3b-340fc69767a4 http.request.method=GET http.request.remoteaddr="192.168.200.12:50873" http.request.uri="/v2/swarm/manifests/latest" http.request.useragent="docker/1.10.3 go/go1.6.3 git-commit/cb079f6-unsupported kernel/3.10.0-229.el7.x86_64 os/linux arch/amd64" http.response.contenttype="application/json; charset=utf-8" http.response.duration=2.057137ms http.response.status=404 http.response.written=96 instance.id=a5140eb2-63c4-40b1-8c88-24aff334bb6a vars.name=swarm vars.reference=latest version=v2.5.1

192.168.200.12 - - [29/Mar/2017:05:35:49 +0000] "GET /v2/swarm/manifests/latest HTTP/1.1" 404 96 "" "docker/1.10.3 go/go1.6.3 git-commit/cb079f6-unsupported kernel/3.10.0-229.el7.x86_64 os/linux arch/amd64"

192.168.200.12 - - [29/Mar/2017:05:35:49 +0000] "GET /v1/repositories/swarm/images HTTP/1.1" 404 19 "" "docker/1.10.3 go/go1.6.3 git-commit/cb079f6-unsupported kernel/3.10.0-229.el7.x86_64 os/linux arch/amd64"

time="2017-03-29T06:10:09Z" level=info msg="PurgeUploads starting: olderThan=2017-03-22 06:10:09.06177115 +0000 UTC, actuallyDelete=true"

time="2017-03-29T06:10:09Z" level=info msg="Purge uploads finished.  Num deleted=0, num errors=0"

time="2017-03-29T06:10:09Z" level=info msg="Starting upload purge in 24h0m0s" go.version=go1.6.3 instance.id=a5140eb2-63c4-40b1-8c88-24aff334bb6a version=v2.5.1

查看评论

Linux运维笔记----日志管理

日志管理1.日志系统功能日志系统将我们系统运行的每一个状况信息都使用文字记录下来,这些信息有助我们观察系统运行过程中正常状态和系统运行错误时快速定位错误位置的途径等 操作系统在运行中会产生非常多的日志...
  • men_wen
  • men_wen
  • 2016-09-04 10:53:52
  • 2755

docker容器查看进程号码

我们知道,在一个容器内部,查看端口直接使用ps -aux命令,但是对于一个正在运行中的容器,我们怎么在客户端查看它的端口呢 我们可以使用这个命令:docker inspect -f {.State.P...
  • mrliqifeng
  • mrliqifeng
  • 2017-03-17 11:27:25
  • 2051

大规模Docker平台自动化监控之路

尽管Docker技术目前还处于不稳定的发展与标准制定阶段,但这门技术已经呈现了极其火热的增长状态,却已经是不争的实事。到底有多火热?让我们先来看一张来自国外监控公司DataDog 2016年最新调查报...
  • uyunopss
  • uyunopss
  • 2016-11-16 10:14:02
  • 1681

【实战】五个Docker监控工具的对比

【编者的话】这篇文章作者是Usman,他是服务器和基础架构工程师,有非常丰富的分布式构建经验。该篇文章主要分析评估了五种Docker监控工具,包括免费的和不免费的:Docker Stats、CAd...
  • u012369749
  • u012369749
  • 2015-12-17 15:50:22
  • 3005

Docker化运维方式讲解

应用迁移需求 应用运维需要考虑的一个重要问题就是迁移, 在不同机器、机房、环境间迁移。迁移的原因有很多, 比如硬件过保(硬件故障), 机房迁移, 应用扩缩容等。 应用迁移的核心需求是: 简单...
  • xiongshengwu
  • xiongshengwu
  • 2016-12-16 18:45:43
  • 1544

关于docker容器的监控

1 docker inspect [容器ID | 镜像ID] 查看容器创建时间、容器的IP、映射的端口、挂载的目录等信息。 此命令同样也能用来查看镜像的详细信息。2 docker stats 容器...
  • felix_yujing
  • felix_yujing
  • 2017-03-20 16:14:17
  • 1051

Docker实践—资源隔离和限制

Docker实践—资源隔离和限制 构建stress镜像 [root@controller ~]# cd /home/shangwu/tools/ [root@controller tools]# ...
  • shenzhen_zsw
  • shenzhen_zsw
  • 2017-07-08 00:13:41
  • 416

基于docker+kubernetes的一站式运维管理实践

2015年下半年,搜狐北京研发中心基于docker和kubernetes开发了一套企业级的一站式运维管理系统——DomeOS。该系统是一个持续交付和自动运维平台,解决用户从代码自动编译打包,到线上运行...
  • horsefoot
  • horsefoot
  • 2016-06-06 10:09:26
  • 19247

Docker背后:使用Linux Namespaces隔离系统的原理

通过使用诸如Docker, Linux Containers这样的工具,将Linux进程隔离到独立的系统环境中已经成为一件非常容易的事情。由于不需要使用传统的虚拟机,Docker使得大量不同的应用能够...
  • tongtest
  • tongtest
  • 2016-12-02 23:28:17
  • 1642

使用 docker 对容器资源进行限制

在使用 docker 运行容器时,一台主机上可能会运行几百个容器,这些容器虽然互相隔离,但是底层却使用着相同的 CPU、内存和磁盘资源。如果不对容器使用的资源进行限制,那么容器之间会互相影响,小的来说...
  • ChenVast
  • ChenVast
  • 2017-09-30 10:44:35
  • 1551
    个人资料
    持之以恒
    等级:
    访问量: 7961
    积分: 857
    排名: 6万+
    文章存档
    最新评论