Filebeat + logstash nail monitoring PHP error log alarm

Стиль журнала ошибок PHP

[2021-03-05T00: 04: 12 + 08: 00] 175.167.136.244 POST api.51cto.cn/User/getUserInfo
[ошибка] [10] нет логина [/var/www/html/api.51cto.cn/application/common/controllers/BaseController.php:239]

Скачать filebeat-7.10.2

filebeat.inputs:
- тип: журнал
  включен: правда
  пути:
    - /data/error/*.log
  multiline.pattern: '^ \ [\ d {4} \ - \ d {2} \ - \ d {2}'
  multiline.negate: true
  multiline.match: после
- тип: файловый поток
  включен: ложь
  пути:
    - /var/log/*.log
filebeat.config.modules:
  путь: $ {path.config} /modules.d / *. yml
  reload.enabled: false
setup.template.settings:
  index.number_of_shards: 1
setup.kibana:
output.logstash:
  хосты: ["192.168.0.1:5044"]
процессоры:
  - add_host_metadata:
      when.not.contains.tags: перенаправлено
  - add_cloud_metadata: ~
  - add_docker_metadata: ~
  - add_kubernetes_metadata: ~


logstash я использую докер

Создать файл

/data/logstash/conf/logstash.yml

http.host: "0.0.0.0"


/data/logstash/pipeline/logstash.conf

Вход {
  beats {
    порт => 5044
  }
}
filter {
    if "Допустимый размер памяти" в [сообщении] {
        уронить{}
     }
    if "Максимальное время выполнения" в [сообщение] {
        уронить{}
     }
}
выход {

  http {
    http_method => "сообщение"
    url => "http://api.xxx.cn/api/dingtalk/send"
    format => "json" # Если это форма, это форма
    mapping => {
      "access_token" => "297873a03c25bc202bf1264ca0e101847aed213213132131321"
      "msg_type" => "текст"
      "content" => "报警:% {message}"
    }
    }
}


Запустить докер

docker run -d -p 5044: 5044 -p 9600: 9600 -v /data/logstash/conf/logstash.yml:/usr/share/logstash/config/logstash.yml -v / data / logstash / pipeline: / usr / share / logstash / pipeline --restart = всегда logstash: 7.10.1

рекомендация

отblog.51cto.com/fengwan/2678093