我有一些问题,如何设置telegraf.conf文件从"zimbra.conf“文件收集日志?现在我尝试使用这个配置文本,但是它不起作用:((我想把这些日志发送到grafana )
例如,其中一行"zimbra.conf“:
10月1日10:20:46 webmail postfix/0.58 7677: BD5BAE9999: to=user@mail.com、relay=mo94.cloud.mail.com92.97.907.14:25、delay=0.73,延迟=0.09/0.01/0.58/0.19,dsn=2.0.0,status=sent (250 2.0.0 Ok:排队排队4C25fk2pjFz32N5)
我不明白"grok_patterns =“到底是如何工作的。
[[inputs.tail]]
files = ["/var/log/zimbra.log"]
from_beginning = false
grok_patterns = ['%{SYSLOGTIMESTAMP:timestamp} %{SYSLOGHOST} %{DATA:program}(?:\[%{POSINT}\])?: %{GREEDYDATA:message}']
name_override = "zimbra_access_log"
grok_custom_pattern_files = []
grok_custom_patterns = '''
TS_UNIX %{MONTH}%{SPACE}%{MONTHDAY}%{SPACE}%{HOUR}:%{MINUTE}:%{SECOND}
TS_CUSTOM %{MONTH}%{SPACE}%{MONTHDAY} %{HOUR}:%{MINUTE}:%{SECOND}
'''
grok_timezone = "Local"
data_format = "grok"
发布于 2020-10-09 08:44:29
我已经将您的示例行复制到一个名为Prueba.txt wich的日志文件中,其中包含以下几行:
Oct 3 00:52:32 webmail postfix/smtp[7677]: BD5BAE9999: to=user@mail.com, relay=mo94.cloud.mail.com[92.97.907.14]:25, delay=0.73, delays=0.09/0.01/0.58/0.19, dsn=2.0.0, status=sent (250 2.0$
Oct 13 06:25:01 webmail systemd-logind[949]: New session 229478 of user zimbra.
Oct 13 06:25:02 webmail zmconfigd[27437]: Shutting down. Received signal 15
Oct 13 06:25:02 webmail systemd-logind[949]: Removed session c296.
Oct 13 06:25:03 webmail sshd[28005]: Failed password for invalid user julianne from 120.131.2.210 port 10570 ssh2
我已经能够用这个tail.input插件的配置来解析数据:
[[inputs.tail]]
files = ["Prueba.txt"]
from_beginning = true
data_format = "grok"
grok_patterns = ['%{TIMESTAMP_ZIMBRA} %{GREEDYDATA:source} %{DATA:program}(?:\[%{POSINT}\])?: %{GREEDYDATA:message}']
grok_custom_patterns = '''
TIMESTAMP_ZIMBRA (\w{3} \d{1,2} \d{2}:\d{2}:\d{2})
'''
name_override = "log_frames"
您需要将输入字符串与正则表达式匹配。为此,可以使用一些预定义模式(如GREEDYDATA = .*
)来匹配输入(另一个示例是NUMBER = (?:%{BASE10NUM}) BASE16NUM (?<![0-9A-Fa-f])(?:[+-]?(?:0x)?(?:[0-9A-Fa-f]+))
)。您还可以在grok_custom_patterns中定义自己的模式。看看这个网站,有几个模式:https://streamsets.com/documentation/datacollector/latest/help/datacollector/UserGuide/Apx-GrokPatterns/GrokPatterns_title.html
在本例中,我定义了一个TIMESTAMP_ZIMBRA模式,用于匹配Oct 3 00:52:32和10月03 00:52:33相同的输入。
以下是普罗米修斯收集的指标:
# HELP log_frames_delay Telegraf collected metric
# TYPE log_frames_delay untyped
log_frames_delay{delays="0.09/0.01/0.58/0.19",dsn="2.0.0",host="localhost.localdomain",message="BD5BAE9999:",path="Prueba.txt",program="postfix/smtp",relay="mo94.cloud.mail.com[92.97.907.14]:25",source="webmail",status="sent (250 2.0.0 Ok: queued as 4C25fk2pjFz32N5)",to="user@mail.com"} 0.73
P.D.:确保telegraf能够访问日志文件.
https://stackoverflow.com/questions/64266417
复制相似问题