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)。より多くの情報が必要な場合は訪問してください公式文書しかし、少し汚れて理解するのは難しいです。

この状況に直面したすべての人に役立つことを願っています。 :)
乾杯!

関連情報