Aide à l'installation de Syslog-ng + php-syslog-ng

Aide à l'installation de Syslog-ng + php-syslog-ng - réseaux et sécurité - Linux et OS Alternatifs

Marsh Posté le 19-12-2008 à 16:53:11    

hello all,
 
voilà, j'ai essayé de suivre ce tuto, mais je bloque (pas très loin du début en +!) . Suis sous Ubuntu 8.04.
 
http://openmaniak.com/fr/syslog_tutorial.php
 
En fait mon soucis est au moment de la création de la base SQL :

 

Code :
  1. mysql -u root -p syslog < dbsetup.sql


 
il me demande mon pass, puis me sort : ERROR 1049, Unknown database "syslog" ... bah forcément, je souhaite la créer!
 
Ou me suis je trompé? Je précise que j'ai pas forcément tout installé dans le bon ordre... à l'install de mysql j'ai bien choisi apache2...
 
voilà voilà, si quelqu'un peut me donner un tuyau, ou un tuto un peu plus complet (pour les nuls :D )
 
Merci

 
 
Php-syslog-Ng fonctionne maintenant mais il me reste un problème : dès que je configure syslog-ng pour me mettre des logs dans un fichier, la base sql n'est plus alimentée! Ou est ce que je fais une erreur? J'aimerai avoir SQL + des fichiers texte. Merci!


Message édité par meulator le 20-01-2009 à 11:23:52
Reply

Marsh Posté le 19-12-2008 à 16:53:11   

Reply

Marsh Posté le 20-12-2008 à 00:24:43    

Connecte toi sans préciser de base, et crée la base :D
cf la doc très bien faite sur le site de mysql :o


---------------
Aloha
Reply

Marsh Posté le 24-12-2008 à 11:54:08    

Bon, j'ai réussi à l'installer.
 
Je reçoit bien des messages de logs dans mon php-syslog-ng
 
J'ai configuré Logrotate
 
Mais j'ai du rater un truc : en gros, tous les logs vont bien dans ma base SQL, mais je le les vois pas sous forme de fichiers .log ? Y a t il un truc pour qu'il soit extrait de la base sql vers un répertoire?
 
J'utilise la dernière version en date... merci pour votre aide

Reply

Marsh Posté le 24-12-2008 à 14:26:55    

Après des modifs, j'ai déja compris comment utiliser logrotate.php, bien que je ne saches pas s'il va bien s'executer tout seul.
 
Globallement, ça fonctionne, mon syslog est bien alimenté par tout un tas de periphériques distants ou en interne ; j'ai bien fait un script avec logrotate.d dans lequel j'ai spécifié de tourner tous les jours, sur 365 jours + compress . Apparement, dans mon /var/log/php-syslog-ng/ le script est bien executé car je me retrouve avec des archives... seulement il y a rien dedans... j'aimerai retrouver si ce n'est 1 fichier log par périphérique, au moins 1 fichier log qui englobbe tous les périphériques..  
 
Mon but étant de pouvoir en cas de besoin mettre tous les fichiers logs sur dvd pour archivage, ou même pour les copier ailleurs en cas de défaillance serveur.
 
Jsais pas si c'est hyper clair, jsuis clairement noob en linux et pas familier avec certaines commandes de base... mais jme soigne :o

Reply

Marsh Posté le 25-12-2008 à 18:42:46    

IL faut configurer ton syslog-ng pour qu'il loggue dans la base ET dans des fichiers.


Message édité par e_esprit le 25-12-2008 à 18:42:53

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

Marsh Posté le 26-12-2008 à 09:47:35    

Merci pour ta réponse
 
effectivement j'y ai pensé à postériori, mais que logger? Sachant que ce qui m'interesse arrive de l'extérieur, ce serait UDP qu'il faudrait logger? Possibilitée d'avoir un fichier par source emettrice de log?

Reply

Marsh Posté le 26-12-2008 à 10:05:43    

On pourra pas te dire ce que tu dois logguer, y a que toi qui puisse le savoir :D

 

Sinon, oui, y a possibilité de logguer par source :jap:


Message édité par e_esprit le 26-12-2008 à 10:06:17

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

Marsh Posté le 29-12-2008 à 10:34:12    

:D
 
Oui je sais ce que je veux logger, mais je ne sais pas ou le retrouver!  
 
Par exemple si je veux logger dans un fichier à part tout ce qui vient de "telle ip" ou de tel nom dns, comment dois-je faire?
 

Reply

Marsh Posté le 29-12-2008 à 10:55:20    

T'as essayé en lisant la doc de syslog-ng ? [:anathema]


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

Marsh Posté le 29-12-2008 à 12:02:17    

Bon j'ai pigé le coup de la source, destination et filter... malgré ça, je n'arrive pas a avoir mon fichier loggé pour une source en particulier... mon fichier de conf est un peu en bordel je pense... ce qui m'interesse c'est "alexandrie" qui devrait se logger dans /var/log/wifialex.log ou wifialexandrie.log  
 
L'ai mis à plusieurs endroits, rien à faire.
 
de plus quand j'ajoute udp(mon.address.ip) j'ai une erreur au reload de syslog-ng, alors qu'en udp() ça ne met pas d'erreur....
 

Code :
  1. #
  2. # Configuration file for syslog-ng under Debian
  3. #
  4. # attempts at reproducing default syslog behavior
  5. # the standard syslog levels are (in descending order of priority):
  6. # emerg alert crit err warning notice info debug
  7. # the aliases "error", "panic", and "warn" are deprecated
  8. # the "none" priority found in the original syslogd configuration is
  9. # only used in internal messages created by syslogd
  10. ######
  11. # options
  12. options {
  13.         # disable the chained hostname format in logs
  14.         # (default is enabled)
  15.         chain_hostnames(0);
  16.         # the time to wait before a died connection is re-established
  17.         # (default is 60)
  18.         time_reopen(10);
  19.         # the time to wait before an idle destination file is closed
  20.         # (default is 60)
  21.         time_reap(360);
  22.         # the number of lines buffered before written to file
  23.         # you might want to increase this if your disk isn't catching with
  24.         # all the log messages you get or if you want less disk activity
  25.         # (say on a laptop)
  26.         # (default is 0)
  27.         #sync(0);
  28.         # the number of lines fitting in the output queue
  29.         log_fifo_size(2048);
  30.         # enable or disable directory creation for destination files
  31.         create_dirs(yes);
  32.         # default owner, group, and permissions for log files
  33.         # (defaults are 0, 0, 0600)
  34.         #owner(root);
  35.         group(adm);
  36.         perm(0640);
  37.         # default owner, group, and permissions for created directories
  38.         # (defaults are 0, 0, 0700)
  39.         #dir_owner(root);
  40.         #dir_group(root);
  41.         dir_perm(0755);
  42.         # enable or disable DNS usage
  43.         # syslog-ng blocks on DNS queries, so enabling DNS may lead to
  44.         # a Denial of Service attack
  45.         # (default is yes)
  46.         use_dns(no);
  47.         # maximum length of message in bytes
  48.         # this is only limited by the program listening on the /dev/log Unix
  49.         # socket, glibc can handle arbitrary length log messages, but -- for
  50.         # example -- syslogd accepts only 1024 bytes
  51.         # (default is 2048)
  52.         #log_msg_size(2048);
  53.     #Disable statistic log messages.
  54.     stats_freq(0);
  55.     # Some program send log messages through a private implementation.
  56.     # and sometimes that implementation is bad. If this happen syslog-ng
  57.     # may recognise the program name as hostname. Whit this option
  58.     # we tell the syslog-ng that if a hostname match this regexp than that
  59.     # is not a real hostname.
  60.     bad_hostname("^gconfd$" );
  61. };
  62. ######
  63. # sources
  64. # all known message sources
  65. source s_all {
  66.         # message generated by Syslog-NG
  67.         internal();
  68.         # standard Linux log source (this is the default place for the syslog()
  69.         # function to send logs to)
  70.         unix-stream("/dev/log" );
  71.         # messages from the kernel
  72.         file("/proc/kmsg" log_prefix("kernel: " ));
  73.         # use the following line if you want to receive remote UDP logging messages
  74.         # (this is equivalent to the "-r" syslogd flag)
  75.         udp();
  76. };
  77. source s_alexandrie { udp(); };
  78. ######
  79. # destinations
  80. # some standard log files
  81. destination df_auth { file("/var/log/auth.log" ); };
  82. destination df_syslog { file("/var/log/syslog" ); };
  83. destination df_cron { file("/var/log/cron.log" ); };
  84. destination df_daemon { file("/var/log/daemon.log" ); };
  85. destination df_kern { file("/var/log/kern.log" ); };
  86. destination df_lpr { file("/var/log/lpr.log" ); };
  87. destination df_mail { file("/var/log/mail.log" ); };
  88. destination df_user { file("/var/log/user.log" ); };
  89. destination df_uucp { file("/var/log/uucp.log" ); };
  90. destination df_udp { file("/var/log/udp.log" ); };
  91. destination df_alexandrie { file("/var/log/wifialexandrie.log" ); };
  92. # these files are meant for the mail system log files
  93. # and provide re-usable destinations for {mail,cron,...}.info,
  94. # {mail,cron,...}.notice, etc.
  95. destination df_facility_dot_info { file("/var/log/$FACILITY.info" ); };
  96. destination df_facility_dot_notice { file("/var/log/$FACILITY.notice" ); };
  97. destination df_facility_dot_warn { file("/var/log/$FACILITY.warn" ); };
  98. destination df_facility_dot_err { file("/var/log/$FACILITY.err" ); };
  99. destination df_facility_dot_crit { file("/var/log/$FACILITY.crit" ); };
  100. # these files are meant for the news system, and are kept separated
  101. # because they should be owned by "news" instead of "root"
  102. destination df_news_dot_notice { file("/var/log/news/news.notice" owner("news" )); };
  103. destination df_news_dot_err { file("/var/log/news/news.err" owner("news" )); };
  104. destination df_news_dot_crit { file("/var/log/news/news.crit" owner("news" )); };
  105. # some more classical and useful files found in standard syslog configurations
  106. destination df_debug { file("/var/log/debug" ); };
  107. destination df_messages { file("/var/log/messages" ); };
  108. # pipes
  109. # a console to view log messages under X
  110. destination dp_xconsole { pipe("/dev/xconsole" ); };
  111. # consoles
  112. # this will send messages to everyone logged in
  113. destination du_all { usertty("*" ); };
  114. ######
  115. # filters
  116. # all messages from the auth and authpriv facilities
  117. filter f_auth { facility(auth, authpriv); };
  118. # all messages except from the auth and authpriv facilities
  119. filter f_syslog { not facility(auth, authpriv); };
  120. # respectively: messages from the cron, daemon, kern, lpr, mail, news, user,
  121. # and uucp facilities
  122. filter f_cron { facility(cron); };
  123. filter f_daemon { facility(daemon); };
  124. filter f_kern { facility(kern); };
  125. filter f_lpr { facility(lpr); };
  126. filter f_mail { facility(mail); };
  127. filter f_news { facility(news); };
  128. filter f_user { facility(user); };
  129. filter f_uucp { facility(uucp); };
  130. # some filters to select messages of priority greater or equal to info, warn,
  131. # and err
  132. # (equivalents of syslogd's *.info, *.warn, and *.err)
  133. filter f_at_least_info { level(info..emerg); };
  134. filter f_at_least_notice { level(notice..emerg); };
  135. filter f_at_least_warn { level(warn..emerg); };
  136. filter f_at_least_err { level(err..emerg); };
  137. filter f_at_least_crit { level(crit..emerg); };
  138. # all messages of priority debug not coming from the auth, authpriv, news, and
  139. # mail facilities
  140. filter f_debug { level(debug) and not facility(auth, authpriv, news, mail); };
  141. filter f_alexandrie { facility(local4); };
  142. # all messages of info, notice, or warn priority not coming form the auth,
  143. # authpriv, cron, daemon, mail, and news facilities
  144. filter f_messages {
  145.         level(info,notice,warn)
  146.             and not facility(auth,authpriv,cron,daemon,mail,news);
  147. };
  148. # messages with priority emerg
  149. filter f_emerg { level(emerg); };
  150. # complex filter for messages usually sent to the xconsole
  151. filter f_xconsole {
  152.     facility(daemon,mail)
  153.         or level(debug,info,notice,warn)
  154.         or (facility(news)
  155.                 and level(crit,err,notice));
  156. };
  157. ######
  158. # logs
  159. # order matters if you use "flags(final);" to mark the end of processing in a
  160. # "log" statement
  161. # these rules provide the same behavior as the commented original syslogd rules
  162. # auth,authpriv.*                 /var/log/auth.log
  163. log {
  164.         source(s_all);
  165.         filter(f_auth);
  166.         destination(df_auth);
  167. };
  168. # *.*;auth,authpriv.none          -/var/log/syslog
  169. log {
  170.         source(s_all);
  171.         filter(f_syslog);
  172.         destination(df_syslog);
  173. };
  174. # this is commented out in the default syslog.conf
  175. # cron.*                         /var/log/cron.log
  176. #log {
  177. #        source(s_all);
  178. #        filter(f_cron);
  179. #        destination(df_cron);
  180. #};
  181. # daemon.*                        -/var/log/daemon.log
  182. log {
  183.         source(s_all);
  184.         filter(f_daemon);
  185.         destination(df_daemon);
  186. };
  187. # kern.*                          -/var/log/kern.log
  188. log {
  189.         source(s_all);
  190.         filter(f_kern);
  191.         destination(df_kern);
  192. };
  193. # lpr.*                           -/var/log/lpr.log
  194. log {
  195.         source(s_all);
  196.         filter(f_lpr);
  197.         destination(df_lpr);
  198. };
  199. # mail.*                          -/var/log/mail.log
  200. log {
  201.         source(s_all);
  202.         filter(f_mail);
  203.         destination(df_mail);
  204. };
  205. # user.*                          -/var/log/user.log
  206. log {
  207.         source(s_all);
  208.         filter(f_user);
  209.         destination(df_user);
  210. };
  211. # uucp.*                          /var/log/uucp.log
  212. log {
  213.         source(s_all);
  214.         filter(f_uucp);
  215.         destination(df_uucp);
  216. };
  217. # mail.info                       -/var/log/mail.info
  218. log {
  219.         source(s_all);
  220.         filter(f_mail);
  221.         filter(f_at_least_info);
  222.         destination(df_facility_dot_info);
  223. };
  224. # mail.warn                       -/var/log/mail.warn
  225. log {
  226.         source(s_all);
  227.         filter(f_mail);
  228.         filter(f_at_least_warn);
  229.         destination(df_facility_dot_warn);
  230. };
  231. # mail.err                        /var/log/mail.err
  232. log {
  233.         source(s_all);
  234.         filter(f_mail);
  235.         filter(f_at_least_err);
  236.         destination(df_facility_dot_err);
  237. };
  238. # news.crit                       /var/log/news/news.crit
  239. log {
  240.         source(s_all);
  241.         filter(f_news);
  242.         filter(f_at_least_crit);
  243.         destination(df_news_dot_crit);
  244. };
  245. # news.err                        /var/log/news/news.err
  246. log {
  247.         source(s_all);
  248.         filter(f_news);
  249.         filter(f_at_least_err);
  250.         destination(df_news_dot_err);
  251. };
  252. # news.notice                     /var/log/news/news.notice
  253. log {
  254.         source(s_all);
  255.         filter(f_news);
  256.         filter(f_at_least_notice);
  257.         destination(df_news_dot_notice);
  258. };
  259. # *.=debug;\
  260. #         auth,authpriv.none;\
  261. #         news.none;mail.none     -/var/log/debug
  262. log {
  263.         source(s_all);
  264.         filter(f_debug);
  265.         destination(df_debug);
  266. };
  267. # *.=info;*.=notice;*.=warn;\
  268. #         auth,authpriv.none;\
  269. #         cron,daemon.none;\
  270. #         mail,news.none          -/var/log/messages
  271. log {
  272.         source(s_all);
  273.         filter(f_messages);
  274.         destination(df_messages);
  275. };
  276. # *.emerg                         *
  277. log {
  278.         source(s_all);
  279.         filter(f_emerg);
  280.         destination(du_all);
  281. };
  282. # daemon.*;mail.*;\
  283. #         news.crit;news.err;news.notice;\
  284. #         *.=debug;*.=info;\
  285. #         *.=notice;*.=warn       |/dev/xconsole
  286. log {
  287.         source(s_all);
  288.         filter(f_xconsole);
  289.         destination(dp_xconsole);
  290. };
  291. # *.                  udp       *
  292. log {
  293.         source(s_alexandrie);
  294.         filter(f_alexandrie);
  295.         destination(df_alexandrie);
  296. };
  297. destination d_mysql {
  298.    pipe("/var/log/mysql.pipe"
  299.       template("INSERT INTO logs
  300.       (host, facility, priority, level, tag, datetime, program, msg)
  301.       VALUES ( '$HOST', '$FACILITY', '$PRIORITY', '$LEVEL', '$TAG', '$YEAR-$MONTH-$DAY $HOUR:$MIN:$SEC',
  302.       '$PROGRAM', '$MSG' );\n" ) template-escape(yes));
  303. };
  304. ###########################################################################################
  305. # Added by cdukes for php-syslog-ng // ref: http://gentoo-wiki.com/HOWTO_setup_PHP-Syslog-NG
  306. ###########################################################################################
  307. options {
  308. long_hostnames(off);
  309. # doesn't actually help on Solaris, log(3) truncates at 1024 chars
  310. log_msg_size(8192);
  311. # buffer just a little for performance
  312. sync(1);
  313. # memory is cheap, buffer messages unable to write (like to loghost)
  314. log_fifo_size(16384);
  315. # Hosts we don't want syslog from
  316. #bad_hostname("^(ctld.|cmd|tmd|last)$" );
  317. # The time to wait before a dead connection is reestablished (seconds)
  318. time_reopen(10);
  319. #Use DNS so that our good names are used, not hostnames
  320. use_dns(yes);
  321. dns_cache(yes);
  322. #Use the whole DNS name
  323. use_fqdn(yes);
  324. keep_hostname(yes);
  325. chain_hostnames(no);
  326. #Read permission for everyone
  327. perm(0644);
  328. # The default action of syslog-ng 1.6.0 is to log a STATS line
  329. # to the file every 10 minutes.  That's pretty ugly after a while.
  330. # Change it to every 12 hours so you get a nice daily update of
  331. # how many messages syslog-ng missed (0).
  332. stats(43200);
  333. };
  334. source s_everything { internal(); pipe("/proc/kmsg" ); unix-stream("/dev/log" ); udp(); };
  335. source s_alexandrie { udp(); };
  336. destination d_mysql {
  337. program("/usr/bin/mysql -usyslogadmin -psyslogadmin syslog"
  338. template("INSERT INTO logs (host, facility, priority, level, tag, datetime, program, msg)
  339. VALUES ( '$HOST', '$FACILITY', '$PRIORITY', '$LEVEL', '$TAG', '$YEAR-$MONTH-$DAY $HOUR:$MIN:$SEC', '$PROGRAM', '$MSG' );\n" )
  340. template-escape(yes));
  341. };
  342. destination df_alexandrie { file("/var/log/wifialex.log" ); };
  343. log {
  344. source(s_everything);
  345. destination(d_mysql);
  346. };
  347. log {
  348.         source(s_alexandrie);
  349.         filter(f_alexandrie);
  350.         destination(df_alexandrie);
  351. };
  352. # Added above by cdukes for php-syslog-ng enhancements



Message édité par meulator le 29-12-2008 à 12:03:39
Reply

Marsh Posté le 29-12-2008 à 12:02:17   

Reply

Marsh Posté le 30-12-2008 à 10:40:39    

:cry:
 
Quand je vire la partie pour php-syslog-ng ça fonctionne, j'ai bien mon fichier log qui se créée et se rempli...
 
upup!

Reply

Marsh Posté le 06-01-2009 à 12:25:25    

Up, tjrs pas trouvé la soluce, je sais pas ou je merde, pourquoi il me sort pas les logs sous forme de fichiers :cry:

Reply

Marsh Posté le 08-01-2009 à 09:49:49    

:cry: up :cry:

Reply

Marsh Posté le 20-01-2009 à 11:24:13    

Up... still need some help :)
 

Reply

Marsh Posté le 13-09-2009 à 23:47:09    

Salut,  
 
bon je sais le topic n'est plus trop jeune mais vue que je rencontre exactement le même problème et qu'après avoir fait pas mal d'essais sans succès je viens voir si quelqu'un aurait une piste.
 
il y as pas mal de tuto sur le net seulement beaucoup sont différents et incomplet bref j'y ai pas trouvé mon bonheur malheureusement :(
 
en attendant j'ai fait comme tu la dit : desactiver la remontée vers php-syslog en commentant ces lignes :
 
 

Code :
  1. # ###########################################################################################
  2. # # Added by cdukes for php-syslog-ng // ref: http://gentoo-wiki.com/HOWTO_setup_PHP-Syslog-NG
  3. # ###########################################################################################
  4. # options {
  5. # long_hostnames(off);
  6. # # doesn't actually help on Solaris, log(3) truncates at 1024 chars
  7. # log_msg_size(8192);
  8. # # buffer just a little for performance
  9. # sync(1);
  10. # # memory is cheap, buffer messages unable to write (like to loghost)
  11. # log_fifo_size(16384);
  12. # # Hosts we don't want syslog from
  13. # #bad_hostname("^(ctld.|cmd|tmd|last)$" );
  14. # # The time to wait before a dead connection is reestablished (seconds)
  15. # time_reopen(10);
  16. # #Use DNS so that our good names are used, not hostnames
  17. # use_dns(yes);
  18. # dns_cache(yes);
  19. # #Use the whole DNS name
  20. # use_fqdn(yes);
  21. # keep_hostname(yes);
  22. # chain_hostnames(no);
  23. # #Read permission for everyone
  24. # perm(0644);
  25. # # The default action of syslog-ng 1.6.0 is to log a STATS line
  26. # # to the file every 10 minutes.  That's pretty ugly after a while.
  27. # # Change it to every 12 hours so you get a nice daily update of
  28. # # how many messages syslog-ng missed (0).
  29. # stats(43200);
  30. # };
  31. # source s_everything { internal(); pipe("/proc/kmsg" ); unix-stream("/dev/log" ); udp(); };
  32. # source s_alexandrie { udp(); };
  33. # destination d_mysql {
  34. # program("/usr/bin/mysql -usyslogadmin -psyslogadmin syslog"
  35. # template("INSERT INTO logs (host, facility, priority, level, tag, datetime, program, msg)
  36. # VALUES ( '$HOST', '$FACILITY', '$PRIORITY', '$LEVEL', '$TAG', '$YEAR-$MONTH-$DAY $HOUR:$MIN:$SEC', '$PROGRAM', '$MSG' );\n" )
  37. # template-escape(yes));
  38. # };
  39. # destination df_alexandrie { file("/var/log/wifialex.log" ); };
  40. # log {
  41. # source(s_everything);
  42. # destination(d_mysql);
  43. # };
  44. # log {
  45. #         source(s_alexandrie);
  46. #         filter(f_alexandrie);
  47. #         destination(df_alexandrie);
  48. # };
  49. #
  50. # # Added above by cdukes for php-syslog-ng enhancements


 
merci


Message édité par Profil supprimé le 13-09-2009 à 23:53:03
Reply

Sujets relatifs:

Leave a Replay

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