[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#23064: herd has incomplete status reporting, not so helpful
From: |
Ludovic Courtès |
Subject: |
bug#23064: herd has incomplete status reporting, not so helpful |
Date: |
Mon, 21 Mar 2016 09:35:41 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.5 (gnu/linux) |
Danny Milosavljevic <address@hidden> skribis:
>> Sounds like postgresql died and shepherd did not notice? Or maybe it
>> keeps trying to respawn it? What did /var/log/shepherd.log say?
>
> 2016-03-19 10:34:48 Service postgres has been started.
> 2016-03-19 10:34:49 Respawning postgres.
OK.
>> However, daemons can usually be told to write to syslog, which is more
>> appropriate than writing things to stdout/stderr anyway.
>
> It can always be unable to open syslog for some reason.
>
> If shepherd can't/doesn't redirect stderr on its own, it would be nice to
> have init write it somewhere and everyone else inherit it as default. Just
> throwing it away is not nice.
Agreed.
> But I agree, the chance of being able to write it to syslog is high. Btw: How
> does guixsd know to start the syslog service before the postgres service?
Syslogd is another Shepherd service, so all we need is to express this
dependency.
>>What’s the right command-line/configuration option to have postgresql use
>>syslog?
>
> The option is
>
> log_destination = 'syslog'
>
> in postgresql.conf
>
> which is generated in gnu/services/databases.scm (%default-postgres-config).
Could you try this and report back?
diff --git a/gnu/services/databases.scm b/gnu/services/databases.scm
index 6c3b829..690375e 100644
--- a/gnu/services/databases.scm
+++ b/gnu/services/databases.scm
@@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2015 David Thompson <address@hidden>
-;;; Copyright © 2015 Ludovic Courtès <address@hidden>
+;;; Copyright © 2015, 2016 Ludovic Courtès <address@hidden>
;;; Copyright © 2016 Leo Famulari <address@hidden>
;;;
;;; This file is part of GNU Guix.
@@ -56,6 +56,7 @@ host all all ::1/128 trust"))
(define %default-postgres-config
(mixed-text-file "postgresql.conf"
+ "log_destination = 'syslog'\n"
"hba_file = '" %default-postgres-hba "'\n"
"ident_file = '" %default-postgres-ident "'\n"))
@@ -116,7 +117,7 @@ host all all ::1/128 trust"))
(list (shepherd-service
(provision '(postgres))
(documentation "Run the PostgreSQL daemon.")
- (requirement '(user-processes loopback))
+ (requirement '(user-processes loopback syslogd))
(start #~(make-forkexec-constructor #$start-script))
(stop #~(make-kill-destructor))))))))
> Does shepherd back off from respawing it eventually (if it respawns too fast)
> or will it log the same messages into syslog once every 0.1 s until my disk
> is full? :->
Yes, it avoids respawning too fast.
Thanks,
Ludo’.
- bug#23064: herd has incomplete status reporting, not so helpful, Danny Milosavljevic, 2016/03/19
- bug#23064: herd has incomplete status reporting, not so helpful, Danny Milosavljevic, 2016/03/19
- bug#23064: herd has incomplete status reporting, not so helpful, Ludovic Courtès, 2016/03/19
- bug#23064: herd has incomplete status reporting, not so helpful, Danny Milosavljevic, 2016/03/19
- bug#23064: herd has incomplete status reporting, not so helpful,
Ludovic Courtès <=
- bug#23064: herd has incomplete status reporting, not so helpful, Danny Milosavljevic, 2016/03/22
- bug#23064: herd has incomplete status reporting, not so helpful, Ludovic Courtès, 2016/03/22
- bug#23064: herd has incomplete status reporting, not so helpful, Ludovic Courtès, 2016/03/23