MOON
Server: Apache
System: Linux vps.erhabenn.com.br 3.10.0-1160.119.1.el7.tuxcare.els2.x86_64 #1 SMP Mon Jul 15 12:09:18 UTC 2024 x86_64
User: machen (1008)
PHP: 8.2.31
Disabled: NONE
Upload Files
File: //etc/opt/microsoft/omsagent/sysconf/omsagent.d/mysql_logs.conf
# MySQL General Log

<source>
  type tail
  tag oms.api.MySQL.General.logs
  format /^((?<Timestamp>[\d\-]{4,10}\s{0,4}\d{0,2}:\d{0,2}:\d{0,2}|[\d\-T:\.Z]{20,30})|\s{0,10})\s+(?<Id>\d+)\s+(?<Command>\w+)\s+(?<Arguments>\z|.+)$/
  path /var/log/mysql/mysql.log
  pos_file /var/opt/microsoft/omsagent/state/var_log_mysql_log.pos
</source>

# MySQL Error Log

<source>
  type tail
  tag oms.api.MySQL.Error.logs
  format /^(?<Timestamp>[\d\-]{4,10}\s{0,4}\d{0,2}:\d{0,2}:\d{0,2}|[\d\-T:\.Z]{20,30})\s{0,4}(?<Id>\d+)?\s{0,4}(\[(?<Command>[A-Za-z]+)\])?\s+(?<Arguments>.*)$/
  path /var/log/mysql/error.log
  pos_file /var/opt/microsoft/omsagent/state/var_log_mysql_error_log.pos
</source>

# MySQL Slow Query Log

<source>
  type tail
  tag oms.api.MySQL.SlowQuery.logs
  format multiline
  format_firstline /^\s{0,2}\#\s{0,2}User@Host/
  format1 /^\s{0,2}\#\s{0,2}User@Host: +(?<UserHost>.+\])\s*(Id\:\s*(?<Id>\d+))?\n/
  format2 /^\#\s{0,4}Query_time\:\s{0,4}(?<QueryTime>[\-\+]?[\.\d]*)\s{0,4}Lock_time\:\s{0,4}(?<LockTime>[\-\+]?[\.\d]*)\s{0,4}Rows_sent\:\s{0,4}(?<RowsSent>\d*)\s{0,4}Rows_examined\:\s{0,4}(?<RowsExamined>\d*)[^;]*(\;)?\n/
  format3 /^\s{0,4}SET\s{0,4}timestamp\=(?<Timestamp>\d*)\;\s{0,4}\n/
  format4 /^(?<Query>[^;]*;)/
  multiline_flush_interval 4s
  path /var/log/mysql/mysql-slow.log
  pos_file /var/opt/microsoft/omsagent/state/var_log_mysql_slow_log.pos
  types QueryTime:float,LockTime:float,RowsSent:integer,RowsExamined:integer
</source>

# Filter Plugins

# All MySQL Logs
<filter oms.api.MySQL.**>
  type record_transformer
  enable_ruby
  <record>
    ResourceName MySQL
    ResourceType ${tag.split('.')[3]}
    Computer ${OMS::Common.get_hostname}
    ResourceId ${OMS::Common.get_hostname}
  </record>
</filter>

# General Logs
<filter oms.api.MySQL.General.logs>
  type record_transformer
  enable_ruby
  <record>
    Timestamp ${DateTime.parse(record["Timestamp"]).strftime("%FT%H:%M:%S.%3NZ") if record["Timestamp"]}
  </record>
</filter>

# Slow Query Logs
<filter oms.api.MySQL.SlowQuery.logs>
  type record_transformer
  enable_ruby
  <record>
    Timestamp ${OMS::Common.format_time(record["Timestamp"].to_i)}
  </record>
</filter>

#Error Logs
<filter oms.api.MySQL.Error.logs>
  type record_transformer
  enable_ruby
  <record>
    Timestamp ${DateTime.parse(record["Timestamp"]).strftime("%FT%H:%M:%S.%3NZ")}
  </record>
</filter>

# Output Plugin

<match oms.api.MySQL.**>
  type out_oms_api
  log_level info
  run_in_background false

  buffer_chunk_limit 5m
  buffer_type file
  buffer_path /var/opt/microsoft/omsagent/state/out_oms_api_mysql_logs*.buffer
  buffer_queue_limit 10
  flush_interval 20s
  retry_limit 6
  retry_wait 30s
  max_retry_wait 30m
</match>