CentOS 7 환경에서 작성한 사용자 계정으로 filebeat (logstash 전달 용)를 얻으려고합니다. root 대신 filebeat. 나는 /etc/rc.d/init.d/filebeat
파일을 다음과 같이 편집하려고 시도했지만 아무 소용이 없습니다. 내가 잘못된 일을하고있을 수도 있지만 BASH 스크립팅에 대해 조금 새로운 점을 들었을 것입니다.logstash filebeat centos 용 서비스 계정
#!/bin/bash
#
# filebeat filebeat shipper
#
# chkconfig: 2345 98 02
#
### BEGIN INIT INFO
# Provides: filebeat
# Required-Start: $local_fs $network $syslog
# Required-Stop: $local_fs $network $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Sends log files to Logstash or directly to Elasticsearch.
# Description: filebeat is a shipper part of the Elastic Beats
# family. Please see: https://www.elastic.co/products/beats
### END INIT INFO
PATH=/usr/bin:/sbin:/bin:/usr/sbin
export PATH
[ -f /etc/sysconfig/filebeat ] && . /etc/sysconfig/filebeat
pidfile=${PIDFILE-/var/run/filebeat.pid}
agent=${PB_AGENT-/usr/bin/filebeat}
args="-c /etc/filebeat/filebeat.yml"
test_args="-e -configtest"
wrapper="filebeat-god"
wrapperopts="-r/-n -p $pidfile"
RETVAL=0
service_user="filebeat"
# Source function library.
. /etc/rc.d/init.d/functions
# Determine if we can use the -p option to daemon, killproc, and status.
# RHEL < 5 can't.
if status | grep -q -- '-p' 2>/dev/null; then
daemonopts="--user $service_user --group $service_group --pidfile $pidfile"
**chown -R $service_user /etc/filebeat || return 1
chown $service_user $pidfile || return 1
chmod g+w $pidfile || return 1**
pidopts="-p $pidfile"
touch
fi
은 이전에 내가 유사한 사용 filebeat 사용자 계정을 만든 : 나는 후자의 부분이 변경되지 않습니다, 나는 만 언급 한 파일의 첫 부분을 표시하고 간결하게 들어
here에 위치해 제안 구현 지침에 따라 시도 다음에 :
012 : 나는 시도하고 아직 시작 후 과정을 살펴 그러나useradd filebeat -u 5044 -c "Filebeat Service Account" -d /dev/null -s /sbin/nologin
, 루트가 소유 한 것으로 보여
[[email protected] ~]# ps -aef | grep filebeat
root 26030 1 0 13:16 ? 00:00:00 /usr/bin/filebeat -c /etc/filebeat/filebeat.yml
잘 모르겠지만 여기에있는 문서에서 볼 수 있습니다 : https://www.elastic.co/guide/en/beats/filebeat/current/configuration-run-options.html - Linux에서 Go 가비지 컬렉터의 루트로 실행중인 스레드가 하나 이상 있어야합니다. 다른 스레드의 경우 권한을 삭제해야합니다. 'ps -eLf' – alexK
@alexK를 사용하여 모든 스레드를 검사 할 수 있습니다. 문서 링크를 위해 당신을 upvoted했지만 runoptions 매개 변수를 테스트했을 때 제대로 작동하지 않았습니다. – user3614014