netdata-openrc.in 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. #!/sbin/openrc-run
  2. # SPDX-License-Identifier: GPL-3.0-or-later
  3. # The user netdata is configured to run as.
  4. # If you edit its configuration file to set a different
  5. # user, set it here too, to have its files switch ownership
  6. : "${NETDATA_OWNER:=@netdata_user_POST@:@netdata_user_POST@}"
  7. # The timeout in seconds to wait for netdata
  8. # to save its database on disk and exit.
  9. : "${NETDATA_WAIT_EXIT_TIMEOUT:=60}"
  10. # When set to 1, if netdata does not exit in
  11. # NETDATA_WAIT_EXIT_TIMEOUT, we will force it
  12. # to exit.
  13. : "${NETDATA_FORCE_EXIT:=0}"
  14. # When set to 1, we use netdatacli for reload/rotate/save commands instead of s-s-d.
  15. : "${NETDATA_USE_NETDATACLI:=0}"
  16. # Specifies the pidfile to use when running in the background.
  17. : "${NETDATA_PIDFILE:=@localstatedir_POST@/run/netdata/netdata.pid}"
  18. extra_started_commands="reload rotate save"
  19. command_prefix="@sbindir_POST@"
  20. command="${command_prefix}/netdata"
  21. command_args="-P ${NETDATA_PIDFILE} ${NETDATA_EXTRA_ARGS}"
  22. command_args_foreground="-D"
  23. start_stop_daemon_args="-u ${NETDATA_OWNER}"
  24. if [ "${NETDATA_FORCE_EXIT}" -eq 1 ]; then
  25. retry="TERM/${NETDATA_WAIT_EXIT_TIMEOUT}/KILL/1"
  26. else
  27. retry="TERM/${NETDATA_WAIT_EXIT_TIMEOUT}"
  28. fi
  29. depend() {
  30. use logger
  31. need net
  32. after apache2 squid nginx mysql named opensips upsd hostapd postfix lm_sensors
  33. }
  34. start_pre() {
  35. checkpath -o ${NETDATA_OWNER} -d @localstatedir_POST@/cache/netdata @localstatedir_POST@/run/netdata
  36. if [ -z "${supervisor}" ]; then
  37. pidfile="${NETDATA_PIDFILE}"
  38. fi
  39. }
  40. run_cmd() {
  41. cmd="${1}"
  42. msg="${2}"
  43. failmsg="${3}"
  44. signal="${4}"
  45. ebegin "${msg}"
  46. if [ "${NETDATA_USE_NETDATACLI}" = 1 ]; then
  47. "${command_prefix}/netdatacli" "${cmd}" >/dev/null
  48. eend $? "${failmsg}"
  49. elif [ "${supervisor}" = "supervise-daemon" ]; then
  50. supervise-daemon "${RC_SVCNAME}" --signal "${signal}"
  51. eend $? "${failmsg}"
  52. else
  53. start-stop-daemon --signal "${signal}" --pidfile "${pidfile}"
  54. eend $? "${failmsg}"
  55. fi
  56. }
  57. reload() {
  58. run_cmd reload-health \
  59. "Reloading Netdata health configuration" \
  60. "Failed to reload Netdata health configuration" \
  61. SIGUSR2
  62. }
  63. rotate() {
  64. run_cmd reopen-logs \
  65. "Reopening Netdata log files" \
  66. "Failed to reopen Netdata log files" \
  67. SIGHUP
  68. }
  69. save() {
  70. run_cmd save-database \
  71. "Saving Netdata database" \
  72. "Failed to save Netdata database" \
  73. SIGUSR1
  74. }