Collectd.service를 시작할 때 "활성: 활성화(자동 다시 시작)" 문제를 해결하는 방법은 무엇입니까?

Collectd.service를 시작할 때 "활성: 활성화(자동 다시 시작)" 문제를 해결하는 방법은 무엇입니까?

실행하는 데 문제가 있습니다.수집 서비스명령을 통해 설치한 Fedora 31 64비트 운영 체제 sudo dnf install collectd. 이것을 입력하면 sudo systemctl status collectd.service다음과 같은 결과가 나타납니다.

    ● collectd.service - statistics collection daemon
       Loaded: loaded (/etc/systemd/system/collectd.service; enabled; vendor preset: disabled)
       Active: activating (auto-restart) since Sat 2020-09-19 18:18:47 CEST; 3s ago
         Docs: man:collectd(1)
      Process: 3796 ExecStart=/usr/sbin/collectd (code=exited, status=0/SUCCESS)
     Main PID: 3796 (code=exited, status=0/SUCCESS)
          CPU: 7ms

collectd.service그런데, 다음 위치에 있는 파일을 수동으로 생성해야 했습니다 ./etc/systemd/system/목차. 정말 이상한 점은 계속해서활성화(자동 다시 시작) 상태=0/성공위에서 언급한 출력에서. 또한 다음 명령을 각각의 순서대로 실행했습니다.

  1. sudo systemctl daemon-reload
  2. sudo systemctl stop collectd.service
  3. sudo systemctl start collectd.service

...하지만 아무것도 바뀌지 않았습니다. 이 모든 작업을 수행한 후 컴퓨터를 다시 시작하고 언급된 1)-3) 단계를 모두 수행했지만 아무 도움도 되지 않았습니다. 그건 그렇고, 이것은 내 것입니다 collectd.service:

[Unit]
Description=statistics collection daemon
Documentation=man:collectd(1)
After=local-fs.target network.target
Requires=local-fs.target network.target

[Service]
ExecStart=/usr/sbin/collectd
Restart=always
RestartSec=10
StandardOutput=syslog
StandardError=syslog

[Install]
WantedBy=multi-user.target

/etc/collectd.conf파일은 다음과 같습니다.

#
# Config file for collectd(1).
# Please read collectd.conf(5) for a list of options.
# http://collectd.org/
#

##############################################################################
# Global                                                                     #
#----------------------------------------------------------------------------#
# Global settings for the daemon.                                            #
##############################################################################

#Hostname    "localhost"
FQDNLookup   true
#BaseDir     "/var/lib/collectd"
#PIDFile     "/var/run/collectd.pid"
PluginDir   "/usr/lib64/collectd"
TypesDB     "/usr/share/collectd/types.db"

LoadPlugin cpu

<Plugin cpu>
  ReportByCpu false
  ReportByState false
#  Interval 1
  ValuesPercentage true
#  ReportNumCpu false
#  ReportGuestState false
#  SubtractGuestState true
</Plugin>

<Plugin memory>
        ValuesAbsolute false
        ValuesPercentage true
</Plugin>

Include "/etc/collectd.d"
LoadPlugin syslog
LoadPlugin logfile
#LoadPlugin log_logstash

<Plugin logfile>
        LogLevel info
        File "/var/log/error_syslog"
        Timestamp true
#       PrintSeverity false
</Plugin>

#<Plugin log_logstash>
#       LogLevel info
#       File "/var/log/collectd.json.log"
#</Plugin>

<Plugin syslog>
        LogLevel info
</Plugin>
Include "/etc/collectd.d"

이 문제를 해결하는 방법에 대한 올바른 방향을 알려주거나 조언해 주시면 대단히 감사하겠습니다.

답변1

collectd설명서에 나와 있듯이-f, 명령줄 옵션을 사용하거나 서비스 단위에서 (및 no)를 Type=simple사용해야 합니다.Type=notify-fCollectd에 포함된 샘플 서비스 단위이 작업을 수행.

답변2

ExecStart몇 가지 "실험" 후에 솔루션을 찾고 파일 의 속성을 편집하여 Collectd.service를 실행할 수 있었습니다. /etc/systemd/system/collectd.service이제 언급된 파일은 다음과 같습니다.

[Unit]
Description=statistics collection daemon
Documentation=man:collectd(1)
After=local-fs.target network.target
Requires=local-fs.target network.target

[Service]
ExecStart=/usr/sbin/collectd
Restart=always
RestartSec=10
StandardOutput=syslog
StandardError=syslog
Type=notify


[Install]
WantedBy=multi-user.target

@JdeBP가 답변에서 제안한 대로 변경되었습니다. 또한 표시기 값 생성 간격을 지정합니다.CPU플러그인으로 로드했습니다.상표Interval다음과 같이 지표가 1초마다 생성되도록 지정합니다 .

<LoadPlugin cpu> 
   Interval 1
</LoadPlugin cpu>

...다음과 같은 기본 형식 대신: LoadPlugin cpu.그런데 플러그인 로딩은 파일에 지정됩니다 /etc/collectd.conf(페도라31운영 체제). Interval속성이...</plugin cpu> 태그 아래에 지정된 경우수집.서비스시작되지 않습니다(문제는 다음을 참조하세요). https://github.com/collectd/collectd/issues/2444). 더 많은 정보를 원하시면 방문해주세요공식 문서, 하지만 조금 지저분하고 이해하기 어렵습니다.

이 상황에 직면한 모든 사람에게 도움이 되기를 바랍니다. :)
건배!

관련 정보