AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题

问题[syslog-ng](server)

Martin Hope
admfotad
Asked: 2024-04-15 18:02:05 +0800 CST

Syslog-ng,使用 https 通过基本身份验证将日志发送到 elasticsearch

  • 5

现在我在 Ubuntu 22.04.1 LTS 上运行 syslog-ng 3 (3.35.1)。目标是使用 https 安全协议发送数据并使用基本身份验证。Syslog-ng 使用 elasticsearch-http 模块将日志正确发送到 Elasticsearch API,如下所示:

destination elk_http {
  elasticsearch-http(
    index("testing_index")
    type("")
    url("http://a.b.c.d:port/_bulk")
    workers(4)
);
};

现在我必须将目标地址从 http 更改为 https,据我所知不会有问题,但如何配置基本身份验证?我试图用 google 寻找解决方案,但我只找到了 elasticsearch2 模块(@module mod-java)的示例。问题是我无法以任何方式安装elasticsearch2模块(apt-get install syslog-ng-mod-elasticsearch、apt-get install syslog-ng-mod-java等)。有没有办法使用“elasticsearch-http”模块启用基本身份验证,或者如果没有,我必须使用源安装 syslog-ng,然后启用 mod-java 或者也许有简单的方法来安装 mod-java ?

如果您有任何想法请告诉我。

问候

syslog-ng
  • 2 个回答
  • 18 Views
Martin Hope
avi9526
Asked: 2023-12-20 11:51:20 +0800 CST

如何将日志从syslog-ng转发到journald?

  • 5

除了监听 UDP 端口之外,journald 可以完成我需要的一切。我想使用syslog-ng作为从UDP端口到journald的转发器。有一个名为“udp514-journal”的简单程序可以处理此问题。然而,syslog-ng 似乎更可靠且功能更强大(具有 TLS 加密和过滤器)。有很多关于如何将日志从journald转发到syslog-ng的示例,但我试图实现相反的目标。这可能吗?

syslog-ng
  • 1 个回答
  • 36 Views
Martin Hope
Cheppy
Asked: 2021-01-12 23:40:04 +0800 CST

以详细模式运行 syslog-ng

  • 1

EDIT1: syslog-ng 启动命令:
/usr/sbin/syslog-ng -u syslog -g syslog -R /tmp/syslog-ng.persist -F

使用的命令:

syslog-ng-ctl verbose --set=on和syslog-ng-ctl verbose

我正在尝试以syslog-ng详细模式运行,但出现错误:

连接控制socket时出错,socket='/var/lib/syslog-ng/syslog-ng.ctl',error='没有那个文件或目录'

root@CHB:~# syslog-ng-ctl verbose
Error connecting control socket, socket='/var/lib/syslog-ng/syslog-ng.ctl', error='No such file or directory'

因此创建了 ctl 文件并根据需要更改了权限,但随后又出现错误:

连接控制套接字时出错,socket='/var/lib/syslog-ng/syslog-ng.ctl',error='连接被拒绝'

root@CHB:~# touch /var/lib/syslog-ng/syslog-ng.ctl
root@CHB:~# ls -l /var/lib/syslog-ng/syslog-ng.ctl
-rw-r--r--    1 root     root             0 Oct 21 19:11 /var/lib/syslog-ng/syslog-ng.ctl

root@CHB:~# chown syslog /var/lib/syslog-ng/syslog-ng.ctl
root@CHB:~# ls -l /var/lib/syslog-ng/syslog-ng.ctl
-rw-r--r--    1 syslog   root             0 Oct 21 19:11 /var/lib/syslog-ng/syslog-ng.ctl

root@CHB:~# chgrp syslog /var/lib/syslog-ng/syslog-ng.ctl
root@CHB:~# ls -l /var/lib/syslog-ng/syslog-ng.ctl
-rw-r--r--    1 syslog   syslog           0 Oct 21 19:11 /var/lib/syslog-ng/syslog-ng.ctl

root@CHB:~# chmod +x /var/lib/syslog-ng/syslog-ng.ctl
root@CHB:~# ls -l /var/lib/syslog-ng/syslog-ng.ctl
-rwxr-xr-x    1 syslog   syslog           0 Oct 21 19:11 /var/lib/syslog-ng/syslog-ng.ctl

root@CHB:~# syslog-ng-ctl verbose
Error connecting control socket, socket='/var/lib/syslog-ng/syslog-ng.ctl', error='Connection refused'

root@CHB:~# syslog-ng-ctl verbose --set=on
Error connecting control socket, socket='/var/lib/syslog-ng/syslog-ng.ctl', error='Connection refused'

如果有帮助,我的系统信息

root@CHB:~# cat /etc/issue
Poky (Yocto Project Reference Distro) 2.0 \n \l
root@CHB:~# uname -a
Linux CHB 3.2.48 #1 SMP Tue Mar 14 15:52:38 CET 2017 i686 GNU/Linux

如果需要任何其他信息,请告诉我。
感谢解决问题的任何帮助。

编辑2:
配置文件

#syslog settings
CS_SYSLOG_DAEMON="/usr/sbin/syslog-ng"
CS_SYSLOG_NAME="syslog-ng"
# user/group
CS_SYSLOG_USER="syslog"
CS_SYSLOG_GROUP="syslog"
# syslog port/interface to be used in syslog-ng.conf in case of remote logging
CS_SYSLOG_PORT="2020"
CS_SYSLOG_INTERFACE="eth1"
# syslog specific parameters: user, group, persist file in /tmp, in the foreground (start-stop-daemon will take care of the spawn)
CS_SYSLOG_ARGS="-u $CS_SYSLOG_USER -g $CS_SYSLOG_GROUP -R /tmp/syslog-ng.persist -F"
CS_SYSLOG_EXTRA_ARGS=

在 init.d 脚本启动命令中,以上变量均来源于之前

startdaemon $CS_SYSLOG_DAEMON $CS_SYSLOG_NAME $CS_SYSLOG_ARGS $CS_SYSLOG_EXTRA_ARGS
        ;;

syslog syslog-ng
  • 1 个回答
  • 1084 Views
Martin Hope
vvvvv
Asked: 2020-10-23 01:43:23 +0800 CST

在 syslog-ng 中使用网络指令时出现“EOF 空闲时”

  • 1

我想将日志从本地机器转发到远程服务器。借助 SSH 隧道,可以通过 localhost:5514 访问远程服务器。我写了以下conf:

# Filters
filter f_local0 { facility(local0); };
filter f_worker { program("^worker."); };

# Destinations
destination d_log01_local { file("/home/myuser/logs/worker/$YEAR$MONTH$DAY/$PROGRAM.$YEAR$MONTH$DAY" template("$HOST $MSG\n") create_dirs(yes) dir_group("adm") group("adm") dir_perm(0770) perm(0644) ); };
destination d_log01_remote { network("localhost" transport(tcp) port(5514) persist-name("remote_worker") disk-buffer( reliable(yes) disk-buf-size(50000000) )); };

# Logs
log { source(s_src); filter(f_local0); filter(f_worker); destination(d_log01_local); };
log { source(s_src); filter(f_local0); filter(f_worker); destination(d_log01_remote); };

本地目的地运行良好,但远程目的地没有:我没有在位于 localhost:5514 的服务器上收到任何日志。

当 I 时tail -f /var/log/syslog,syslog 记录以下行:

Oct 22 11:25:05 esad-10076 syslog-ng[17319]: Syslog connection established; fd='35', server='AF_INET(127.0.0.1:5514)', local='AF_INET(0.0.0.0:0)'
Oct 22 11:25:05 esad-10076 syslog-ng[17319]: EOF occurred while idle; fd='35'
Oct 22 11:25:05 esad-10076 syslog-ng[17319]: Syslog connection broken; fd='35', server='AF_INET(127.0.0.1:5514)', time_reopen='60'

我不明白这个错误,也不知道如何解决它。

我应该指定在编写这个 conf 之前,我有另一个 conf 用来syslog代替,network这个 conf 可以完美地工作。我现在只需要使用网络来使用的功能,reliable以便在网络中断的情况下不会丢失任何日志。

# Filters
filter f_local0 { facility(local0); };
filter f_worker { program("^worker."); };

# Destinations
destination d_log01_local { file("/home/myuser/logs/worker/$YEAR$MONTH$DAY/$PROGRAM.$YEAR$MONTH$DAY" template("$HOST $MSG\n") create_dirs(yes) dir_group("adm") group("adm") dir_perm(0770) perm(0644) ); };
destination d_log01_remote { syslog("localhost" transport(tcp) port(5514) persist-name("remote_worker")); };

# Logs
log { source(s_src); filter(f_local0); filter(f_worker); destination(d_log01_local); };
log { source(s_src); filter(f_local0); filter(f_worker); destination(d_log01_remote); };
tcp syslog syslog-ng
  • 1 个回答
  • 922 Views
Martin Hope
ethrbunny
Asked: 2020-06-22 04:53:22 +0800 CST

使用 syslog-ng 解析 snmptrapd - 跟不上

  • 0

(centos 7.x)

我有 syslog-ng 设置来解析 snmptrapd 消息,以便我可以格式化它们以供以后消化。问题是 syslog-ng 仅输出 n-1 消息。IE 如果 snmptrapd.log 中有 10 行 syslog-ng 仅输出 9 行。如果我向 snmptrapd 发送一条新消息(消息 #11),那么 syslog-ng 将输出第 10 条消息。

系统日志-ng.conf:

@version:3.27
@include "scl.conf"
log {
  source {
    snmptrap(filename("/var/log/snmptrapd.log"));
  };
  destination {
    file("/var/log/syslog-ng.log");
  };
};

snmptrapd.conf:

authCommunity log,execute,net public
authCommunity log,execute,net localtrap
format2 %.4y-%.2m-%.2l %.2h:%.2j:%.2k %B [%b]:\n%v\n
outputOption s

我尝试在format2的末尾添加一个额外的换行符,但它没有帮助。(虽然 snmptrapd.log 确实得到了附加行)

syslog-ng snmptrapd
  • 1 个回答
  • 279 Views
Martin Hope
nbari
Asked: 2020-06-08 12:54:26 +0800 CST

syslog-ng 将日志级别/优先级设置为警告或更多以减少冗长

  • 0

如何运行/配置syslog-ng仅高于安全日志级别/优先级的日志WARNING?

我想丢弃NOTICES像:

Destination timeout has elapsed, closing connection; fd='36'

从文档中:(https://www.syslog-ng.com/technical-documents/doc/syslog-ng-open-source-edition/3.22/administration-guide/17#TOPIC-1209129)我发现了这个:

syslog-ng OSE 应用程序从 internal() 源发送以下消息类型:

致命:优先级值:关键(2),设施值:系统日志(5)

错误:优先级值:错误(3),设施值:系统日志(5)

警告:优先级值:警告(4),设施值:系统日志(5)

notice:优先级值:notice (5),Facility 值:syslog (5)

info:优先级值:info (6),Facility 值:syslog (5)

但找不到如何将日志级别设置为warning

syslog-ng loglevel
  • 1 个回答
  • 478 Views
Martin Hope
BioRod
Asked: 2020-05-19 07:00:44 +0800 CST

如何破解我的 syslog-ng 服务器

  • -3

我最近构建了一个位于防火墙后面的 Ubuntu syslog-ng 服务器。我打开了 TCP 端口 514、515 和 516。我注意到黑客正在写入我的 syslog-ng 服务器,他们来自中国。如何破解我的系统日志服务器以仅接收来自特定服务器的日志条目?什么是最好的方法?我应该通过 iptables(这可能很乏味)还是通过 syslog-ng 服务器上的 syslog-ng.conf 文件来完成?

linux iptables syslog syslog-ng
  • 1 个回答
  • 149 Views
Martin Hope
MHF
Asked: 2020-02-20 06:06:40 +0800 CST

通过配置使用 syslog-ng 分离传入日志的 json 部分

  • 0

我收到没有任何解析的日志:

source s_network {
     network( transport(tcp) port(601) flags(no-parse));
};

我保存的日志有两部分:

  1. 接收者信息
  2. 日志的 json 部分(如下所示):

Feb 18 00:01:58 82.172.112.1 <40> 2020-02-17T20:29:49Z logserver-2 : {"method":"GET","scheme":"https","domain":"test.com","uri":"/App_Themes/font.woff","referer":"https://test.com/","ip":"31.135.115.92","ua":"Mozilla/5.0 (iPhone; CPU iPhone OS 13_3_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.5 Mobile/15E148 Safari/604.1","content_type":"text/html","status":404,"server_port":443,"bytes_sent":1222,"bytes_received":1245,"upstream_time":0.016}

我的问题是:

如何分离 json 部分(删除文本的第一部分)?

如何根据 json 数据生成文件名?例如我想保存get method在单独的文件中。

syslog syslog-ng
  • 1 个回答
  • 317 Views
Martin Hope
Darshan Prajapati
Asked: 2019-11-16 14:54:45 +0800 CST

在使用 syslog-ng 通过网络发送日志之前设置宏

  • 0

我创建了一个系统日志服务器和客户端。我想在发送到服务器的所有日志中的源宏中设置客户端序列号,以便在服务器端我可以检索宏并可以根据客户端序列号创建日志文件。以下是我的重写规则:

rewrite set_host{
    set("DEVICE_SERIAL_NO", value("SOURCE"));

};

日志{源(s_src);重写(set_host);目的地(d_net);};

在服务器端,我为日志文件编写了以下配置:

destination d_host-specific {
    file("/var/log/testlogs/$SOURCE/$YEAR/$MONTH/$HOST-$YEAR-$MONTH-$DAY.log");

};

但是在服务器端,我将 $SOURCE 的值作为 s_net。似乎 SOURCE 宏在服务器端被覆盖。如何维持从客户端到服务器的宏并在服务器端使用它?

syslog-ng
  • 1 个回答
  • 873 Views
Martin Hope
Server Fault
Asked: 2018-09-07 07:19:44 +0800 CST

拆分 syslog-ng 消息

  • 0

我想将sshd日志条目中的源 IP 地址保存到 mysql 数据库中syslog-ng。目前,我定义了一个过滤器,它匹配所需日志条目的子字符串。

我可以将日志条目完整地保存到数据库中,但是$MSG系统日志条目的一部分包含很多我不想要的额外数据。有没有办法将系统日志条目的字段“拆分”为仅将 IP 地址写入数据库?

这是我的配置:

filter f_sshd
{
   # (log entry) Sep  5 14:59:20 myhost4 sshd Starting session: shell on pts/0 for rbackup from 10.120.192.25 port 36894 id 0
   match("Starting session:" value ("MESSAGE") );
};


destination d_sshd
{
   sql( type(mysql)
   username("xxxxx")
   password("xxxxxxx")
   database("syslog")
   host("localhost")
   table("ssh")
   columns("host", "facility", "priority", "level", "pid", "tag", "timestamp", "program", "msg")
   values("$HOST", "$FACILITY", "$PRIORITY", "$LEVEL", "$PID", "$TAG","$YEAR-$MONTH-$DAY $HOUR:$MIN:$SEC","$PROGRAM", "$MSG")
   indexes("timestamp", "host", "program", "pid", "message"));
};

log
{
   # s_stunnel is defined in syslog-ng/conf.d/stunnel.conf
   source(s_stunnel);
   filter(f_sshd);
   destination(d_sshd);
};
syslog-ng
  • 1 个回答
  • 1051 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve