0

我有服务器正在执行与网络中其他设备相关的一些处理,然后相应地将每个设备的日志保存在自己的文件中。它检查每个设备的运行状况及其数据,并且都保存在 json 日志文件中。日志文件如下所示:

rp_001_health.json  -> health logs for 001 device
rp_001_prod.json    -> production logs for 001 device

rp_002_health.json -> health logs for 002 device
rp_002_prod.json   -> production logs for 002 device

rp_003_health.json  -> health logs for 003 device
rp_003_prod.json    -> production logs for 003 device

rp_004_health.json  -> production logs for 004 device
rp_004_prod.json    -> production logs for 004 device

设备总数为 28,因此创建的日志文件总数为 56。

我正在努力将所有这些日志数据放在集中式日志系统中,从而使用elasticsearchkibana. 我已经安装td-agent并且正在为上述所有日志编写它的td-agent.conf文件,如下所示:

<source>
  @type tail
  path /home/ripe/Documents/ripeproduct/logs/rp_001_health.json
  pos_file /home/ripe/Documents/ripeproduct/logs/rp_001_health.json.pos
  format json
  time_format %Y-%m-%d %H:%M:%S
  tag health001
</source>

<source>
  @type tail
  path /home/ripe/Documents/ripeproduct/logs/rp_002_health.json
  pos_file /home/ripe/Documents/ripeproduct/logs/rp_002_health.json.pos
  format json
  time_format %Y-%m-%d %H:%M:%S
  tag health002
</source>

<filter *health*>
  @type record_transformer
  <record>
    hostname ${hostname}
    Customer "Nycil"
    Version "V2"
  </record>
</filter>

<match *health001*>
  @type elasticsearch
  hosts https://search-rpproduction-0fzlamandaofgvfcukuoyewkrtfkkw2vre.eu-west-2.es.amazonaws.com/
  user <user>
  password <pwd>
  index_name rp_health_001
  type_name health
</match>

<match *health002*>
  @type elasticsearch
  hosts https://search-rpproduction-0fzlamandaofgvfcukuoyewkrtfkkw2vre.eu-west-2.es.amazonaws.com/
  user <user>
  password <pwd>
  index_name rp_health_002
  type_name health
</match>

在上面的文件中,我有两个来源,目前我只是上传 2 个文件的日志。然后我有一个过滤部分,我在其中放置一些元数据,然后是两个匹配部分,我在其中定义我将在 elasticsearch 和 kiabana 中使用的索引模式。

现在的问题是,如果我继续为其余的日志文件构建 conf 文件,它将变得非常冗长并且无法理解,因为我总共有 56 个日志文件。有什么方法可以让所有健康日志文件使用一个源,所有产品日志文件使用一个源。

同样,我可以定义,匹配所有健康日志,并匹配所有产品日志文件。但是在这里我不确定如何放入与每个文件相关的不同索引模式。我想使用像这样的索引模式

rp_health_<device_id> -> rp_health_001 or rp_health_002

那么我怎样才能在一个匹配的所有文件中做到这一点。谁能给一些好的建议。请帮忙。谢谢

4

0 回答 0