Saya mencoba mengatur Graphite di server saya. Saya dapat memulai daemon Carbon Cache tanpa masalah sudo /opt/graphite/bin/carbon-cache.py start
, tapi saya kesulitan menjalankannya sebagai unit Systemd.
Inilah yang saya miliki di file layanan saya graphite.service
:
[Unit]
Description=Carbon for Graphite
[Service]
ExecStart=/opt/graphite/bin/carbon-cache.py start
[Install]
WantedBy=multi-user.target
Tetapi ketika saya memulai unit saya mendapatkan status berikut:
$ systemctl status graphite.service
* graphite.service - Carbon for Graphite
Loaded: loaded (/etc/systemd/system/graphite.service; enabled)
Active: inactive (dead) since Fri 2014-06-13 18:44:11 UTC; 2s ago
Process: 4525 ExecStart=/opt/graphite/bin/carbon-cache.py start (code=exited, status=0/SUCCESS)
Main PID: 4525 (code=exited, status=0/SUCCESS)
Jun 13 18:44:11 MEADOW systemd[1]: Started Carbon for Graphite.
Journalctl tidak menghasilkan informasi lebih lanjut.
Bagaimana cara menafsirkan dan men-debug unit dengan status "tidak aktif (mati) ... (kode = keluar, status = 0 / SUKSES)"? Saya pernah melihat unit yang gagal sebelumnya, tetapi yang ini berhasil dimuat namun tidak berjalan dan saya tidak tahu apa artinya.
Type=
pilihan? Lihatman systemd.service
jenis yang sesuai.Type=forking
ke[Service]
bagian.Jawaban:
Per komentar jasonwryan, sementara standarnya
Type=simple
berfungsi untuk banyak file layanan Systemd, itu tidak berfungsi ketika skrip dalamExecStart
meluncurkan proses lain dan selesai, seperti halnya dengan carbon-cache.py graphite. Dalam kasus ini, Anda perlu menentukan secara eksplisitType=forking
di[Service]
bagian sehingga Systemd tahu untuk melihat proses melahirkan daripada yang awal.Sebagaimana dijelaskan dalam
man systemd.service
:Jawaban Khusus Grafit
Sementara hal di atas menyelesaikan masalah Systemd saya, saya dengan cepat mengalami masalah khusus grafit (dengan Twisted) dan akhirnya kembali ke default
Type
.Grafit <0.9.12
Dalam versi Graphite sebelumnya, seseorang hanya dapat menghindari forking dengan menggunakan
--debug
opsi:Grafit> = 0.9.13
Dalam permintaan tarik ini sebuah
--no-daemon
pilihan yang dilebur:sumber