Назад | Перейти на главную страницу

Отправка журналов с сервера приложений на сервер ELK с битами

Я создаю анализатор журналов для производственной среды. Мой сценарий таков: мне нужно установить upelasticsearch, Logstash и kibana на одном сервере centos7, который будет использовать сервер ELK, другой - сервер apache (удаленный сервер).

Я настроил следующее, например

(i) .ELK server - elasticsearch, kibana, logstash с прокси nginx

(ii) .Application server (сервер apache) - установленные биты на сервере apache

(i) Конфигурация сервера .ELK

Конфигурация Elasticsearch

vi /etc/elasticsearch/elasticsearch.yml

network.host: локальный

http.port: 9200

Конфигурация приборной панели Kibana

vi /etc/kibana/kibana.yml

server.port: 5601
server.host: "localhost"
elasticsearch.hosts: ["http://localhost:9200"]

Конфигурация Nginx:

server {
listen 80;
server_name 172.xx.xx.xx;
location / {
    proxy_pass http://localhost:5601;
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection 'upgrade';
    proxy_set_header Host $host;
    proxy_cache_bypass $http_upgrade;
  }
}

Конфигурация Logstash

кот /etc/logstash/conf.d/02-beats-input.conf

input {
  beats {
  port => 5044
 }
}

Я тоже настроил раздел фильтров ..

кот /etc/logstash/conf.d/30-elasticsearch-output.conf

output {
 elasticsearch {
  hosts => ["localhost:9200"]
  sniffing => true
  manage_template => false
  index => "%{[@metadata][beat]}-%{[@metadata][version]}-%{+YYYY.MM.dd}"
 }
}

ii) Конфигурация сервера приложений Beats

Я установил beats на сервере приложений и отправляю журналы с logstash.

Конфигурация Filebeat:

кошка /etc/filebeat/filebeat.yml

output.logstash:
   #the logstash hosts
hosts: ["172.xx.xx.xx:5044"]

здесь я не уверен, как загрузить шаблон индекса filebeat, индекс и панель инструментов в kibana. Когда я пытаюсь запустить команду «filebeat setup» с сервера Apache, я получил следующую ошибку.

[root@webserver ~]# filebeat setup
Exiting: Index management requested but the Elasticsearch output is not configured/enabled.

Я знаю, что если я настрою filebeat с выводом elasticsearch, я могу загружать индексы прямо в kibana. Но я не хочу, чтобы сервер Apache напрямую контактировал с elasticsearch.

Может ли кто-нибудь подсказать, как я могу загрузить «индекс, шаблон индекса и информационные панели» непосредственно с сервера apache в kibana, когда настроенный вывод данных в logstash.

Я просмотрел множество сайтов, но не получил ответов. Есть ли какой-либо другой альтернативный метод (например, метод импорта) для загрузки индекса filebeat сервера Apache на сервере kibana и elk.

Я очень хочу подождать, пока кто-нибудь решит эту проблему.

Спасибо

Кумар

Во-первых, посмотрите, как события попадают с исходного сервера в ElasticSearch.

[App-Server --> Log-file --> Beats] --> [Logstash --> ElasticSearch].

Сервер Apache, сервер приложений, не имеет возможности взаимодействовать с ElasticSearch в этой конфигурации. Следовательно, команды beats для настройки индекса, шаблона и панелей мониторинга не будут работать оттуда. Однако ваша архитектура не рассчитана на использование Beats! Предполагается, что Logstash отправляет события в ElasticSearch. Кибана прекрасно справится с этим.

Если вы пойдете в Кибана управление а потом шаблоны индекса, появится список ваших текущих индексов. С вашей конфигурацией beats to logstash у вас должны быть файлы. Установите подстановочный знак для индексов, которые вы хотите искать.