There is one instance per connection; they get cleaned up after a
successful stop, but accumulate on failures.

It seems that your service unit depends on firewalld, and firewalld is
masked (i.e. forbidden to start), so the service breaks due to dependency
failure.

Not sure where that dependency comes from – maybe you have a drop-in adding
this dependency, try "systemctl cat commandsocket_57813@.service". That
will show all files systemd reads, which might be more than one.

(Or maybe your distro patched it in for _all_ sockets? Wouldn't be
surprised.)

But in general, this doesn't seem a very reliable check. Do you care about
specific services, like HTTP? Then monitor *those* services instead. Do you
use this as theft detection? Power outage watch?

On Fri, May 5, 2017, 11:30 Robert Pilja <robert.pi...@1und1.de> wrote:

> Hello,
>
> i'm looking for help on debugging a systemd issue after upgrading our
> systems from RHEL 7.2 to 7.3 (systemd: 219-19.el7_2.9.ppc64 ->
> 219-30.el7_3.7.ppc64).
>
>
>
> We are using a custom socket unit which basically opens a tcp port and
> returns /bin/true to established connections.
>
> This unit provides an healthcheck/heartbeat mechanism used by our
> loadbalancer framework.
>
> For the last 1.5 years, this implementation worked flawless. Until now.
>
>
>
> Here is our config:
>
>
>
> /etc/systemd/system/commandsocket_57813@.service
>
>                 [Unit]
>
>                 Description=service for /bin/true ListenStream Port 57813
> host present check
>
>
>
>                 [Service]
>
>                 ExecStart=/bin/true
>
>                 StandardOutput=socket
>
>
>
> /etc/systemd/system/commandsocket_57813.socket
>
>                 [Unit]
>
>                 Description=Port 57813 socket for host present check
>
>
>
>                 [Socket]
>
>                 ListenStream=57813
>
>                 Accept=yes
>
>
>
>                 [Install]
>
>                 WantedBy=sockets.target
>
>
>
> ---
>
>
>
> journalctl:
>
>
>
> Apr 24 03:38:11 bscqs01.server.lan systemd[1]: Failed to start service for
> /bin/true ListenStream Port 57813 host present check.
>
> Apr 24 03:38:11 bscqs01.server.lan systemd[1]: Unit
> commandsocket_57813@65308-10.88.44.62:57813-10.88.44.27:51072.service
> entered failed state.
>
> Apr 24 03:38:11 bscqs01.server.lan systemd[1]:
> commandsocket_57813@65308-10.88.44.62:57813-10.88.44.27:51072.service
> failed.
>
> Apr 24 03:38:11 bscqs01.server.lan systemd[1]: Starting service for
> /bin/true ListenStream Port 57813 host present check...
>
> Apr 24 03:38:16 bscqs01.server.lan systemd[1]: Cannot add dependency job
> for unit firewalld.service, ignoring: Unit is masked.
>
> Apr 24 03:38:16 bscqs01.server.lan systemd[1]:
> commandsocket_57813@65309-10.88.44.62:57813-10.88.44.27:51161.service
> failed to run 'start' task: Transport endpoint is not connected
>
> Apr 24 03:38:16 bscqs01.server.lan systemd[1]: Failed to start service for
> /bin/true ListenStream Port 57813 host present check (10.88.44.27:51161).
>
> Apr 24 03:38:16 bscqs01.server.lan systemd[1]: Unit
> commandsocket_57813@65309-10.88.44.62:57813-10.88.44.27:51161.service
> entered failed state.
>
> Apr 24 03:38:16 bscqs01.server.lan systemd[1]:
> commandsocket_57813@65309-10.88.44.62:57813-10.88.44.27:51161.service
> failed.
>
> Apr 24 03:38:16 bscqs01.server.lan systemd[1]: Starting service for
> /bin/true ListenStream Port 57813 host present check (10.88.44.27:51161
> )...
>
> Apr 24 03:38:26 bscqs01.server.lan systemd[1]: Cannot add dependency job
> for unit firewalld.service, ignoring: Unit is masked.
>
> Apr 24 03:38:26 bscqs01.server.lan systemd[1]:
> commandsocket_57813@65310-10.88.44.62:57813-10.88.44.27:51346.service
> failed to run 'start' task: Transport endpoint is not connected
>
> Apr 24 03:38:26 bscqs01.server.lan systemd[1]: Failed to start service for
> /bin/true ListenStream Port 57813 host present check (10.88.44.27:51346).
>
> Apr 24 03:38:26 bscqs01.server.lan systemd[1]: Unit
> commandsocket_57813@65310-10.88.44.62:57813-10.88.44.27:51346.service
> entered failed state.
>
> Apr 24 03:38:26 bscqs01.server.lan systemd[1]:
> commandsocket_57813@65310-10.88.44.62:57813-10.88.44.27:51346.service
> failed.
>
> Apr 24 03:38:26 bscqs01.server.lan systemd[1]: Starting service for
> /bin/true ListenStream Port 57813 host present check (10.88.44.27:51346
> )...
>
> Apr 24 03:38:31 bscqs01.server.lan systemd[1]: Cannot add dependency job
> for unit firewalld.service, ignoring: Unit is masked.
>
> Apr 24 03:38:31 bscqs01.server.lan systemd[1]:
> commandsocket_57813@65311-10.88.44.62:57813-10.88.44.27:51435.service
> failed to run 'start' task: Transport endpoint is not connected
>
>
>
> --
>
>
>
> systemctl start commandsocket_57813.socket
>
>
>
> systemctl status commandsocket_57813.socket
>
> ● commandsocket_57813.socket - Port 57813 socket for host present check
>
>    Loaded: loaded (/etc/systemd/system/commandsocket_57813.socket;
> enabled; vendor preset: disabled)
>
>    Active: active (listening) since Fri 2017-05-05 08:48:48 CEST; 5s ago
>
>    Listen: [::]:57813 (Stream)
>
> Accepted: 65359; Connected: 0
>
>
>
> May 05 08:48:48 bscqs01.server.lan systemd[1]: Listening on Port 57813
> socket for host present check.
>
> May 05 08:48:48 bscqs01.server.lan systemd[1]: Starting Port 57813 socket
> for host present check.
>
>
>
> systemctl status commandsocket_57813.socket
>
> ● commandsocket_57813.socket - Port 57813 socket for host present check
>
>    Loaded: loaded (/etc/systemd/system/commandsocket_57813.socket;
> enabled; vendor preset: disabled)
>
>    Active: failed (Result: resources) since Fri 2017-05-05 08:48:54 CEST;
> 7s ago
>
>    Listen: [::]:57813 (Stream)
>
> Accepted: 65359; Connected: 0
>
>
>
> May 05 08:48:48 bscqs01.server.lan systemd[1]: Listening on Port 57813
> socket for host present check.
>
> May 05 08:48:48 bscqs01.server.lan systemd[1]: Starting Port 57813 socket
> for host present check.
>
> May 05 08:48:54 bscqs01.server.lan systemd[1]: commandsocket_57813.socket
> failed to queue service startup job (Maybe the service file is missing or
> not a template unit?): Argument list too long
>
> May 05 08:48:54 bscqs01.server.lan systemd[1]: Unit
> commandsocket_57813.socket entered failed state.
>
>
>
> --
>
>
>
> systemctl |grep commandsocket_57813:
>
> [...]
>
> ● commandsocket_57813@9991-10.88.44.62:57813-10.88.44.27:54933.service
> loaded failed failed    service for /bin/true ListenStream Port 57813 host
> present check (10.88.44.27:54933)
>
> ● commandsocket_57813@9992-10.88.44.62:57813-10.88.44.27:55028.service
> loaded failed failed    service for /bin/true ListenStream Port 57813 host
> present check (10.88.44.27:55028)
>
> ● commandsocket_57813@9993-10.88.44.62:57813-10.88.44.27:55119.service
>       loaded failed failed    service for /bin/true ListenStream Port 57813
> host present check (10.88.44.27:55119)
>
> ● commandsocket_57813@9994-10.88.44.62:57813-10.88.44.27:55207.service
> loaded failed failed    service for /bin/true ListenStream Port 57813 host
> present check (10.88.44.27:55207)
>
> ● commandsocket_57813@9995-10.88.44.62:57813-10.88.44.27:55302.service
> loaded failed failed    service for /bin/true ListenStream Port 57813 host
> present check (10.88.44.27:55302)
>
> ● commandsocket_57813@9996-10.88.44.62:57813-10.88.44.27:55393.service
> loaded failed failed    service for /bin/true ListenStream Port 57813 host
> present check (10.88.44.27:55393)
>
> ● commandsocket_57813@9997-10.88.44.62:57813-10.88.44.27:55481.service
> loaded failed failed    service for /bin/true ListenStream Port 57813 host
> present check (10.88.44.27:55481)
>
> ● commandsocket_57813@9998-10.88.44.62:57813-10.88.44.27:55576.service
> loaded failed failed    service for /bin/true ListenStream Port 57813 host
> present check (10.88.44.27:55576)
>
> ● commandsocket_57813@9999-10.88.44.62:57813-10.88.44.27:55667.service
> loaded failed failed    service for /bin/true ListenStream Port 57813 host
> present check (10.88.44.27:55667)
>
>
> system-commandsocket_57813.slice
> loaded active active    system-commandsocket_57813.slice
>
> ●
> commandsocket_57813.socket
> loaded failed failed    Port 57813 socket for host present check
>
>
>
> systemctl |grep commandsocket_57813 | wc -l:
>
> 65361
>
>
>
> Port number limit?
>
>
>
> ---
>
>
>
> Any idea on how to fix this problem?
>
>
>
> Do you think that our current unit implementation is a reasonable solution
> for providing healthchecks? Before systemd, we were using xinetd for that.
>
> Is this large number of additional entries
> (commandsocket_57813@9991-10.88.44.62:57813-10.88.44.27:54933.service
> etc.) normal? I have not seen them before the upgrade.
>
>
>
> Regards
>
> Robert
> _______________________________________________
> systemd-devel mailing list
> systemd-devel@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/systemd-devel
>
-- 

Mantas Mikulėnas <graw...@gmail.com>
Sent from my phone
_______________________________________________
systemd-devel mailing list
systemd-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/systemd-devel

Reply via email to