Problème de redirection de log

Problème de redirection de log - Installation - Linux et OS Alternatifs

Marsh Posté le 27-02-2009 à 13:43:44    

Bonjour à tous !
 
       Je rencontre un problème avec 2 logiciels: dhcpd et postfix. Etant donné que ces programmes polluent mon syslog, j'ai essayé cette configuration pour dhcpd:
 
 
J'ai ajouté ces lignes dans mon syslog.conf

Code :
  1. mail.*    -/var/log/mail.log
  2. local7.*                  /var/log/dhcpd.log


 
Ajouté celle ci dans mon dhcpd.conf:

Code :
  1. # Use this to send dhcp log messages to a different log file (you also
  2. # have to hack syslog.conf to complete the redirection).
  3. log-facility local7;


 
Maintenant dhcpd log les messages dans syslog ET dhcpd.conf, finalement je n'ai fait que déplacer (doublement) le problème. Il en est de même pour postfix. Puis-je résoudre ce problème uniquement avec syslog ?
 
Merci d'avance !
RedVivi

Reply

Marsh Posté le 27-02-2009 à 13:43:44   

Reply

Marsh Posté le 27-02-2009 à 13:46:08    

Regarde du coté de syslog-ng.


Message édité par o'gure le 27-02-2009 à 13:46:16

---------------
Relax. Take a deep breath !
Reply

Marsh Posté le 27-02-2009 à 13:57:23    

Ca ne risque pas de faire usine à gaz d'installer un nouveau gestionnaire de log pour 2 programmes ? Je me demandais si ça ne pouvais pas etre résolu avec une configuration simplement plus fine de syslog.conf ou des programmes dérangeants (le man ne m'aide pas trop à ce niveau là- ?

Reply

Marsh Posté le 27-02-2009 à 14:01:41    

syslog-ng remplace simplement ton syslog actuel. Syslog-ng n'est, du moins à ma connaissance, pas une usine à gaz. Il te permet une configuration beaucoup plus fine. Ca te coûte quoi de faire un

aptitude install syslog-ng

?


---------------
Relax. Take a deep breath !
Reply

Marsh Posté le 27-02-2009 à 16:38:59    

Pas grand chose, simplement que la syntaxe est plus complexe que syslogd, mes successeurs sont des bénévoles et l'administration système n'est pas leur métier ;-).  
 
Je galère en essayant de mettre en place un filtre qui envoie tout ce qui est inférieur à notice dans un fichier à part et le reste dans syslog mais c'est pas gagné :-(

Reply

Marsh Posté le 28-02-2009 à 17:09:06    

redvivi a écrit :

Bonjour à tous !
 
       Je rencontre un problème avec 2 logiciels: dhcpd et postfix. Etant donné que ces programmes polluent mon syslog, j'ai essayé cette configuration pour dhcpd:
 
 
J'ai ajouté ces lignes dans mon syslog.conf

Code :
  1. mail.*    -/var/log/mail.log
  2. local7.*                  /var/log/dhcpd.log


 
Ajouté celle ci dans mon dhcpd.conf:

Code :
  1. # Use this to send dhcp log messages to a different log file (you also
  2. # have to hack syslog.conf to complete the redirection).
  3. log-facility local7;


 
Maintenant dhcpd log les messages dans syslog ET dhcpd.conf, finalement je n'ai fait que déplacer (doublement) le problème. Il en est de même pour postfix. Puis-je résoudre ce problème uniquement avec syslog ?
 
Merci d'avance !
RedVivi


Bah dans ton syslog.conf, par défaut tu dois avoir une règle *.* vers le fichier /var/log/syslog
Tu as juste à dire de ne pas logguer ce qui vient de local7 (et mail pour postfix) :
*.*;auth,authpriv.none;mail.none;local7.none          -/var/log/syslog


---------------
Ce n'est point ma façon de penser qui a fait mon malheur, c'est celle des autres.
Reply

Marsh Posté le 02-03-2009 à 14:50:56    

Parfait ça fonctionne ! Merci !

Reply

Marsh Posté le 03-03-2009 à 22:43:30    

Finalement j'ai du installer syslog-ng, d'autres programmes me donnaient des problèmes difficiles à résoudre. Maintenant mon souci avec dhcpd est apparu malgré la configuration que j'ai ajoutée:
 

Code :
  1. destination df_dhcpd { file("/var/log/dhcpd.log" ); };
  2. filter f_dhcpd { program("dhcpd" ); };
  3. # dhcpd.*   /var/log/dhcpd.log
  4. log {
  5.         source(s_all);
  6. filter(f_dhcpd);
  7. destination(df_dhcpd);
  8. };


 
les messages sont dupliqués dans dhcpd.log et syslog malgré mes recherches  :??:  
 
Merci,
RedVivi
 

Reply

Marsh Posté le 03-03-2009 à 22:55:48    

ajoute flags(final);


---------------
uptime is for lousy system administrators what Viagra is for impotent people - mes unixeries - github me
Reply

Marsh Posté le 03-03-2009 à 23:55:14    

Non ça ne fonctionne toujours pas  :(


Message édité par redvivi le 03-03-2009 à 23:55:27
Reply

Marsh Posté le 03-03-2009 à 23:55:14   

Reply

Marsh Posté le 04-03-2009 à 09:51:14    

filter f_dhcpd { facility(local7); };
 
:??:


---------------
Ce n'est point ma façon de penser qui a fait mon malheur, c'est celle des autres.
Reply

Marsh Posté le 04-03-2009 à 09:56:46    

j'ai commenté la ligne dans dhcpd.conf afin de ne pas utiliser de facility particulier. Mais en théorie avec un filtre programme ça devrait fonctionner !?

Reply

Marsh Posté le 04-03-2009 à 09:58:22    

redvivi a écrit :

j'ai commenté la ligne dans dhcpd.conf afin de ne pas utiliser de facility particulier. Mais en théorie avec un filtre programme ça devrait fonctionner !?


j'utilise un filtre avec syslog-ng et ça ne se duplique pas :o


---------------
uptime is for lousy system administrators what Viagra is for impotent people - mes unixeries - github me
Reply

Marsh Posté le 04-03-2009 à 10:14:52    

T'as pas une régle qui aurait précédence et qui bloquerait la suite de l'execution ?

Message cité 1 fois
Message édité par e_esprit le 04-03-2009 à 10:14:59

---------------
Ce n'est point ma façon de penser qui a fait mon malheur, c'est celle des autres.
Reply

Marsh Posté le 04-03-2009 à 10:36:24    


log {
        source(s_udp_network);
        filter(f_dhcpd);
        destination(d_dhcpd);
        flags(final);
};


---------------
uptime is for lousy system administrators what Viagra is for impotent people - mes unixeries - github me
Reply

Marsh Posté le 04-03-2009 à 10:37:14    

e_esprit a écrit :

T'as pas une régle qui aurait précédence et qui bloquerait la suite de l'execution ?

 

Je suis désolé c'est un peu long. Voici mon syslog-ng.com mais je vois pas où ça peut bloquer:

Code :
  1. options {
  2.         # disable the chained hostname format in logs
  3.         # (default is enabled)
  4.         chain_hostnames(0);
  5.         # the time to wait before a died connection is re-established
  6.         # (default is 60)
  7.         time_reopen(10);
  8.         # the time to wait before an idle destination file is closed
  9.         # (default is 60)
  10.         time_reap(360);
  11.         # the number of lines fitting in the output queue
  12.         log_fifo_size(2048);
  13.         # enable or disable directory creation for destination files
  14.         create_dirs(yes);
  15.         # default owner, group, and permissions for log files
  16.         # (defaults are 0, 0, 0600)
  17.         #owner(root);
  18.         group(adm);
  19.         perm(0640);
  20.         # default owner, group, and permissions for created directories
  21.         # (defaults are 0, 0, 0700)
  22.         #dir_owner(root);
  23.         #dir_group(root);
  24.         dir_perm(0755);
  25.         # enable or disable DNS usage
  26.         # syslog-ng blocks on DNS queries, so enabling DNS may lead to
  27.         # a Denial of Service attack
  28.         # (default is yes)
  29.         use_dns(no);
  30.       #Disable statistic log messages.
  31. stats_freq(0);
  32. };
  33. ######
  34. # sources
  35. # all known message sources
  36. source s_all {
  37.         # message generated by Syslog-NG
  38.         internal();
  39.         # standard Linux log source (this is the default place for the syslog()
  40.         # function to send logs to)
  41.         unix-stream("/dev/log" );
  42.         # messages from the kernel
  43.         file("/proc/kmsg" log_prefix("kernel: " ));
  44.         # use the following line if you want to receive remote UDP logging messages
  45.         # (this is equivalent to the "-r" syslogd flag)
  46.         # udp();
  47. };
  48. ######
  49. # destinations
  50. # some standard log files
  51. destination df_auth { file("/var/log/auth.log" ); };
  52. destination df_syslog { file("/var/log/syslog" ); };
  53. destination df_cron { file("/var/log/cron.log" ); };
  54. destination df_daemon { file("/var/log/daemon.log" ); };
  55. destination df_kern { file("/var/log/kern.log" ); };
  56. destination df_lpr { file("/var/log/lpr.log" ); };
  57. destination df_mail { file("/var/log/mail.log" ); };
  58. destination df_user { file("/var/log/user.log" ); };
  59. destination df_uucp { file("/var/log/uucp.log" ); };
  60. destination df_dhcpd { file("/var/log/dhcpd.log" ); };
  61. # these files are meant for the mail system log files
  62. # and provide re-usable destinations for {mail,cron,...}.info,
  63. # {mail,cron,...}.notice, etc.
  64. destination df_facility_dot_info { file("/var/log/$FACILITY.info" ); };
  65. destination df_facility_dot_notice { file("/var/log/$FACILITY.notice" ); };
  66. destination df_facility_dot_warn { file("/var/log/$FACILITY.warn" ); };
  67. destination df_facility_dot_err { file("/var/log/$FACILITY.err" ); };
  68. destination df_facility_dot_crit { file("/var/log/$FACILITY.crit" ); };
  69. # these files are meant for the news system, and are kept separated
  70. # because they should be owned by "news" instead of "root"
  71. destination df_news_dot_notice { file("/var/log/news/news.notice" owner("news" )); };
  72. destination df_news_dot_err { file("/var/log/news/news.err" owner("news" )); };
  73. destination df_news_dot_crit { file("/var/log/news/news.crit" owner("news" )); };
  74. # some more classical and useful files found in standard syslog configurations
  75. destination df_debug { file("/var/log/debug" ); };
  76. destination df_messages { file("/var/log/messages" ); };
  77. # pipes
  78. # a console to view log messages under X
  79. destination dp_xconsole { pipe("/dev/xconsole" ); };
  80. # consoles
  81. # this will send messages to everyone logged in
  82. destination du_all { usertty("*" ); };
  83. ######
  84. # filters
  85. # all messages from the auth and authpriv facilities
  86. filter f_auth { facility(auth, authpriv); };
  87. # all messages except from the auth and authpriv facilities
  88. filter f_syslog { not facility(auth, authpriv,mail); };
  89. # respectively: messages from the cron, daemon, kern, lpr, mail, news, user,
  90. # and uucp facilities
  91. filter f_cron { facility(cron); };
  92. filter f_daemon { facility(daemon); };
  93. filter f_kern { facility(kern); };
  94. filter f_lpr { facility(lpr); };
  95. filter f_mail { facility(mail); };
  96. filter f_news { facility(news); };
  97. filter f_user { facility(user); };
  98. filter f_uucp { facility(uucp); };
  99. # filter dhcpd messages
  100. filter f_dhcpd { program("dhcpd" ); };
  101. # some filters to select messages of priority greater or equal to info, warn,
  102. # and err
  103. # (equivalents of syslogd's *.info, *.warn, and *.err)
  104. filter f_at_least_info { level(info..emerg); };
  105. filter f_at_least_notice { level(notice..emerg); };
  106. filter f_at_least_warn { level(warn..emerg); };
  107. filter f_at_least_err { level(err..emerg); };
  108. filter f_at_least_crit { level(crit..emerg); };
  109. # all messages of priority debug not coming from the auth, authpriv, news, and
  110. # mail facilities
  111. filter f_debug { level(debug) and not facility(auth, authpriv, news, mail); };
  112. # all messages of info, notice, or warn priority not coming form the auth,
  113. # authpriv, cron, daemon, mail, and news facilities
  114. filter f_messages {
  115.         level(info,notice,warn)
  116.             and not facility(auth,authpriv,cron,daemon,mail,news);
  117. };
  118. # messages with priority emerg
  119. filter f_emerg { level(emerg); };
  120. # complex filter for messages usually sent to the xconsole
  121. filter f_xconsole {
  122.     facility(daemon,mail)
  123.         or level(debug,info,notice,warn)
  124.         or (facility(news)
  125.                 and level(crit,err,notice));
  126. };
  127. ######
  128. # logs
  129. # order matters if you use "flags(final);" to mark the end of processing in a
  130. # "log" statement
  131. # these rules provide the same behavior as the commented original syslogd rules
  132. # auth,authpriv.*                 /var/log/auth.log
  133. log {
  134.         source(s_all);
  135.         filter(f_auth);
  136.         destination(df_auth);
  137. };
  138. # *.*;auth,authpriv.none;mail.none;          -/var/log/syslog
  139. log {
  140.         source(s_all);
  141.         filter(f_syslog);
  142.         destination(df_syslog);
  143. };
  144. # this is commented out in the default syslog.conf
  145. # cron.*                         /var/log/cron.log
  146. #log {
  147. #        source(s_all);
  148. #        filter(f_cron);
  149. #        destination(df_cron);
  150. #};
  151. # daemon.*                        -/var/log/daemon.log
  152. log {
  153.         source(s_all);
  154.         filter(f_daemon);
  155.         destination(df_daemon);
  156. };
  157. # kern.*                          -/var/log/kern.log
  158. log {
  159.         source(s_all);
  160.         filter(f_kern);
  161.         destination(df_kern);
  162. };
  163. # lpr.*                           -/var/log/lpr.log
  164. log {
  165.         source(s_all);
  166.         filter(f_lpr);
  167.         destination(df_lpr);
  168. };
  169. # mail.*                          -/var/log/mail.log
  170. log {
  171.         source(s_all);
  172.         filter(f_mail);
  173.         destination(df_mail);
  174. };
  175. # user.*                          -/var/log/user.log
  176. log {
  177.         source(s_all);
  178.         filter(f_user);
  179.         destination(df_user);
  180. };
  181. # uucp.*                          /var/log/uucp.log
  182. log {
  183.         source(s_all);
  184.         filter(f_uucp);
  185.         destination(df_uucp);
  186. };
  187. # mail.info                       -/var/log/mail.info
  188. log {
  189.         source(s_all);
  190.         filter(f_mail);
  191.         filter(f_at_least_info);
  192.         destination(df_facility_dot_info);
  193. };
  194. # mail.warn                       -/var/log/mail.warn
  195. log {
  196.         source(s_all);
  197.         filter(f_mail);
  198.         filter(f_at_least_warn);
  199.         destination(df_facility_dot_warn);
  200. };
  201. # mail.err                        /var/log/mail.err
  202. log {
  203.         source(s_all);
  204.         filter(f_mail);
  205.         filter(f_at_least_err);
  206.         destination(df_facility_dot_err);
  207. };
  208. # news.crit                       /var/log/news/news.crit
  209. log {
  210.         source(s_all);
  211.         filter(f_news);
  212.         filter(f_at_least_crit);
  213.         destination(df_news_dot_crit);
  214. };
  215. # news.err                        /var/log/news/news.err
  216. log {
  217.         source(s_all);
  218.         filter(f_news);
  219.         filter(f_at_least_err);
  220.         destination(df_news_dot_err);
  221. };
  222. # news.notice                     /var/log/news/news.notice
  223. log {
  224.         source(s_all);
  225.         filter(f_news);
  226.         filter(f_at_least_notice);
  227.         destination(df_news_dot_notice);
  228. };
  229. # *.=debug;\
  230. #         auth,authpriv.none;\
  231. #         news.none;mail.none     -/var/log/debug
  232. log {
  233.         source(s_all);
  234.         filter(f_debug);
  235.         destination(df_debug);
  236. };
  237. # *.=info;*.=notice;*.=warn;\
  238. #         auth,authpriv.none;\
  239. #         cron,daemon.none;\
  240. #         mail,news.none          -/var/log/messages
  241. log {
  242.         source(s_all);
  243.         filter(f_messages);
  244.         destination(df_messages);
  245. };
  246. # *.emerg                         *
  247. log {
  248.         source(s_all);
  249.         filter(f_emerg);
  250.         destination(du_all);
  251. };
  252. # daemon.*;mail.*;\
  253. #         news.crit;news.err;news.notice;\
  254. #         *.=debug;*.=info;\
  255. #         *.=notice;*.=warn       |/dev/xconsole
  256. log {
  257.         source(s_all);
  258.         filter(f_xconsole);
  259.         destination(dp_xconsole);
  260. };
  261. # dhcpd.*   /var/log/dhcpd.log
  262. log {
  263.         source(s_all);
  264. filter(f_dhcpd);
  265. destination(df_dhcpd);
  266. flags(final);
  267. };
 


Message édité par redvivi le 04-03-2009 à 10:37:37
Reply

Marsh Posté le 04-03-2009 à 10:40:31    

mets ta directive log pour DHCP au début des "log"


---------------
uptime is for lousy system administrators what Viagra is for impotent people - mes unixeries - github me
Reply

Marsh Posté le 04-03-2009 à 10:46:43    

Ce qui est marrant c'est que moi j'ai 2 versions identiques de dhcpd qui tournent sur 2 OS différents (Solaris8 et Solaris9) et qui n'ont absolument pas le même comportement.
 
Y'en a un qui log tout sans problème et l'autre qui log jamais rien quel que soit le log-facility que je choisis ...
 
Ce qui est encore plus étrange c'est que c'est sur Solaris9 que ça merde :D
 
Bon sinon j'ai pas trop d'idée du coup.


---------------
Il y a trois sortes de mensonges : les mensonges, les gros mensonges et les statistiques !
Reply

Marsh Posté le 04-03-2009 à 10:50:30    

black_lord a écrit :

mets ta directive log pour DHCP au début des "log"


 
Nikel ça marche ! Merci !

Reply

Marsh Posté le 04-03-2009 à 10:54:27    

redvivi a écrit :


 
Nikel ça marche ! Merci !


En même temps c'est écrit dans la doc...


---------------
uptime is for lousy system administrators what Viagra is for impotent people - mes unixeries - github me
Reply

Marsh Posté le 04-03-2009 à 11:17:17    

black_lord a écrit :

En même temps c'est écrit dans la doc...


 
Je n'avais pas fait le rapprochement quand tu m'as demandé d'ajouter le flags(final);  ;)  

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed