Подтвердить что ты не робот

Предложение по установке Logstash

Я реализовал logstash (в тестировании), как указано ниже.

enter image description here

Разрыв компонента

  • Клиент Rsyslog: По умолчанию syslog установлен во всех Linux-дисках, нам просто нужно настроить rsyslog для отправки журналов на удаленный сервер.
  • Logstash: Logstash будет получать журналы из клиента syslog, и он будет магазин в Редисе.
  • Redis: Redis будет работать брокером, брокер должен хранить данные журнала, отправленные агентами, до того, как индексы logstash его будут содержать. Наличие брокера повысит производительность сервера стартапов, Redis будет действовать как буфер для данных журнала, до тех пор, пока logstash не индексирует его и не сохранит. Как и в ОЗУ, это слишком быстро.
  • Logstash: да, два экземпляра logstash, первый для сервера syslog, 2nd для чтения данных из redis и отправки в elasticsearch.
  • Elasticsearch: Основная задача центрального сервера журналов - собрать все журналы в одном месте, а также предоставить некоторые значимые данные для анализа. Как и вы, вы должны иметь возможность искать все данные журнала для своего конкретного приложения в определенный период времени. Поэтому на нашем сервере журнальной статистики должен быть поиск и индексирование. Чтобы достичь этого, мы установим еще один инструмент с открытым исходным кодом, называемый elasticsearch.Elasticsearch использует механизм создания индекса, а затем выполняет поиск этого индекса, чтобы сделать его быстрее. Это своего рода поисковая система для текстовых данных.
  • Kibana: Kibana - удобный способ просмотра, поиска и визуализации ваши данные журнала

Но я немного путаюсь с redis. используя этот сценарий, я буду запускать 3 процесса java на сервере Logstash и один redis, это займет hugh ram.

Вопрос Могу ли я использовать только один логсташ и эластичный поиск? Или что было бы лучше?

4b9b3361

Ответ 1

Я нахожусь в самом начале настройки logstash, redis, elasticsearch, kibana (или ELK-архитектуры) в моей компании.

У меня есть процессы, разделенные между виртуальными машинами. Если вы можете поставить их на одну машину, что произойдет, если машина умрет? Затем вы остаетесь с индексом и кластером в одно и то же время.

У вас также возникла проблема неспособности правильно воспроизвести ваши осколки на Elasticsearch. Поскольку у вас только один сервер, осколки не будут реплицироваться, и ваше здоровье кластера всегда будет желтым. Вам нужно добавить достаточное количество серверов, чтобы избежать сценария split-brain.

Зачем оставлять Redis?

Поскольку Redis может разговаривать с несколькими индексаторами журналов, одним из ключевых моментов является то, что это делает индексирование прозрачным для ваших грузоотправителей в том случае, если один индексир идет вниз, альтернативы поднимут нагрузку. Это делает вашу установку высокой доступностью.

Это не просто вопрос регистрации журналов и их индексирование и поиск. Хотя ваша установка, вероятно, будет работать в очень маленькой, редкой ситуации, люди, которые работают с настройками ELK, составляют сотни серверов, даже тысяч, поэтому архитектура ELK предназначена для масштабирования. Все эти серверы также нуждаются в дистанционном управлении под названием Puppet.

Наконец, если вы еще не прочитали его, я предлагаю вам прочитать книгу "Logstash" Джеймса Тернбулла.

Ниже приведены некоторые более рекомендуемые книги, которые мне помогли:

  • Pro Puppet, второе издание
  • Поваренная книга Elasticsearch, второе издание
  • Кулинарная книга Redis
  • Redis in Action
  • Освоение Elasticsearch
  • Сервер ElasticSearch
  • Elasticsearch: окончательное руководство
  • Типы и поставщики марионеток
  • Кулинарная книга кукольного кулинара

Ответ 2

Вы можете использовать только один logstash и elasticsearch, если вы поместите весь экземпляр в машину. Logstash непосредственно читает файл syslog, используя плагин ввода файлов.

В противном случае вы должны использовать два logstash и redis. Это связано с тем, что logstash не имеет никакого механизма буферизации, поэтому ему необходимо повторно использовать его брокера для буферизации события журнала. Redis не использует больше баранов. Когда logstash считывает из него событие журнала, память освобождается. Если redis использует большой барабан, вы должны добавить logstash рабочие для более быстрой обработки журналов.

Ответ 3

Вы должны запускать только один экземпляр logstash. logstash по дизайну имеет возможность иметь несколько входных каналов и выходных каналов.

input {
    # input instances
    syslog {
        # add other settings accordingly
        type => "syslog"
    }
    redis {
        # add other settings accordingly
        type => "redis"
    }
}
filter {
    # add other settings accordingly
}
output {
    # output instances
    if [type] == "syslog" {
        redis {
            # add other settings accordingly
        }
    }
    else if [type] == "redis" {
        elasticsearch {
            # add other settings accordingly
        }
    }
}