首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用postStart启动netdata,但未按预期工作

使用postStart启动netdata,但未按预期工作
EN

Stack Overflow用户
提问于 2019-07-18 10:20:36
回答 2查看 206关注 0票数 0

我们希望使用netdata来监视应用程序性能,但是没有更新每个应用程序映像,所以希望使用postStart挂钩来实现这一点。

我们可以使用postStart回显一些日志,但使用poststart无法成功启动netdata,配置如下:

代码语言:javascript
复制
    image: 10.18.210.178:40080/k8s-deploy/netdata:test4
    imagePullPolicy: IfNotPresent
    lifecycle:
      postStart:
        exec:
          command:
          - /bin/sh
          - -c
          - sleep 10; /usr/sbin/netdata -p 19999 -u ssdepg

但是netdata可以在不使用sleep 10命令的情况下启动:

代码语言:javascript
复制
    image: 10.18.210.178:40080/k8s-deploy/netdata:test4
    imagePullPolicy: IfNotPresent
    lifecycle:
      postStart:
        exec:
          command:
          - /bin/sh
          - -c
          - /usr/sbin/netdata -p 19999 -u ssdepg

有了这两种配置,应用程序POD可以进入运行状态,唯一的区别是我们看不到第一种情况下的netdata进程。

pod describe、netdata日志或k8s日志没有任何错误指示。

有没有专家能给我们一些提示为什么睡眠会导致这种情况。

需要澄清的是,命令行使用没有任何问题,请参阅netdata日志,如下所示,它是由k8s通过postStart启动的,但没有成功(无法通过"ps“命令找到进程)。

代码语言:javascript
复制
2019-07-18 08:44:59: netdata INFO  : MAIN : Executing /usr/libexec/netdata/plugins.d/system-info.sh
2019-07-18 08:44:59: netdata INFO  : MAIN : NETDATA_SYSTEM_OS_NAME="CentOS Linux"
2019-07-18 08:44:59: netdata INFO  : MAIN : NETDATA_SYSTEM_OS_ID=centos
2019-07-18 08:44:59: netdata INFO  : MAIN : NETDATA_SYSTEM_OS_ID_LIKE=rhel fedora
2019-07-18 08:44:59: netdata INFO  : MAIN : NETDATA_SYSTEM_OS_VERSION=7 (Core)
2019-07-18 08:44:59: netdata INFO  : MAIN : NETDATA_SYSTEM_OS_VERSION_ID=7
2019-07-18 08:44:59: netdata INFO  : MAIN : NETDATA_SYSTEM_OS_DETECTION=/etc/os-release
2019-07-18 08:44:59: netdata INFO  : MAIN : NETDATA_SYSTEM_KERNEL_NAME=Linux
2019-07-18 08:44:59: netdata INFO  : MAIN : NETDATA_SYSTEM_KERNEL_VERSION=3.10.0-327.el7.x86_64
2019-07-18 08:44:59: netdata INFO  : MAIN : NETDATA_SYSTEM_ARCHITECTURE=x86_64
2019-07-18 08:44:59: netdata INFO  : MAIN : NETDATA_SYSTEM_VIRTUALIZATION=none
2019-07-18 08:44:59: netdata INFO  : MAIN : NETDATA_SYSTEM_VIRT_DETECTION=systemd-detect-virt
2019-07-18 08:44:59: netdata INFO  : MAIN : NETDATA_SYSTEM_CONTAINER=none
2019-07-18 08:44:59: netdata INFO  : MAIN : NETDATA_SYSTEM_CONTAINER_DETECTION=systemd-detect-virt
2019-07-18 08:44:59: netdata INFO  : MAIN : /usr/libexec/netdata/plugins.d/anonymous-statistics.sh 'START' '-' '-'
2019-07-18 08:45:01: netdata ERROR : MAIN : child pid 56 exited with code 28.
2019-07-18 08:45:01: netdata INFO  : MAIN : resources control: allowed file descriptors: soft = 655360, max = 655360
2019-07-18 08:45:01: netdata INFO  : MAIN : Out-Of-Memory (OOM) score is already set to the wanted value 999
2019-07-18 08:45:01: netdata INFO  : MAIN : Adjusted netdata scheduling policy to idle (5), with priority 0.
2019-07-18 08:45:01: netdata INFO  : MAIN : Running with process scheduling policy 'idle'
2019-07-18 08:45:01: netdata INFO  : MAIN : netdata started on pid 83.
2019-07-18 08:45:01: netdata INFO  : MAIN : CONFIG: cannot load user config '/etc/netdata/stream.conf'. Will try stock config.
2019-07-18 08:45:01: netdata INFO  : MAIN : Host 'nginx-test-0717-1003812089-288d5' (at registry as 'nginx-test-0717-1003812089-288d5') with guid '54cb87fe-a938-11e9-8cc8-ca282c4f3765' initialized, os 'linux', 
timezone 'UTC', tags '', program_name 'netdata', program_version 'v1.15.0', update every 5, memory mode save, history entries 924, streaming disabled (to '' with api key ''), health disabled, cache_dir '/var/ca
che/netdata', varlib_dir '/var/lib/netdata', health_log '/var/lib/netdata/health/health-log.db', alarms default handler '/usr/libexec/netdata/plugins.d/alarm-notify.sh', alarms default recipient 'root'
2019-07-18 08:45:01: netdata INFO  : MAIN : SYSTEM_INFO: free 0x1057e90
2019-07-18 08:45:01: netdata INFO  : PLUGIN[proc] : thread created with task id 84
2019-07-18 08:45:01: netdata INFO  : STATSD : thread created with task id 85
2019-07-18 08:45:01: netdata INFO  : BACKENDS : thread created with task id 86
2019-07-18 08:45:01: netdata INFO  : WEB_SERVER[static1] : thread created with task id 87
2019-07-18 08:45:01: netdata INFO  : MAIN : netdata initialization completed. Enjoy real-time performance monitoring!
2019-07-18 08:45:01: netdata INFO  : HEALTH : thread created with task id 89
2019-07-18 08:45:01: netdata INFO  : PLUGINSD : thread created with task id 88
2019-07-18 08:45:01: netdata INFO  : PLUGINSD[apps] : thread created with task id 90
2019-07-18 08:45:01: netdata ERROR : PLUGINSD : cannot open plugins directory '/etc/netdata/custom-plugins.d' (errno 2, No such file or directory)
2019-07-18 08:45:01: netdata INFO  : PLUGINSD[apps] : connected to '/usr/libexec/netdata/plugins.d/apps.plugin' running on pid 91
2019-07-18 08:45:01: netdata INFO  : WEB_SERVER[static1] : 2019-07-18 08:45:01: apps.plugin ERROR : MAIN : PROCFILE: Cannot open file '/etc/netdata/apps_groups.conf' (errno 2, No such file or directory)
2019-07-18 08:45:01: apps.plugin INFO  : MAIN : Cannot read process groups configuration file '/etc/netdata/apps_groups.conf'. Will try '/usr/lib/netdata/conf.d/apps_groups.conf'
2019-07-18 08:45:01: apps.plugin INFO  : MAIN : Loaded config file '/usr/lib/netdata/conf.d/apps_groups.conf'
2019-07-18 08:45:01: apps.plugin INFO  : MAIN : started on pid 91
EN

回答 2

Stack Overflow用户

发布于 2019-07-18 15:04:26

这是可行的

代码语言:javascript
复制
    command:
    - bash
    - "-c"
    - |
      sleep 10 
      /usr/sbin/netdata -p 19999 -u ssdepg
票数 0
EN

Stack Overflow用户

发布于 2019-07-18 17:10:19

根据官方K8s documentation的建议,这是值得的

代码语言:javascript
复制
image: 10.18.210.178:40080/k8s-deploy/netdata:test4
imagePullPolicy: IfNotPresent
lifecycle:
  postStart:
    exec:
      command: ["/bin/sh", "-c", "sleep 10; /usr/sbin/netdata -p 19999 -u ssdepg"
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57086258

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档