<?xml version="1.0" encoding="UTF-8" ?>

<bugzilla version="5.2"
          urlbase="https://bugzilla.altlinux.org/"
          
          maintainer="jenya@basealt.ru"
>

    <bug>
          <bug_id>36454</bug_id>
          
          <creation_ts>2019-03-29 22:44:47 +0300</creation_ts>
          <short_desc>3.20.1-alt4 не работает при запущенном systemd</short_desc>
          <delta_ts>2019-11-04 10:57:22 +0300</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>4</classification_id>
          <classification>Development</classification>
          <product>Sisyphus</product>
          <component>syslog-ng</component>
          <version>unstable</version>
          <rep_platform>all</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>CLOSED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P3</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Sergey Y. Afonin">asy</reporter>
          <assigned_to name="Sergey Y. Afonin">asy</assigned_to>
          <cc>asy</cc>
    
    <cc>enp</cc>
    
    <cc>grenka</cc>
    
    <cc>shaba</cc>
          
          <qa_contact>qa-sisyphus</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>180180</commentid>
    <comment_count>0</comment_count>
    <who name="Sergey Y. Afonin">asy</who>
    <bug_when>2019-03-29 22:44:47 +0300</bug_when>
    <thetext>Был такой баг: Bug 31799 - systemd compability and syslog-common dependency

Добрался я до установки нового syslog-ng в систему с systemd, и что-то у меня не особо работает, как хотелось бы. Пробую, правда, в p8 пока.

Есть syslog-ng 3.20.1-alt4 из задания 224120 (бакпорт в p8), и что-то я не вижу логов. Запущен процесс 

/sbin/syslog-ng -F --pidfile /var/run/syslog-ng.pid

но в логах тишина. Если, скажем, logger &quot;test&quot; написать. Если поставить syslog-ng 3.8.1-alt1 (где про systemd ещё ничего не было), то всё работает. Эксперимент весь, как написал уже, в p8. В /etc/systemd/journald.conf написано

Storage=none
ForwardToSyslog=yes

Вешаю не на себя пока, так как с systemd всё ещё не очень готов связываться. И ещё момент. В init-скрипте при рестарте делается проверка конфига и рестрт не выполняется, если что-то пошло не так:

do_config_sanity_check()
{
        action &quot;Checking syslog-ng configuration:&quot; &quot;$DAEMON&quot; -s || exit
}

restart()
{
        do_config_sanity_check
        stop
        start
}

В unit-файле это как-то можно сделать?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>180182</commentid>
    <comment_count>1</comment_count>
      <attachid>8062</attachid>
    <who name="Sergey Y. Afonin">asy</who>
    <bug_when>2019-03-30 00:12:01 +0300</bug_when>
    <thetext>Created attachment 8062
для правильного %def_disable systemd

Начинает работать, как надо, если собрать с %def_disable systemd (без libsystemd-devel то есть), только там всё равно unit-файл пакуется, и работает как-то не так:

# service syslog-ng restart
Job for syslog-ng.service failed because a timeout was exceeded.
See &quot;systemctl status syslog-ng.service&quot; and &quot;journalctl -xe&quot; for details.

Для %def_disable systemd надо этот патчик добавить.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>180184</commentid>
    <comment_count>2</comment_count>
    <who name="Alexey Shabalin">shaba</who>
    <bug_when>2019-03-30 01:35:46 +0300</bug_when>
    <thetext>(В ответ на комментарий №1)
&gt; Created an attachment (id=8062) [details]
&gt; для правильного %def_disable systemd
&gt; 
&gt; Начинает работать, как надо, если собрать с %def_disable systemd (без
&gt; libsystemd-devel то есть), только там всё равно unit-файл пакуется, и работает
&gt; как-то не так:
&gt; 
&gt; # service syslog-ng restart
&gt; Job for syslog-ng.service failed because a timeout was exceeded.
&gt; See &quot;systemctl status syslog-ng.service&quot; and &quot;journalctl -xe&quot; for details.
&gt; 
&gt; Для %def_disable systemd надо этот патчик добавить.

У меня ощущение, что Вы делаете что-то совсем не правильно.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>180190</commentid>
    <comment_count>3</comment_count>
    <who name="Sergey Y. Afonin">asy</who>
    <bug_when>2019-03-30 09:23:30 +0300</bug_when>
    <thetext>(In reply to comment #2)

&gt; У меня ощущение, что Вы делаете что-то совсем не правильно.

Хотелось бы понять, что именно. Вроде всё просто - включил у journal вывод в syslog, запустил syslog-ng. Собранный без libsystemd-devel работает, как ожидалось, а вот собранный с libsystemd-devel пишет в лог только свои сообщения, статистику например. Может, конечно, это у самого syslog-ng что-то как-то так задумано, но в документации пока ничего особенного про какие-нибудь опции, связанные с systemd, не увидел. Спрошу ещё в рассылке балабитовской.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>180192</commentid>
    <comment_count>4</comment_count>
    <who name="Sergey Y. Afonin">asy</who>
    <bug_when>2019-03-30 09:33:24 +0300</bug_when>
    <thetext>(In reply to comment #0)

&gt; И ещё момент. В init-скрипте при рестарте делается проверка
&gt; конфига и рестрт не выполняется, если что-то пошло не так

Вообще, пусть отдельно висит: Bug 36458</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>180205</commentid>
    <comment_count>5</comment_count>
    <who name="Sergey Y. Afonin">asy</who>
    <bug_when>2019-03-30 15:56:22 +0300</bug_when>
    <thetext>Даже когда собрано без libsystemd-devel и, в основном, работает, некотрые сообщения до syslog, всё-таки, не долетают: https://lists.altlinux.org/pipermail/devel/2019-March/207486.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>184829</commentid>
    <comment_count>6</comment_count>
    <who name="Sergey Y. Afonin">asy</who>
    <bug_when>2019-10-08 22:27:58 +0300</bug_when>
    <thetext>(In reply to comment #2)

&gt; У меня ощущение, что Вы делаете что-то совсем не правильно.

Да, &quot;кто-то&quot; точно делает что-то совсем неправильно... После досустановки syslog-ng-journal в лог попало интересное сообщение:

syslog-ng[18233]: [2019-10-08T23:09:14.708119] Using /dev/log Unix socket with systemd is not possible. Changing to systemd-syslog source, which supports socket activation.;

После замены unix-dgram (&quot;/dev/log&quot;) на unix-dgram (&quot;/run/systemd/journal/dev-log&quot;) всё заработало (и без syslog-ng-journal). И я так понимаю, что разработчики systemd и этот баг за баг не посчитают.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>184874</commentid>
    <comment_count>7</comment_count>
    <who name="Sergey Y. Afonin">asy</who>
    <bug_when>2019-10-10 20:06:55 +0300</bug_when>
    <thetext>У syslog-ng в какой-то момент появился драйвер источника system(), который умеет выбирать, откуда следует доставать информацию. Пишут, что в 3.6+/3.7+, но в p8 с 3.8.1 тоже не работает. Зато работает в p9 c теперь уже 3.22.1, хотя может и с  3.20.1 работало бы. Сейчас правильная конфигурация источника по-умолчанию выглядеть должна так, судя по всему:

source sys {
    file (&quot;/proc/kmsg&quot; program-override(&quot;kernel&quot;) flags(kernel));
    system();
};

При этом syslog-ng нормально пишет логи как с sysvinit, так и с journal. При наличии systemd-journald требуется ещё доустановить пакет syslog-ng-journal:

# syslog-ng -s
Error parsing source statement, source plugin systemd-journal not found in source generator system

При этом, похоже, syslog-ng полностью не зависит от настроек в /etc/systemd/journald.conf, то есть достаёт логи даже с

[Journal]
Storage=
ForwardToSyslog=no

Либо journald работает не так, как предполагает конфигурационный файл. Это косвенно подтверждается тем, что если поменять конфигурацию и перезапустить systemd-journald, часть сообщений до syslog-ng долетать перестаёт, и вернуть их возвратом конфигурации и перезапуском это уже не получается, только перезагрузкой.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>184881</commentid>
    <comment_count>8</comment_count>
    <who name="Sergey Y. Afonin">asy</who>
    <bug_when>2019-10-10 23:00:15 +0300</bug_when>
    <thetext>(In reply to comment #7)

&gt; [Journal]
&gt; Storage=
&gt; ForwardToSyslog=no

В этом месте я ошибся. &quot;Storage=&quot; - это не &quot;Storage=no&quot;, а &quot;Storage=auto&quot;. Но и с 

[Journal]
Storage=no
ForwardToSyslog=no

Syslog-ng сообщения откуда-то достаёт.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>184885</commentid>
    <comment_count>9</comment_count>
    <who name="Repository Robot">repository-robot</who>
    <bug_when>2019-10-11 22:25:05 +0300</bug_when>
    <thetext>syslog-ng-3.24.1-alt1 -&gt; sisyphus:

Fri Oct 11 2019 Sergey Y. Afonin &lt;asy@altlinux&gt; 3.24.1-alt1
- 3.24.1
- built syslog-ng-geoip2 instead of syslog-ng-geoip
- switched to python3-dev
- syslog-ng.conf:
  + used system() source instead of unix-dgram (&quot;/dev/log&quot;) (ALT #36454)
  + logging own Syslog-ng&apos;s messages to /var/log/syslog/syslog-ng</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>185295</commentid>
    <comment_count>10</comment_count>
    <who name="Sergey Y. Afonin">asy</who>
    <bug_when>2019-11-04 10:57:22 +0300</bug_when>
    <thetext>(In reply to comment #9)

&gt; - syslog-ng.conf:
&gt;   + used system() source instead of unix-dgram (&quot;/dev/log&quot;) (ALT #36454)

И надо доустановить пакет syslog-ng-journal в случае использования с systemd.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>8062</attachid>
            <date>2019-03-30 00:12:01 +0300</date>
            <delta_ts>2019-03-30 00:12:01 +0300</delta_ts>
            <desc>для правильного %def_disable systemd</desc>
            <filename>def_disable-systemd.patch</filename>
            <type>text/plain</type>
            <size>1168</size>
            <attacher name="Sergey Y. Afonin">asy</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL2FsdGxpbnV4L3N5c2xvZy1uZy5zcGVjIGIvYWx0bGludXgvc3lzbG9nLW5n
LnNwZWMKaW5kZXggZGY0Nzg4NC4uZDYzNTQwZSAxMDA2NDQKLS0tIGEvYWx0bGludXgvc3lzbG9n
LW5nLnNwZWMKKysrIGIvYWx0bGludXgvc3lzbG9nLW5nLnNwZWMKQEAgLTIyNSw3ICsyMjUsOSBA
QCBza2lwX3N1Ym1vZHVsZXM9MSAuL2F1dG9nZW4uc2gKICAtLXdpdGgtaXZ5a2lzPXN5c3RlbSBc
CiAgLS13aXRoLXBpZGZpbGUtZGlyPS92YXIvcnVuIFwKICAtLXdpdGgtbW9kdWxlLWRpcj0lX2xp
YmRpci8lbmFtZSBcCislaWZfZW5hYmxlZCBzeXN0ZW1kCiAgLS13aXRoLXN5c3RlbWRzeXN0ZW11
bml0ZGlyPSVfdW5pdGRpciBcCislZW5kaWYKICAtLWVuYWJsZS1pcHY2IFwKICAtLWVuYWJsZS1k
eW5hbWljLWxpbmtpbmcgXAogIC0tZW5hYmxlLXNwb29mLXNvdXJjZSBcCkBAIC0yNzgsNyArMjgw
LDkgQEAgc2VkICJzL0B2ZXJALyRWRVIvIiAtaSBhbHRsaW51eC9jb25mLmQuZXhhbXBsZS8qLmNv
bmYKIHNlZCAnL3NjbFwvXCpcL1wqLmNvbmYve3N8fCVfZGF0YWRpci8lbmFtZS9pbmNsdWRlL3Nj
bC8qLyouY29uZnw7aH07JHt4Oy8uL3t4O3EwfTt4O3ExfScgLWkgJWJ1aWxkcm9vdCVfc3lzY29u
ZmRpci8lbmFtZS9zY2wuY29uZgogCiBpbnN0YWxsIC1tNjQwIC1EIC1wIGFsdGxpbnV4LyVuYW1l
LnN5c2NvbmZpZyAlYnVpbGRyb290JV9zeXNjb25mZGlyL3N5c2NvbmZpZy8lbmFtZQorJWlmX2Vu
YWJsZWQgc3lzdGVtZAogaW5zdGFsbCAtbTY0NCAtRCAtcCBhbHRsaW51eC8lbmFtZS5zZXJ2aWNl
ICVidWlsZHJvb3QlX3VuaXRkaXIvJW5hbWUuc2VydmljZQorJWVuZGlmCiBybSAtZiAlYnVpbGRy
b290JV91bml0ZGlyLyV7bmFtZX1ALnNlcnZpY2UKIAogaW5zdGFsbCAtbTY0NCAtcCBjb25maWcu
aCAlYnVpbGRyb290JV9pbmNsdWRlZGlyLyVuYW1lCkBAIC0zMjQsNyArMzI4LDkgQEAgZmkKICVj
b25maWcobm9yZXBsYWNlKSAlX3N5c2NvbmZkaXIvJW5hbWUvJW5hbWUuY29uZgogJWNvbmZpZyhu
b3JlcGxhY2UpICVfc3lzY29uZmRpci9zeXNjb25maWcvJW5hbWUKICVfaW5pdGRpci8lbmFtZQor
JWlmX2VuYWJsZWQgc3lzdGVtZAogJV91bml0ZGlyLyVuYW1lLnNlcnZpY2UKKyVlbmRpZgogCiAv
c2Jpbi8lbmFtZQogL3NiaW4vJW5hbWUtY3RsCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>