실행하는 데 문제가 있습니다.수집 서비스명령을 통해 설치한 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/성공위에서 언급한 출력에서. 또한 다음 명령을 각각의 순서대로 실행했습니다.
sudo systemctl daemon-reload
sudo systemctl stop collectd.service
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
-f
Collectd에 포함된 샘플 서비스 단위이 작업을 수행.
답변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). 더 많은 정보를 원하시면 방문해주세요공식 문서, 하지만 조금 지저분하고 이해하기 어렵습니다.
이 상황에 직면한 모든 사람에게 도움이 되기를 바랍니다. :)
건배!