debian:syslog-ng

Розбіжності

Тут показані розбіжності між вибраною ревізією та поточною версією сторінки.

Посилання на цей список змін

Порівняння попередніх версій Попередня ревізія
Наступна ревізія
Попередня ревізія
debian:syslog-ng [25/07/2024 14:19] – [Syslog-NG] Methoddebian:syslog-ng [25/07/2024 22:17] (поточний) – [Install Syslog-NG] Method
Рядок 1: Рядок 1:
 ====== Syslog-NG ====== ====== Syslog-NG ======
 +===== Install Syslog-NG =====
  
 <code bash> <code bash>
-wget -qO - https://ose-repo.syslog-ng.com/apt/syslog-ng-ose-pub.asc | sudo apt-key add +wget -qO - https://ose-repo.syslog-ng.com/apt/syslog-ng-ose-pub.asc | gpg --dearmor > /usr/share/keyrings/ose-repo-archive-keyring.gpg && \ 
-echo "deb https://ose-repo.syslog-ng.com/apt/ stable debian-bookworm" | sudo tee -a /etc/apt/sources.list.d/syslog-ng-ose.list+  echo "deb [ signed-by=/usr/share/keyrings/ose-repo-archive-keyring.gpg ] https://ose-repo.syslog-ng.com/apt/ stable debian-bookworm" | sudo tee -a /etc/apt/sources.list.d/syslog-ng-ose.list 
 apt update apt update
 apt-get install syslog-ng-core syslog-ng-scl apt-get install syslog-ng-core syslog-ng-scl
 </code> </code>
 +
 +test message from localhost
 +  # logger --server 127.0.0.1 -p local0.info -t test "This is a test message"
  
 ===== A10 Thunder NAT logging ===== ===== A10 Thunder NAT logging =====
 +
 +==== Syslog-NG server configuration for A10 ====
  
   nano /etc/syslog-ng/conf.d/A10CGNat.conf   nano /etc/syslog-ng/conf.d/A10CGNat.conf
  
-<code|A10CGNat.conf>+<code perl>
 # Вхідні джерела # Вхідні джерела
 source s_tcp_a10nat_log { source s_tcp_a10nat_log {
Рядок 18: Рядок 25:
 }; };
  
-# Фільтр для перевірки наявності слова "nat"+# Фільтр для перевірки наявності слова "nat" у назві програми
 filter f_a10nat_cgnat { filter f_a10nat_cgnat {
-    message("(?i)nat");+    program("(?i)nat");
 }; };
  
-# Журнал на виході у форматі JSON +# Журнал на виході у форматі JSON. Основне призначення 
-destination d_a10nat_json {+destination d_a10nat_json_main {
     file(     file(
-        "/var/log/syslog-ng/jnat/${SOURCEIP}/${SOURCEIP}_${YEAR}-${MONTH}-${DAY}--${HOUR}-${MIN}.json"+        "/nfs/syslog/jnat/${SOURCEIP}/${SOURCEIP}_${S_YEAR}-${S_MONTH}-${S_DAY}--${S_HOUR}-${S_MIN}.json"
         template("$(format-json --pair UNIXTIME=$R_UNIXTIME --pair PROGRAM=$PROGRAM --pair HOST=$HOST --pair SOURCEIP=$SOURCEIP --pair MSG=$MSGONLY)\n")         template("$(format-json --pair UNIXTIME=$R_UNIXTIME --pair PROGRAM=$PROGRAM --pair HOST=$HOST --pair SOURCEIP=$SOURCEIP --pair MSG=$MSGONLY)\n")
         create_dirs(yes)         create_dirs(yes)
Рядок 32: Рядок 39:
 }; };
  
-# Логічне об'єднання джерела та призначення+# Журнал на виході у форматі JSON. Запасне призначення 
 +destination d_a10nat_json_backup { 
 +    file( 
 +        "/var/log/syslog-ng/jnat/${SOURCEIP}/${SOURCEIP}_${S_YEAR}-${S_MONTH}-${S_DAY}--${S_HOUR}-${S_MIN}.json" 
 +        template("$(format-json --pair UNIXTIME=$R_UNIXTIME --pair PROGRAM=$PROGRAM --pair HOST=$HOST --pair SOURCEIP=$SOURCEIP --pair MSG=$MSGONLY)\n"
 +        create_dirs(yes) 
 +    ); 
 +}; 
 + 
 +# Логічне об'єднання джерела, фільтра та призначень з умовою для використання запасного каталогу
 log { log {
     source(s_tcp_a10nat_log);     source(s_tcp_a10nat_log);
     filter(f_a10nat_cgnat);     filter(f_a10nat_cgnat);
-    destination(d_a10nat_json);+    destination(d_a10nat_json_main);
     flags(flow-control);     flags(flow-control);
 }; };
  
 +log {
 +    source(s_tcp_a10nat_log);
 +    filter(f_a10nat_cgnat);
 +    destination(d_a10nat_json_backup);
 +    when not exists("/nfs/syslog/jnat");
 +    flags(flow-control);
 +};
 </code> </code>
 +
 +  systemctl restart syslog-ng
 +  
 +test message from remote linux host
 +  # logger --server 172.16.0.37 --port 1515 --tcp --rfc3164 --tag NAT-TCP "This is a test message FROM nat"
 +
 +
 +
 +
 +==== A10 Thunder Configuration ====
 +
 +<code bash>
 +nat-0>show config cgnv6
 +!Section configuration: 2296 bytes
 +!
 +cgnv6 server syslog1 172.16.0.37
 +  health-check-disable
 +  port 1515 tcp
 +!
 +
 +cgnv6 service-group syslog tcp
 +  member syslog1 1515
 +!
 +cgnv6 template logging lsn_logging
 +  facility local7
 +  severity informational
 +  batched-logging-disable
 +  service-group syslog
 +  source-address
 +    ip 172.16.0.6
 +  disable-log-by-destination
 +    icmp
 +!
 +</code>
 +
 +==== Скрипт міграції логів ====
 +
 +  nano /usr/local/bin/move_jnat_to_nfs
 +
 +<code bash>
 +#!/bin/bash
 +
 +# Перевірка, чи основний каталог доступний
 +if mountpoint -q /nfs/syslog; then
 +    echo "Основний каталог доступний. Переміщую логи старші за 2 хвилини..."
 +    find /var/log/syslog-ng/jnat/172.29.100.6/ -type f -mmin +2 -exec mv {} /nfs/syslog/jnat/172.29.100.6/ \;
 +    find /var/log/syslog-ng/jnat/172.29.101.6/ -type f -mmin +2 -exec mv {} /nfs/syslog/jnat/172.29.101.6/ \;
 +else
 +    echo "Основний каталог не доступний. Логи залишаються в запасному каталозі."
 +fi
 +</code>
 +
 +  chmod +x /usr/local/bin/move_jnat_to_nfs
 +  crontab -e
 +
 +<code bash>
 +*/5 * * * * /usr/local/bin/move_jnat_to_nfs
 +</code> 
 +
 +
  
  • debian/syslog-ng.1721917192.txt.gz
  • Востаннє змінено: 25/07/2024 14:19
  • повз Method