syslog-ng: wildcard-file en niet wildcard bestanden

Pagina: 1
Acties:

Vraag


Acties:
  • 0 Henk 'm!

  • MisterE
  • Registratie: April 2002
  • Laatst online: 02-07 22:47
Vanaf mijn client zou ik graag een map willen monitoren op nieuwe logfiles. Vandaar de "wildcard-file" module.
Maar er kunnen ook volledige paden gedefinieerd zijn. In mijn voorbeeld "/var/log/messages"

Schijnbaar raakt de FILE_NAME verloren over het netwerk. Bron: https://stackoverflow.com...-when-using-wildcard-file

Met onderstaande commando's op de client.
code:
1
2
logger -p syslog.info "Dit is een test logregel"
echo "$(date) at client" >>  /var/log_syslog/client2.log

komen deze aan in de "default.log" en de "catchall.log".

Dus de "f_has_sdata" bepaling lijkt niet te werken.
Het idee hiervan is dat ik daarna de uit-gehekte "destination d_sdata_logs" code kan gebruiken om de regel in het juiste bestand te loggen.


CLIENT:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
source s_wildcard {
  wildcard-file (
    base-dir("/var/log_syslog")
    filename-pattern("*")
    recursive(no)
    follow-freq(1)
  );
};

source s_singlefile {
  file (
    "/var/log/messages"
    follow-freq(1)
    flags(no-parse)
  );
};

rewrite r_set_filename {
  set (
    "$FILE_NAME",
    value(".SDATA.file@18372.4.name")
  );
};

rewrite r_use_basename {
  subst (
    "/var/log_syslog/",
    "",
    value(".SDATA.file@18372.4.name")
    type("string")
    flags("prefix")
  );
};

destination d_container_logs {
  syslog (
    "192.168.1.246"
    transport("tcp")
    port(5141)
  );
};

log {
  source(s_wildcard);
  rewrite(r_set_filename);
  rewrite(r_use_basename);
  destination(d_container_logs);
};

log {
  source(s_singlefile);
  #rewrite(r_set_filename);
  #rewrite(r_use_basename);
  destination(d_container_logs);
};



SERVER:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
source s_network {
  syslog (
  transport("tcp")
  port(5141)
  keep_hostname(yes)
  );
};



filter f_has_sdata {
  match(".SDATA.file@18372.4.name=.*");
};


filter f_no_sdata {
  not match(".SDATA.file@18372.4.name=.*");
};


# destination d_sdata_logs {
#   file (
#     "/var/sys_log/${.SDATA.file@18372.4.name}"
#     create_dirs(yes)
#   );
# };


destination d_sdata_logs {
  file (
    "/var/sys_log/sdata.log"
    create_dirs(yes)
  );
};

destination d_default_logs {
  file (
    "/var/sys_log/default.log"
    create_dirs(yes)
  );
};


destination d_catchall_logs {
  file (
    "/var/sys_log/catchall.log"
    create_dirs(yes)
  );
};

log {
  source(s_network);
  destination(d_catchall_logs);
};

log {
  source(s_network);
  filter(f_has_sdata);
  destination(d_sdata_logs);
};

log {
  source(s_network);
  filter(f_no_sdata);
  destination(d_default_logs);
};

Alle reacties


Acties:
  • 0 Henk 'm!

  • MisterE
  • Registratie: April 2002
  • Laatst online: 02-07 22:47
dit lijkt te werken

CLIENT:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
source s_wildcard {
  wildcard-file (
    base-dir("/var/log_syslog")
    filename-pattern("*")
    recursive(no)
    follow-freq(1)
  );
};

source s_singlefile {
  file (
    "/var/log/messages"
    follow-freq(1)
    flags(no-parse)
    program-override(messages_override)
  );
};

rewrite r_set_filename {
  set (
    "$FILE_NAME",
    value(".SDATA.file@18372.4.name")
  );
};

rewrite r_use_basename {
  subst (
    "/var/log_syslog/",
    "",
    value(".SDATA.file@18372.4.name")
    type("string")
    flags("prefix")
  );
};

destination d_container_logs {
  syslog (
    "192.168.1.246"
    transport("tcp")
    port(5141)
  );
};

log {
  source(s_wildcard);
  rewrite(r_set_filename);
  rewrite(r_use_basename);
  destination(d_container_logs);
};

log {
  source(s_singlefile);
  destination(d_container_logs);
};



SERVER:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
source s_network {
  syslog (
  transport("tcp")
  port(5141)
  keep_hostname(yes)
  );
};


filter f_has_sdata {
  match(".+" value(".SDATA.file@18372.4.name"))
};


filter f_no_sdata {
  not match(".+" value(".SDATA.file@18372.4.name"))
};

destination d_sdata_log {
  file (
    "/var/sys_log/${.SDATA.file@18372.4.name}"
    create_dirs(yes)
  );
};

destination d_nosdata_log {
  file (
    "/var/sys_log/$PROGRAM.log"
    create_dirs(yes)
  );
};


log {
  source(s_network);
  filter(f_has_sdata);
  destination(d_sdata_log);
};

log {
  source(s_network);
  filter(f_no_sdata);
  destination(d_nosdata_log);
};