ВОЙТИ
    opened image

    Журналы посещения сервера - это важнейший инструмент администратора для мониторинга активности на сервере. Система Centos 7 имеет встроенный инструмент журнала systemd для регистрации событий, которые происходят в системе. В этой статье мы рассмотрим, как просматривать журналы посещения сервера Centos 7 и как отфильтровать их по времени, IP-адресу и т.д.

    Шаг 1: Открыть журнал

    Первым шагом является открытие журнала, который содержит информацию о посещении сервера. В Centos 7 используется утилита journalctl для работы с журналом. Чтобы открыть журнал, необходимо запустить следующую команду:

    journalctl
    

     

    Эта команда откроет журнал и покажет последние записи. Чтобы просмотреть больше записей, можно использовать ключ -n, который указывает количество записей, которые нужно показать. Например, чтобы показать последние 100 записей, нужно использовать следующую команду:

    journalctl -n 100
    

     

    Шаг 2: Фильтрация журнала

    Чтобы отфильтровать журнал по конкретному IP-адресу или временному интервалу, можно использовать различные ключи.

    Фильтрация по IP-адресу:

    Для фильтрации журнала по IP-адресу необходимо использовать ключ -a, который указывает IP-адрес, по которому нужно производить фильтрацию. Например, чтобы отфильтровать журнал по IP-адресу 192.168.1.100, нужно использовать следующую команду: 

    journalctl -a _SYSTEMD_UNIT=httpd.service _COMM=httpd | grep '192.168.1.100'
    

     

    Эта команда отфильтрует журнал по IP-адресу 192.168.1.100 и покажет только записи, содержащие этот IP-адрес.

    Фильтрация по времени:

    Для фильтрации журнала по временному интервалу можно использовать ключ -S, который указывает начальное время, и ключ -U, который указывает конечное время. Например, чтобы отфильтровать журнал за последние 24 часа, нужно использовать следующую команду:

    journalctl --since "yesterday" --until "now"
    

    Вы можете фильтровать журналы, начиная с определенного времени или в определенный промежуток времени, используя опции -S (с начала) и -U (до конца).

    Например, чтобы просмотреть журналы с 10 утра 2 марта 2023 года, вы можете использовать команду:

    journalctl -S "2023-03-02 10:00:00" 

    Или чтобы просмотреть журналы в определенный промежуток времени, вы можете использовать команду:

     

    journalctl -S "2023-03-02 10:00:00" -U "2023-03-02 12:00:00"

     

    По уровню важности: Вы можете отфильтровать журналы по уровню важности (priority), используя опцию -p или --priority.

    Например, чтобы отобразить все сообщения с уровнем важности "error" и выше, вы можете использовать команду:

    journalctl -p err

     

    По идентификатору процесса (PID): Вы можете фильтровать журналы по идентификатору процесса (PID), используя опцию _PID.

    Например, чтобы отобразить все сообщения от процесса с PID 1234, вы можете использовать команду:

    journalctl _PID=1234 

    По пользователю или группе: Вы можете фильтровать журналы по идентификатору пользователя (UID) или группы (GID), используя опции _UID и _GID соответственно.

    Например, чтобы отобразить все сообщения от пользователя с UID 1000, вы можете использовать команду:

     
    journalctl _UID=1000

     

    Шаг 3: Отображение журнала в реальном времени

    Чтобы отслеживать журнал в реальном времени, можно использовать ключ -f, который отображает новые записи в журнале по мере их появления. Например, чтобы отслеживать журнал посещения сервера в реальном времени, нужно использовать следующую команду:

    journalctl -f
    

    Эта команда отображает новые записи в журнале по мере их появления и позволяет быстро реагировать на проблемы в системе.

    Шаг 4: Экспорт журнала

    Чтобы экспортировать журнал в файл, можно использовать ключ -o, который указывает формат экспорта и путь к файлу. Например, чтобы экспортировать журнал в формате CSV в файл /var/log/access_log.csv, нужно использовать следующую команду:

    journalctl -o json | jq -r '[.PRIORITY, .MESSAGE, ._PID] | @csv' > /var/log/access_log.csv
    

    Эта команда экспортирует журнал в формате CSV и записывает его в файл /var/log/access_log.csv.

     

    Шаг 5: Удаление старых записей

    Журналы посещения сервера могут занимать большой объем дискового пространства со временем. Чтобы очистить журнал и удалить старые записи, можно использовать ключ -vacuum-size, который удаляет записи, чтобы общий размер журнала не превышал указанный размер. Например, чтобы удалить записи в журнале, чтобы его размер не превышал 1 ГБ, нужно использовать следующую команду:

    journalctl --vacuum-size=1G
    

    Эта команда удалит старые записи в журнале, чтобы его размер не превышал 1 ГБ.

    Заключение

    В этой статье мы рассмотрели, как просматривать журналы посещения сервера Centos 7 и как отфильтровать их по времени, IP-адресу и другим параметрам. Мы также рассмотрели, как отображать журнал в реальном времени, экспортировать его в файл и удалять старые записи. Журналы посещения сервера являются важным инструментом для мониторинга активности на сервере, и знание методов их просмотра и фильтрации поможет администраторам быстро реагировать на проблемы в системе.