Современные системы хранения предъявляют повышенные требования к гибкости управления дисковым пространством и классических дисковых устройств с размещенными на них разделами становится недостаточно. Это привело к созданию многих высокоуровневых инструментов, одним из которых является Менеджер логических томов (Logical volume management) — LVM в Linux. Это простой и мощный инструмент, позволяющий управлять пространством хранения абстрагировавшись от физических устройств и в данной статье мы начнем знакомство с ним.
Архив метки: Linux
Полезные команды Linux
Источник: https://unixhost.pro/clientarea/knowledgebase/30/poleznye-komandy-linux.html
РУКОВОДСТВО ПО УСТАНОВКЕ JITSI MEET В LINUX
Jitsi Meet — это бесплатное программное обеспечение для видеоконференций с открытым исходным кодом на базе WebRTC, которое работает на Linux, macOS, Windows, iOS и Android. Если вы не доверяете Zoom, вы можете запустить собственную платформу для видеоконференций на собственном сервере. Преимущество Jitsi Meet заключается в том, что все ваши данные передаются только через ваш сервер, а шифрование TLS обеспечивает защиту от перехвата и прослушивания. Это руководство покажет вам, как установить Jitsi Meet на сервер Ubuntu 18.04 и 20.04, а также Debian 10.

ОСОБЕННОСТИ JITSI MEET
- Совершенно бесплатно
- Поделитесь экраном своего компьютера с другими (Screensharing)
- Режим докладчика, который позволяет одновременно использовать экран и камеру
- Вы можете поделиться системным звуком во время демонстрации экрана
- Вы можете назначить авторизованных пользователей модераторами. Модератор может отключить звук у каждого участника одним щелчком мыши
- Связь по сети зашифрована с использованием DTLS-SRTP
- Сквозное шифрование
- Вы можете установить пароль для своей конференции, чтобы предотвратить вход случайных незнакомцев
- Запишите конференцию и сохраните ее в Dropbox
- Транслируйте на YouTube Live и сохраняйте запись на YouTube
- Приложения для Android и iOS
- Текстовый чат
- Вы можете поделиться текстовым документом
- Телефонный доступ к конференции
- Исходящий вызов телефонному абоненту
- Вы можете встроить вызов Jits Meet на любую веб-страницу с помощью всего нескольких строк кода
СИСТЕМНЫЕ ТРЕБОВАНИЯ
Вам понадобится:
- Linux сервер и non-root user с привилегиями sudo
- Доменное имя, указывающее на ваш сервер
ШАГ 1. УСТАНОВИТЕ JITSI MEET ИЗ ОФИЦИАЛЬНОГО РЕПОЗИТОРИЯ ПАКЕТОВ
Jitsi Meet не включен в репозиторий Ubuntu по умолчанию. Мы можем установить его из официального репозитория пакетов Jitsi, который также содержит несколько других полезных программных пакетов. Войдите на свой сервер через SSH, затем выполните следующую команду, чтобы добавить официальный репозиторий Jitsi.
echo 'deb https://download.jitsi.org stable/' | sudo tee /etc/apt/sources.list.d/jitsi-stable.list
Импортируйте открытый ключ Jitsi, чтобы менеджер пакетов APT мог проверять целостность пакетов, загруженных из этого репозитория.
wget -qO - https://download.jitsi.org/jitsi-key.gpg.key | sudo apt-key add -
Поскольку для репозитория Jitsi требуется HTTPS-соединение, нам нужно установить пакет apt-transport-https, чтобы APT установил HTTPS-соединение с репозиторием Jitsi.
sudo apt install apt-transport-https
Затем обновите локальный индекс пакета и установите Jitsi Meet в Ubuntu.
sudo apt update
sudo apt install jitsi-meet
Во время установки вам необходимо ввести имя хоста для вашего экземпляра Jitsi. Это имя хоста, которое будет отображаться в адресной строке веб-браузера, когда посетители присоединятся к вашей видеоконференции. Вы можете использовать описательное имя хоста, например meet.example.com.

На следующем экране вы можете выбрать создание нового самозаверяющего сертификата TLS (Generate a new self-signed certificate), чтобы позже вы могли получить и установить доверенный сертификат Let’s Encryption.

В процессе установки будут настроены некоторые параметры ядра Linux, которые сохраняются в файле /etc/sysctl.d/20-jvb-udp-buffers.conf. После завершения установки Jitsi Meet автоматически запустится. Вы можете проверить его статус с помощью:
systemctl status jitsi-videobridge2
Пример вывода:
? jitsi-videobridge2.service - Jitsi Videobridge
Loaded: loaded (/lib/systemd/system/jitsi-videobridge2.service; enabled; vendor preset: enabled)
Active: active (running) since Fri 2020-04-24 12:11:13 UTC; 3min 27s ago
Main PID: 3665 (java)
Tasks: 37 (limit: 65000)
CGroup: /system.slice/jitsi-videobridge2.service
L-3665 java -Xmx3072m -XX:+UseConcMarkSweepGC -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/tmp Dnet.java.sip.communicator.SC_HOME_DIR_LOCATION=/etc/jitsi -Dnet.java.sip.communicator.SC_HO
Пакет jitsi-meet также извлекал другие пакеты в качестве зависимостей, например
- openjdk-8-jre-headless: среда выполнения Java. Это необходимо, потому что Jitsi Meet написан на языке Java.
- jicofo: Jitsi Conference Focus (
systemctl status jicofo) - prosody: Легкий сервер Jabber / XMPP (
systemctl status prosody) - coturn: сервер TURN и STUN для VoIP (
systemctl status coturn)
ШАГ 2. ОТКРОЙТЕ ПОРТЫ В БРАНДМАУЭРЕ
Jitsi Meet прослушивает несколько портов UDP, что можно увидеть с помощью следующей команды. (Если на вашем сервере Ubuntu нет команды netstat, вы можете запустить команду sudo apt install net-tools, чтобы установить ее.)
sudo netstat -lnptu | grep java

Чтобы участники могли присоединиться к видеоконференции из веб-браузера, вам необходимо открыть TCP-порт 80 и 443. А для передачи видео по сети откройте UDP-порт 10000 и 5000. Если вы используете брандмауэр UFW, запустите следующую команду, чтобы открыть эти порты.
sudo ufw allow 80,443/tcp
sudo ufw allow 10000,5000/udp
ШАГ 3. ПОЛУЧИТЕ ДОВЕРЕННЫЙ СЕРТИФИКАТ LET’S ENCRYPT TLS
Перейдите в службу хостинга DNS (обычно это ваш регистратор домена), чтобы создать запись DNS A для вашего имени хоста Jitsi (meet.example.com). Затем запустите следующий скрипт, чтобы получить доверенный сертификат Let’s Encrypt TLS:
sudo /usr/share/jitsi-meet/scripts/install-letsencrypt-cert.sh
Введите свой адрес электронной почты, чтобы получать важные уведомления об учетной записи. Затем он загрузит certbot и получит сертификат TLS.
This script will:
- Need a working DNS record pointing to this machine(for domain jitsi.example.com)
- Download certbot-auto from https://dl.eff.org to /usr/local/sbin
- Install additional dependencies in order to request Let’s Encrypt certificate
- If running with jetty serving web content, will stop Jitsi Videobridge
- Configure and reload nginx or apache2, whichever is used
- Configure the coturn server to use Let's Encrypt certificate and add required deploy hooks
- Add command in weekly cron job to renew certificates regularly
You need to agree to the ACME server's Subscriber Agreement (https://letsencrypt.org/documents/LE-SA-v1.1.1-August-1-2016.pdf)
by providing an email address for important account notifications
Enter your email and press [ENTER]:
Если все в порядке, вы увидите следующее сообщение, указывающее, что сертификаты TLS были успешно получены и установлены.

Обратите внимание, что этот сценарий использует запрос http-01, что означает, что ваш веб-сервер Apache или Nginx должен прослушивать порт 80 общедоступного IP-адреса. Если ваша серверная среда не поддерживает вызов http-01, вам не следует запускать приведенный выше сценарий. Вам нужно использовать другие типы задач. В этом случае используем вызов DNS.
sudo certbot --agree-tos -a dns-cloudflare -i nginx --redirect --hsts --staple-ocsp --email me@example.com -d meet.example.com
Где:
--agree-tos: примите условия использования.-a dns-cloudflare: используем плагин DNS cloudflare для аутентификации, потому что используем службу Cloudflare DNS.-i nginx: использовать плагин nginx для установки сертификата TLS. Если вы используете Apache, вам необходимо заменить nginx на apache.--redirect: принудительно использовать HTTPS с помощью 301 редиректа.--hsts: добавлять заголовок Strict-Transport-Security к каждому ответу HTTP. Заставить браузер всегда использовать TLS для домена. Защищает от удаления SSL/TLS.--staple-ocsp: включает сшивание OCSP. Допустимый ответ OCSP прикреплен к сертификату, который сервер предлагает во время TLS.
ШАГ 4. ВКЛЮЧИТЕ HTTP2
HTTP2 может улучшить скорость загрузки веб-страницы. Чтобы включить HTTP2 в Nginx, отредактируйте файл конфигурации виртуального хоста.
sudo nano /etc/nginx/sites-enabled/meet.example.com.conf
Найдите следующие две строки.
listen 443 ssl;
listen [::]:443 ssl;
Добавьте http2 в конце каждой строки.
listen 443 ssl http2;
listen [::]:443 ssl http2;
Сохраните и закройте файл. Затем перезагрузите Nginx, чтобы изменения вступили в силу.
sudo systemctl reload nginx
ШАГ 5. НАЧНИТЕ НОВУЮ ОНЛАЙН-ВСТРЕЧУ
Теперь посетите https://meet.example.com, и вы сможете начать конференцию. Для передачи звука вам необходимо разрешить веб-браузеру использовать ваш микрофон. А для передачи видео вам необходимо разрешить веб-браузеру доступ к вашей камере.

Дайте вашей встрече название и нажмите кнопку Go. После начала собрания вы можете при желании установить пароль для собрания.

ШАГ 6. НАСТРОЙТЕ АУТЕНТИФИКАЦИЮ ПОЛЬЗОВАТЕЛЯ
По умолчанию любой может перейти к вашему серверу Jitsi Meet, создать комнату и начать собрание. Чтобы настроить аутентификацию пользователя, отредактируйте файл конфигурации Prosody.
sudo nano /etc/prosody/conf.d/meet.example.com.cfg.lua
Найдите следующую строку.
authentication = "anonymous"
Измените его на следующее, что потребует от пользователя ввода имени пользователя и пароля для начала конференции.
authentication = "internal_plain"
Однако мы не хотим, чтобы участники вводили имя пользователя и пароль при присоединении к конференции, поэтому нам нужно создать анонимный вход для гостей, добавив следующие строки в конец этого файла. Обратите внимание, что вам не нужно создавать запись A DNS для guest.meet.example.com.
VirtualHost "guest.meet.example.com"
authentication = "anonymous"
c2s_require_encryption = false
Сохраните и закройте файл. Затем отредактируйте файл конфигурации Jitsi Meet.
sudo nano /etc/jitsi/meet/meet.example.com-config.js
Найдите следующую строку:
// anonymousdomain: 'guest.example.com',
Удалите двойные косые черты и измените гостевой домен. Замените meet.example.com своим настоящим именем хоста Jitsi Meet.
anonymousdomain: 'guest.meet.example.com',
Сохраните и закройте файл. Затем отредактируйте файл конфигурации Jicofo.
sudo nano /etc/jitsi/jicofo/sip-communicator.properties
Добавьте следующую строку в конец этого файла.
org.jitsi.jicofo.auth.URL=XMPP:meet.example.com
Сохраните и закройте файл. Перезапустите службы systemd, чтобы изменения вступили в силу.
sudo systemctl restart jitsi-videobridge2 prosody jicofo
Чтобы создать учетные записи пользователей в Jisi Meet, выполните следующую команду. Вам будет предложено ввести пароль для нового пользователя.
sudo prosodyctl register username meet.example.com
Теперь, если вы создаете комнату в Jitsi Meet, вам нужно будет ввести имя пользователя и пароль.

СОВЕТЫ ПО УСТРАНЕНИЮ НЕПОЛАДОК
Если вы столкнулись с ошибками, вы можете проверить журнал ошибок Nginx (/var/log/nginx/error.log), чтобы узнать, что не так. Также проверьте журналы служб systemd.
sudo journalctl -eu jitsi-videobridge2
sudo journalctl -eu prosody
sudo journalctl -eu jicofo
Если вы видите ошибку You have been disconnected (Вы были отключены) при запуске собрания в Jitsi, возможно, вы забыли изменить meet.example.com на свое настоящее имя хоста Jitsi Meet в файлах конфигурации.

ОПЦИОНАЛЬНО: НАСТРОИТЬ JIGASI ДЛЯ ТЕЛЕФОННОГО НАБОРА ИЛИ ИСХОДЯЩЕГО ВЫЗОВА
Jitsi предлагает телефонный интерфейс, который позволяет пользователям подключаться к конференции или делать звонки с напоминанием. Установите пакет jigasi (шлюз Jitsi для SIP).
sudo apt install jigasi
Во время установки вам нужно будет ввести свое имя пользователя и пароль SIP. Если у вас его нет, вы можете создать бесплатную учетную запись SIP на сайте OnSIP.com.

Если вы настроили аутентификацию пользователя на шаге 6, вам необходимо отредактировать файл конфигурации Jigasi.
sudo nano /etc/jitsi/jigasi/sip-communicator.properties
Найдите следующие строки.
# org.jitsi.jigasi.xmpp.acc.USER_ID=SOME_USER@SOME_DOMAIN
# org.jitsi.jigasi.xmpp.acc.PASS=SOME_PASS
# org.jitsi.jigasi.xmpp.acc.ANONYMOUS_AUTH=false
Раскомментируйте их и введите учетную запись и пароль, которые вы создали на шаге 6.
org.jitsi.jigasi.xmpp.acc.USER_ID=user1@meet.example.com
org.jitsi.jigasi.xmpp.acc.PASS=user1_password
org.jitsi.jigasi.xmpp.acc.ANONYMOUS_AUTH=false
Сохраните и закройте файл. Перезапустите службу jigasi systemd.
sudo systemctl restart jigasi
ОПЦИОНАЛЬНО: НАСТРОИТЬ COTURN
Если во время установки Jitsi Meet вы видите следующее сообщение, вам необходимо настроить Coturn, чтобы он работал правильно.
Warning! Could not resolve your external ip address! Error:^
Your turn server will not work till you edit your /etc/turnserver.conf config file.
You need to set your external ip address in external-ip and restart coturn service.
Отредактируйте файл конфигурации Coturn.
sudo nano /etc/turnserver.conf
Найдите следующую строку.
external-ip=127.0.0.1
Замените 127.0.0.1 общедоступным IP-адресом вашего сервера. Сохраните и закройте файл. Затем перезапустите Coturn.
sudo systemctl restart coturn
ИТОГИ
Готово! Мы успешно установили Jitsi Meet на наш Linux сервер.
Источник: https://wiki.merionet.ru/servernye-resheniya/83/rukovodstvo-po-ustanovke-jitsi-meet-v-linux/
Установка и использование Grafana Loki на Linux
В нашей инструкции мы рассмотрим процесс установки и настройки Grafana Loki в качестве сервера сбора логов. Есть несколько способов ее установки — Helm chart, в качестве контейнера Docker, скачать готовый бинарник или собрать его из исходника. Мы выполним установку из последнего на систему Linux. Также, в качестве примера, мы прочитаем лог веб-сервера nginx и сделаем его вывод в Grafana.
Подготовка
Прежде чем устанавливать Loki, подготовим наш сервер для работы.
Установка пакетов
Для загрузки исходников нам понадобиться загрузить некоторые файлы. Для этого в системе должны быть установлены соответствующие пакеты. В зависимости от типа системы процесс установки будет незначительно отличаться.
а) на системах Red Hat:
yum install git wget
б) для систем на основе Debian:
apt-get install git wget
Установка Go
Для компиляции исходника, нам необходимо установить Golang. Для этого переходим на страницу загрузки и копируем ссылку на архив с его последней версией:

Воспользовавшись ссылкой, скачиваем архив на наш сервер:
wget https://golang.org/dl/go1.15.6.linux-amd64.tar.gz
* на момент написания инструкции, последняя версия была 1.15.6.
Распаковываем архив в каталог /usr/local:
tar -v -C /usr/local -xzf go*.tar.gz
Открываем файл:
vi /etc/profile
Добавляем в самый низ строку:
export PATH=$PATH:/usr/local/go/bin
Один раз выполняем данную команду:
export PATH=$PATH:/usr/local/go/bin
Проверяем, что go установлен и готов выполнять команды:
go version
Мы должны увидеть версию скачанного пакета.
Настройка безопасности
1. Брандмауэр
В зависимости от используемого брандмауэра, необходимо выполнить следующие настройки.
а) если используем iptables (по умолчанию, в системах на базе Debian):
iptables -I INPUT 1 -p tcp --dport 3100 -j ACCEPT
* данная команда добавит правило на разрешение порта 3100 (на котором, по умолчанию, запускается Grafana Loki).
Для сохранения правил устанавливаем пакет:
apt-get install iptables-persistent
Сохранение правил теперь можно выполнить командой:
netfilter-persistent save
б) если используем firewalld (по умолчанию, в системах на базе Red Hat):
firewall-cmd --permanent --add-port=3100/tcp
firewall-cmd --reload
* данная команда добавит правило на разрешение порта 3100 (на котором, по умолчанию, запускается Grafana Loki).
2. SELinux
Как правило, в системах на базе Red Hat активирована дополнительная система безопасности. В нашей инструкции мы ее отключаем командами:
setenforce 0
sed -i 's/^SELINUX=.*/SELINUX=disabled/g' /etc/selinux/config
* первая команда вводится до разового отключения SELinux. Вторая не дает ему запуститься после перезагрузки.
Установка
Установка Grafana Loki сводится к загрузке готового бинарника или исходника с последующей компиляцией. Также мы настроим юнит в systemd для работы приложения в качестве сервиса.
Копирование бинарника и конфигурационного файла
Переходим в каталог:
cd /usr/src/
Загружаем исходные файлы проекта:
git clone https://github.com/grafana/loki
Переходим в каталог loki:
cd loki/
Запускаем компиляцию бинарника:
go build ./cmd/loki
В текущем каталоге появится файл loki — перенесем его в каталог /usr/local/bin:
mv loki /usr/local/bin/
Создадим каталог:
mkdir /etc/loki
… и перенесем в него конфигурационный файл:
mv cmd/loki/loki-local-config.yaml /etc/loki/
В конфиге, который идет в исходнике в качестве рабочего каталога для Grafana Loki используется /tmp — мы это исправим двумя командами:
sed -i 's//tmp/wal//opt/loki/wal/g' /etc/loki/loki-local-config.yaml
* первой командой мы меняем настройку dir для wal (журнала предзаписи).
sed -i 's//tmp/loki//opt/loki/g' /etc/loki/loki-local-config.yaml
* в данном примере мы заменили путь для storage_config, working_directory и ruler storage на /opt/loki.
Создаем каталог:
mkdir /opt/loki
Выполним первый тестовый запуск сервиса:
/usr/local/bin/loki -config.file=/etc/loki/loki-local-config.yaml
Открываем браузер и переходим по адресу http://192.168.0.15:3100/metrics, где 192.168.0.15 — IP-адрес нашего сервера Grafana Loki. Мы должны увидеть страницу с метриками:

Значит наш сервис запустился и нормально работает. Можно прервать его работу на сервере комбинацией клавиш Ctrl + С и продолжать настройку.
Автозапуск
Чтобы сервис мог автоматически запускаться при старте системы, добавим его в systemd.
Для начала, создадим пользователя, под которым будет работать сервис:
useradd --no-create-home --shell /bin/false loki
* данной командой мы создадим пользователя loki. Ему нельзя будет входить в систему в качестве интерактивного пользователя, также для него не будет создана домашняя директория.
Делаем владельцем loki бинарник для запуска сервиса:
chown loki:loki /usr/local/bin/loki
Задаем владельца для рабочих каталогов Loki:
chown -R loki:loki /etc/loki
chown -R loki:loki /opt/loki
Создаем юнит в systemd:
vi /etc/systemd/system/loki.service
[Unit]
Description=Grafana Loki Service
After=network.target
[Service]
User=loki
Group=loki
Type=simple
ExecStart=/usr/local/bin/loki -config.file=/etc/loki/loki-local-config.yaml
ExecReload=/bin/kill -HUP $MAINPID
Restart=on-failure
[Install]
WantedBy=multi-user.target
Перечитываем конфигурацию systemd:
systemctl daemon-reload
Теперь можно разрешить и стартовать наш сервис:
systemctl enable loki --now
Проверить, что он запустился и работает можно командой:
systemctl status loki
Установка серверной части завершена.
Отправка логов на сервер
В нашем примере мы передадим логи веб-сервера NGINX в нашу Grafana Loki. Для этого переходим на сервер с NGINX и выполним следующие действия.
Установка Promtail
Promtail — агент, который читает и отправляет логи на сервер. Его установка во многом напоминает установку сервера — получаем бинарник и добавляем его в автозагрузку. В нашем примере мы загрузим уже скомпилированный файл для запуска.
Для начала, установим следующие пакеты:
yum install unzip wget
* unzip нужен для распаковки архива с бинарником; wget — для скачивания архива.
Загружаем последнюю версию promtail для Linux:
wget https://github.com/grafana/loki/releases/latest/download/promtail-linux-amd64.zip
* в нашем примере загружается бинарник на систему 64-бит. На странице https://github.com/grafana/loki/releases можно скачать файлы для установки под Linux и Windows.
Распаковываем скачанный архив:
unzip promtail-linux-amd64.zip
Переносим бинарник в каталог /usr/local/bin:
mv promtail-linux-amd64 /usr/local/bin/promtail
* обратите внимание, что мы его сразу переименовали в promtail.
Создаем каталог для конфигурационных файлов promtail:
mkdir /etc/promtail
Создаем конфигурационный файл:
vi /etc/promtail/promtail.yaml
server:
http_listen_port: 9080
grpc_listen_port: 0
positions:
filename: /tmp/positions.yaml
clients:
- url: http://192.168.0.15:3100/loki/api/v1/push
* где 9080 — номер порта, на котором будет слушать promtail; 192.168.0.15 — IP-адрес нашего сервера Loki, куда нужно отправлять данные.
Создаем юнит в systemd для promtail:
vi /etc/systemd/system/promtail.service
[Unit]
Description=Promtail Service
After=network.target
[Service]
Type=simple
ExecStart=/usr/local/bin/promtail -config.file=/etc/promtail/promtail.yaml
ExecReload=/bin/kill -HUP $MAINPID
Restart=on-failure
[Install]
WantedBy=multi-user.target
Перечитываем конфигурацию systemd:
systemctl daemon-reload
Разрешаем запуск сервиса promtail и стартуем его:
systemctl enable promtail --now
Проверяем статус:
systemctl status promtail
На клиенте в настройки брандмауэра добавляем правило на разрешение порта 9080.
а) если используем iptables (Debian, Ubuntu):
iptables -I INPUT 1 -p tcp --dport 9080 -j ACCEPT
apt-get install iptables-persistent
netfilter-persistent save
б) если используем firewalld (CentOS, Red Hat):
firewall-cmd --permanent --add-port=9080/tcp
firewall-cmd --reload
После установки promtail открываем браузер и переходим на страницу http://192.168.0.25:9080/targets, где 192.168.0.25 — IP-адрес клиентского компьютера с NGINX. Мы должны увидеть страницу:

Promtail работает. Можно приступать к сбору логов.
Настройка сбора логов
Открываем конфигурационный файл promtail:
vi /etc/promtail/promtail.yaml
… и добавляем:
...
scrape_configs:
- job_name: nginx
static_configs:
- targets:
- localhost
labels:
job: nginxlogs
__path__: /var/log/nginx/*log
* где:
- job_name — имя задания для чтения лога.
- targets — компьютер, на котором читаем лог.
- job — метка для имени задания. Важный параметр для выборки данных.
- __path__ — путь до файлов с логами.
Перезапускаем сервис promtail:
systemctl restart promtail
Снова заходим по адресу http://192.168.0.25:9080/targets — мы должны увидеть настроенное нами задание:

Сбор логов настроен.
Настройка Grafana
Переходим к серверу с Grafana. Он может быть установлен на отдельном сервере или на том же сервере с Loki.
Заходим в веб-интерфейс и переходим в Configuration — Data Sources:

Добавляем новый источник, кликая по Add data source:

Среди списка возможных источников выбираем Loki:

В настройках задаем имя и указываем IP-адрес сервера Loki:

* в нашем примере задается имя Loki и подключение к серверу 192.168.0.15.
Нажимаем на Save & Test:

Если мы увидели сообщение «Data source connected and labels found.»:

… значит подключение выполнено и можно двигаться дальше.
Переходим в раздел Create — Dashboard:

Кликаем по кнопке Add new panel:

В открывшемся окне выбираем в качестве источника данных Loki, затем кликаем по Log labels — выбираем job и nginxlogs:

Мы увидим Unable to graph data (так как логи представляют из себя данные, на основе которых нельзя постоить график) — кликаем по Switch to table view:

Мы должны увидеть строки из логов:

Логи NGINX отображаются в Grafana.
Парсинг лога
Мы увидели логи в графане, но они представленны в неудобном для отбора и фильрации виде. Попробуем это исправить с помощью парсинга логов на стороне promtail.
Открываем файл для редактирования:
vi /etc/promtail/promtail.yaml
Дополним нашу задачу для сбора логов NGINX:
...
scrape_configs:
- job_name: nginx
static_configs:
- targets:
- localhost
labels:
job: nginxlogs
__path__: /var/log/nginx/*log
pipeline_stages:
- match:
selector: '{job="nginxlogs"}'
stages:
- regex:
expression: '^(?P<remote_addr>[w.]+) - (?P<remote_user>[^ ]*) [(?P<time_local>.*)] "(?P<method>[^ ]*) (?P<request>[^ ]*) (?P<protocol>[^ ]*)" (?P<status>[d]+) (?P<body_bytes_sent>[d]+) "(?P<http_referer>[^"]*)" "(?P<http_user_agent>[^"]*)"?'
- labels:
remote_addr:
remote_user:
time_local:
method:
request:
protocol:
status:
body_bytes_sent:
http_referer:
http_user_agent:
* обратите внимание, что к имеющейся настройки мы добавили pipeline_stages:
- selector — тег для отбора логов, которые нужно парсить.
- expression — регулярное выражение для парсинга логов.
- labels — список тегов, которые мы будем передавать в loki. Обратите внимание, что названия данных тегов соответствую названиям, которые мы задали в expression.
Перезапускаем сервис для promtail:
systemctl restart promtail
Идем в Grafana — в Log labels мы должны увидеть новые критерии для фильтра по тегам:

Пробуем добавить, например, фильтр по статусу ответа веб-сервера:

Источник: https://www.dmosk.ru/instruktions.php?object=grafana-loki
Как установить подсистему Windows для Linux в Windows 11
Вы когда-нибудь представляли, что можете установить подсистему Windows для Linux с помощью одной командной строки ? Теперь он официально доступен, с помощью которого вы можете легко установить WSL на свою Windows 11.
Раньше процесс установки подсистемы Windows для Linux был слишком сложным и требовал большого количества пакетов. Вам нужно обойти несколько настроек и установить WSL на свой компьютер. Microsoft упростила этот процесс, и теперь это всего лишь команда.
Вы можете просто ввести команду и позволить ей позаботиться обо всем процессе установки подсистемы Windows для Linux на вашем компьютере. Все, что вам нужно, это учетная запись с административными привилегиями, присоединенная к программе предварительной оценки Windows в Windows 11.
Чтобы установить подсистему Windows для Linux (WSL) в Windows 11
- Запустите командную строку от имени администратора
- Скопируйте/вставьте команду
wsl.exe --installи нажмите Enter. - Перезагрузите компьютер, чтобы установка была готова к использованию.
Чтобы начать, откройте командную строку с правами администратора в меню «Пуск», введите следующую команду и нажмите Enter .
wsl --install
Теперь команда включит компоненты WSL и платформы виртуальных машин на вашем ПК, исключив все ручные шаги, которые будут устанавливать WSL. Затем он загрузит и установит последнюю версию ядра Linux, а затем дистрибутив Linux. Вы увидите статус в окне командной строки. Когда это будет сделано, перезагрузите компьютер с подсистемой Windows для Linux (WSL), прочтите, чтобы использовать.
Открытие WSL на некоторое время после установки займет несколько минут, так как ему необходимо распаковать файлы и сохранить их на вашем компьютере. Когда процесс будет завершен, создайте учетную запись пользователя для своего WSL. После этого вы сможете открыть его в мгновение ока.
Как посмотреть список доступных дистрибутивов Linux
Помимо команды для установки подсистемы Windows для Linux (WSL) на ваш компьютер, есть еще пара команд, которые позволяют вам увидеть полный список дистрибутивов Linux, доступных для установки на ваш компьютер.
Чтобы увидеть их, откройте командную строку с правами администратора, введите следующую команду и нажмите Enter:
wsl --list --online
Он покажет вам список, из которого вы можете выбрать версию для установки, используя следующую команду, где вам нужно заменить имя дистрибутива тем, которое вы видите в списке.
wsl --install -d <Имя дистрибутива>
Эта команда остановит установку версии дистрибутива Linux по умолчанию и начнет установку выбранной. Его также можно использовать для установки дополнительных дистрибутивов Linux к существующей установке. Чтобы увидеть статус подсистемы Windows для Linux с общей информацией о конфигурации, типе распространения, дистрибутиве по умолчанию, версии ядра, вы можете использовать следующую команду.
wsl --status
Он отобразит всю информацию о WSL на вашем ПК.
Как вручную обновить подсистему Windows для Linux
Доступны команды, которые можно использовать для обновления ядра WSL Linux или отката и обновления до предыдущего.
Чтобы вручную обновить подсистему Windows для Linux, введите следующую команду в командной строке и нажмите Enter.
wsl --update
Чтобы откатить обновление до предыдущей версии, используйте следующую команду.
wsl --update rollback
Это различные команды, которые можно использовать для установки подсистемы Windows для Linux (WSL) на ваш компьютер, просмотра списка доступных дистрибутивов Linux, обновления или отката обновленного WSL.
Эти команды можно использовать не только в Windows 11, но если вы участвуете в программе предварительной оценки Windows и имеете предварительную сборку ОС Windows 10 (сборка 20262 или выше), вы можете использовать эти команды для получения всех вышеперечисленных функций на своем ПК с Windows 10. .
Что я могу делать с подсистемой Windows для Linux?
Если на вашем компьютере установлена подсистема Windows для Linux, вы можете использовать инструменты и приложения командной строки Linux вместе с существующими инструментами Windows. Вы можете получить доступ ко всем файлам из WSL с помощью команд.
Как установить WSL вручную?
Вы можете установить WSL в Windows 11/10 двумя способами. Старый добрый метод, при котором вам нужно загрузить все установочные пакеты, включить компоненты платформы виртуальных машин на вашем компьютере и т.д. Теперь, если вы участвуете в программе предварительной оценки Windows и используете последние сборки Windows 11/10, вы можете установить с помощью команды.
Что делает сообщество Linux особенным
В 2021 существует множество причин почему люди любят Linux ещё больше чем раньше. Сообщество пользователей Linux — одна из краеугольных причин использовать эту операционную систему.
Многие пользователи скажут, что ключевая особенность Linux — это его сообщество. Это может показаться странным новым пользователям, потому что термин «сообщество» уже достаточно популярен в наши дни. Существуют даже менеджеры по созданию и управлению сообществами. Давайте разберемся что же выделяет сообщество Linux на фоне всех остальных.
Читать