Я бы хотел отличаться от ответа Ишары. Вы можете отправлять журналы напрямую из filebeat вasticsearch без использования logsta sh, если ваши журналы являются обобщенными c типами (системные журналы, nginx журналы, apache журналы), используя этот подход Вам не нужно go влечет за собой дополнительные расходы и обслуживание logsta sh, поскольку filebeat обеспечивает встроенный процессор синтаксического анализа.
Если на вашем сервере установлена ОС на основе Debian, я подготовил сценарий оболочки для установки и настройки filebeat. Вам необходимо изменить URL-адрес сервераasticsearch и изменить вторую последнюю строку в зависимости от модулей, которые вы хотите настроить.
Что касается вашего первого вопроса, да, вы можете запустить агент filebeat на каждом сервере и отправить данные для централизации Elasticsearch. По вашему второму вопросу, это зависит от количества логов, которые будет обрабатывать и хранить на сервереласти. Это также зависит от того, где находится кибана.
sudo wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
sudo echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-7.x.list
sudo apt-get update && sudo apt-get install -y filebeat
sudo systemctl enable filebeat
sudo bash -c "cat >/etc/filebeat/filebeat.yml" <<FBEOL
filebeat.inputs:
filebeat.config.modules:
path: ${path.config}/modules.d/*.yml
reload.enabled: false
setup.template.name: "filebeat-system"
setup.template.pattern: "filebeat-system-*"
setup.template.settings:
index.number_of_shards: 1
setup.ilm.enabled: false
setup.kibana:
output.elasticsearch:
hosts: ["10.32.66.55:9200", "10.32.67.152:9200", "10.32.66.243:9200"]
indices:
- index: "filebeat-system-%{+yyyy.MM.dd}"
when.equals:
event.module: system
processors:
- add_host_metadata: ~
- add_cloud_metadata: ~
- add_docker_metadata: ~
- add_kubernetes_metadata: ~
logging.level: warning
FBEOL
sudo filebeat modules enable system
sudo systemctl restart filebeat