Журналы посещения сервера - это важнейший инструмент администратора для мониторинга активности на сервере. Система Centos 7 имеет встроенный инструмент журнала systemd для регистрации событий, которые происходят в системе. В этой статье мы рассмотрим, как просматривать журналы посещения сервера Centos 7 и как отфильтровать их по времени, IP-адресу и т.д.
Как просматривать и фильтровать журналы посещения сервера в Centos 7
Шаг 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-адресу и другим параметрам. Мы также рассмотрели, как отображать журнал в реальном времени, экспортировать его в файл и удалять старые записи. Журналы посещения сервера являются важным инструментом для мониторинга активности на сервере, и знание методов их просмотра и фильтрации поможет администраторам быстро реагировать на проблемы в системе.
Также предлагаем рассмотреть другие полезные статьи:
- Обновление и понижение версии PHP на системе CentOS 7
- Как установить Python 3.10 на CentOS 7
- Установка панели Pterodactyl на CentOS 7