суббота, 5 сентября 2026 г.

Установка GoFlow2 в Debian

GoFlow2 принимает данные из потоков Netflow и в стандартном случае передает на стандартный выход в консоль.

# cd /usr/src/
# wget https://github.com/netsampler/goflow2/releases/download/v2.2.6/goflow2_2.2.6_amd64.deb
# apt-get install -f -y ./goflow2_2.2.6_amd64.deb
# goflow2 --v
GoFlow2 v2.2.6 (2025-12-27T05:02:22+0000)


Проверка наличия сервиса systemd
# systemctl cat goflow2

Запуск:  
# goflow2   -listen "netflow://:2055"   -format json
# goflow2   -listen "netflow://:2056"   -format json


Удаление пакета
# dpkg --purge goflow2

четверг, 27 августа 2026 г.

Gitea. Установка и базовая настройка

Создаем директорию для контейнера gitea

# mkdir /mnt/data/docker_projects/gitea

В интерфейсе portainer переходим в окружение local.

Выбираем пункты меню Stacks --> + Add Stack. Прописываем имя в поле Name - gitea


Оставляем выбор метода задания параметров Web editor.

В поле редактора конфига вносим конфигурацию:

services:

  gitea:

    image: gitea/gitea:latest

    container_name: gitea

    restart: unless-stopped

    ports:

      - "3000:3000"

      - "2222:22"

    volumes:

      - /mnt/data/docker_projects/gitea/data:/data

    environment:

      - USER_UID=1000

      - USER_GID=1000

      - GITEA__database__DB_TYPE=postgres

      - GITEA__database__HOST=db:5432

      - GITEA__database__NAME=gitea

      - GITEA__database__USER=gitea

      - GITEA__database__PASSWD=gitea_pass

      - GITEA__server__ROOT_URL=http://gitea.example.ru/

      - GITEA__server__LOCAL_ROOT_URL=http://localhost:3000/

      - GITEA__server__SSH_PORT=2222

      - GITEA__server__SSH_DOMAIN=gitea.example.ru

      - GITEA__packages__ENABLED=true

      - GITEA__server__DOMAIN=gitea.example.ru

      - GITEA__service__DISABLE_REGISTRATION=true

      - GITEA__service__REQUIRE_SIGNIN_VIEW=true

    depends_on:

      db:

        condition: service_healthy


  db:

    image: postgres:16-alpine

    container_name: gitea-db

    restart: unless-stopped

    volumes:

      - /mnt/data/docker_projects/gitea/db:/var/lib/postgresql/data

    environment:

      - POSTGRES_USER=gitea

      - POSTGRES_PASSWORD=gitea_pass

      - POSTGRES_DB=gitea

    healthcheck:

      test: ["CMD-SHELL", "pg_isready -U gitea"]

      interval: 5s

      timeout: 5s

      retries: 5

Активируем кнопку "Deploy the stack", Будет создан стек контейнеров.


Открываем порт для работы через web-интерфейс с Gitea

# firewall-cmd --permanent --add-port=3000/tcp

# firewall-cmd --reload

# firewall-cmd --list-all


Открываем WEB-интерфейс GITEA

http://IP:3000/

Будет показан стартовый экран первичных настроек.

Важно написать название сервиса. Например, Gitea smarts.

Прокручиваем вниз и нажимает "Установить Gitea".


Затем нужно задать первого пользователя - администратора системы и нажать "Регистрация аккаунта".

 


Будет создан пользователь и откроется интерфейс gitea.

Создаем репозитарий.

Раздел Репозитарий --> + Новый репозитарий.

Задаем Название репозитория.

Устанавливаем флаг Видимость (Сделать репозиторий приватным).

Другие флажки не устанавливаем.

Нажимаем кнопку "Создать репозитарий"

Теперь на сервере разработки создаем ключ SSH по которому с сервера можно будет коннектиться к Gitea.

Проверка налияи ключа:

# ls -l ~/.ssh/ | grep pub

Показываем ключ:

# cat ~/.ssh/id_ecdsa.pub 

ecdsa-sha2-nistp256 Arx7r.....rlgehf0/XGro4B9A= root@server

И переносим его в Gitea в раздел Аватар (справа вверху) --> Настройки --> Ключи SSH / GPG Keys --> Управление ключами SSH --> Добавить ключ

Задаем имя ключа, вставляем ключ в поле и проводим его добавление.

Сбросить пароль в gitea

Если вдруг забыл пароль:

# docker exec -it -u git gitea gitea admin user change-password \

  --username korolev \

  --password <НОВЫЙ_ВРЕМЕННЫЙ_ПАРОЛЬ>

После этого когда будет выполнен вход в gitea через WEB-интерфейс с новым временным паролем, система будет запрашивать смену пароля.


x

среда, 26 августа 2026 г.

Установка zabbix в контейнер Docker. Мониторинг хоста через agent

Создаем директорию для контейнера zabbix
# mkdir /mnt/data/docker_projects/zabbix

Создаем конфигурацию PostgreSQL
# nano /mnt/data/docker_projects/zabbix/postgresql.conf
listen_addresses = '*'
port = 5432
max_connections = 100
shared_buffers = 1GB
effective_cache_size = 3GB
maintenance_work_mem = 256MB
checkpoint_completion_target = 0.9
wal_buffers = 16MB
default_statistics_target = 500
random_page_cost = 1.1
effective_io_concurrency = 200
work_mem = 64MB
min_wal_size = 1GB
max_wal_size = 4GB


В интерфейсе portainer переходим в окружение local.
Выбираем пункты меню Stacks --> + Add Stack.
Прописываем имя в поле Name - zabbix/
Оставляем выбор метода задания параметров Web editor.
В поле редактора конфига вносим конфигурацию:
x-logging: &default-logging
  driver: json-file
  options:
    max-size: "50m"
    max-file: "3"
services:
  postgresql:
    image: postgres:16-alpine
    container_name: zabbix-postgres
    restart: unless-stopped
    environment:
      POSTGRES_USER: zabbix
      POSTGRES_PASSWORD: SecurePassword123
      POSTGRES_DB: zabbix
    volumes:
      - /mnt/data/docker_projects/zabbix/data_pgsql:/var/lib/postgresql/data:z
      - /mnt/data/docker_projects/zabbix/postgresql.conf:/etc/postgresql/postgresql.conf
    networks:
      - zabbix-net
    healthcheck:
      test: ["CMD-SHELL", "pg_isready -U zabbix -d zabbix"]
      interval: 10s
      timeout: 5s
      retries: 5
      start_period: 30s
    cpus: 1.5
    mem_limit: 2g
    logging: *default-logging
  zabbix-server:
    image: zabbix/zabbix-server-pgsql:ubuntu-7.0-latest
    container_name: zabbix-server
    restart: unless-stopped
    environment:
      TZ: Europe/Samara
      DB_SERVER_HOST: postgresql
      POSTGRES_USER: zabbix
      POSTGRES_PASSWORD: SecurePassword123
      POSTGRES_DB: zabbix
      ZBX_CACHESIZE: 512M
      ZBX_HISTORYCACHESIZE: 128M
      ZBX_VALUECACHESIZE: 256M
      ZBX_STARTPOLLERS: 20
      ZBX_STARTTRAPPERS: 10
      ZBX_STARTDISCOVERERS: 5
    volumes:
      - /mnt/data/docker_projects/zabbix/data_zabbix_server:/var/lib/zabbix:z
      - /etc/localtime:/etc/localtime:ro
    ports:
      - "10051:10051"
    depends_on:
      postgresql:
        condition: service_healthy
    networks:
      - zabbix-net
    cpus: 1.5
    mem_limit: 2g
    logging: *default-logging
 
  zabbix-web:
    image: zabbix/zabbix-web-apache-pgsql:ubuntu-7.0-latest
    container_name: zabbix-web
    restart: unless-stopped
    environment:
      PHP_TZ: Europe/Samara
      ZBX_SERVER_HOST: zabbix-server
      DB_SERVER_HOST: postgresql
      POSTGRES_USER: zabbix
      POSTGRES_PASSWORD: SecurePassword123
      POSTGRES_DB: zabbix
    ports:
      - "8080:8080"
    depends_on:
      zabbix-server:
        condition: service_started
      postgresql:
        condition: service_healthy
    networks:
      - zabbix-net
    cpus: 0.5
    mem_limit: 512m
    logging: *default-logging
networks:
  zabbix-net:
    driver: bridge


Открываем порт 8080 для zabbix:
# firewall-cmd --permanent --add-port=8080/tcp && firewall-cmd --reload

Открываем WEB-интерфейс http://IP:8080/
Логин / пароль по умолчанию: Admin / zabbix
Сразу меняем пароль в разделе User settings --> Profile --> Change password // новый_пароль
Перезаходим в Zabbix Admin / новый_пароль

Zabbix агент на хостовой машине:
Добавить репозиторий Zabbix на хостовую машину и настроить агента zabbix
# rpm -Uvh https://repo.zabbix.com/zabbix/7.0/rocky/9/x86_64/zabbix-release-latest.el9.noarch.rpm
# dnf clean all
# dnf install zabbix-agent -y

Настроить конфигурацию агента, что бы он в ативном режиме отправлял данные на сервер.
# nano /etc/zabbix_agentd.conf
Главные директивы:
  ServerActive=127.0.0.1:10051
  Hostname=rossyp
  RefreshActiveChecks=60

Заводим агента Zabbix в работу:
# systemctl enable zabbix-agent
# systemctl start zabbix-agent
# systemctl status zabbix-agent


В Интерфейсе Zabbix необходимо корректно прописать host, на который будут поступать данные от агента.
В активном режиме (Active Mode) агент сам инициирует соединение. Вот так прописывается хост:
Data collection → Hosts → Create host.
Host name: точное значение параметра Hostname из конфига агента rossyp.
Templates: шаблон Linux by Zabbix agent active.
Host groups: Linux servers.