Compare commits
5 Commits
dd903276f7
...
19ec4e82f3
| Author | SHA1 | Date | |
|---|---|---|---|
| 19ec4e82f3 | |||
| a9a446d8b7 | |||
| 7db0de6eda | |||
| db68076181 | |||
| c0b936f792 |
14
docs/python/django.md
Normal file
14
docs/python/django.md
Normal file
@@ -0,0 +1,14 @@
|
||||
## Отслеживание SQL запросов
|
||||
|
||||
```python
|
||||
from django.db import connection, reset_queries
|
||||
|
||||
# Сбрасываем счетчик запросов
|
||||
reset_queries()
|
||||
|
||||
# Код, который работает с БД
|
||||
|
||||
# Теперь выводим все запросы, которые были зафиксированы
|
||||
for query in connection.queries:
|
||||
print(query)
|
||||
```
|
||||
82
docs/servers/grafana.md
Normal file
82
docs/servers/grafana.md
Normal file
@@ -0,0 +1,82 @@
|
||||
|
||||
## Запуск Prometheus с помощью systemd
|
||||
|
||||
Ссылку на последнюю версию `Prometheus` можно найти на [странице загрузок](https://prometheus.io/download/).
|
||||
|
||||
```sh
|
||||
# Скачиваем и распаковываем релиз
|
||||
wget <link>
|
||||
tar xvf prometheus-*.*-amd64.tar.gz
|
||||
cd prometheus-*.*
|
||||
|
||||
# Создаём отдельного пользователя и группу для запуска prometheus
|
||||
sudo adduser --system --no-create-home --group prometheus
|
||||
|
||||
# Конфиг
|
||||
sudo mkdir /etc/prometheus
|
||||
sudo cp prometheus.yml /etc/prometheus/
|
||||
sudo chown -R prometheus:prometheus /etc/prometheus
|
||||
|
||||
# Папка для данных
|
||||
sudo mkdir /var/lib/prometheus
|
||||
sudo chown -R prometheus:prometheus /var/lib/prometheus
|
||||
|
||||
# Бинарники prometheus и promtool
|
||||
sudo cp prometheus /usr/local/bin/
|
||||
sudo chown prometheus:prometheus /usr/local/bin/prometheus
|
||||
sudo cp promtool /usr/local/bin/
|
||||
sudo chown prometheus:prometheus /usr/local/bin/promtool
|
||||
```
|
||||
|
||||
Создаём `systemd` сервис. Список возможных параметров запуска `Prometheus` представлен в [документации](https://prometheus.io/docs/prometheus/latest/command-line/prometheus/).
|
||||
|
||||
|
||||
=== "Терминал"
|
||||
```sh
|
||||
sudo nano /etc/systemd/system/prometheus.service
|
||||
```
|
||||
|
||||
=== "prometheus.service"
|
||||
|
||||
```ini
|
||||
[Unit]
|
||||
Description=Prometheus Server
|
||||
After=network-online.target
|
||||
|
||||
[Service]
|
||||
User=prometheus
|
||||
Group=prometheus
|
||||
Restart=on-failure
|
||||
ExecStart=/usr/local/bin/prometheus \
|
||||
--config.file=/etc/prometheus/prometheus.yml \
|
||||
--storage.tsdb.path=/var/lib/prometheus
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
```
|
||||
|
||||
Добавляем `Prometheus` в автозагрузку и запускаем.
|
||||
|
||||
```sh
|
||||
sudo systemctl daemon-reload
|
||||
sudo systemctl enable prometheus
|
||||
sudo systemctl start prometheus
|
||||
sudo systemctl status prometheus
|
||||
```
|
||||
|
||||
При обновлении конфига, нужно будет перезапустить сервис.
|
||||
|
||||
```sh
|
||||
sudo systemctl restart prometheus
|
||||
```
|
||||
|
||||
|
||||
## Node Exporter
|
||||
|
||||
Устанавливаем `Node Exporter` по инструкции из [документации](https://prometheus.io/docs/guides/node-exporter/). Сервис в `systemd` для `Node Exporter` будет создан автоматически.
|
||||
|
||||
```sh
|
||||
sudo systemctl status node_exporter.service
|
||||
```
|
||||
|
||||
[Пример](https://grafana.com/grafana/dashboards/1860-node-exporter-full/) дашборда `Grafana` для `Node Exporter`.
|
||||
@@ -1,10 +1,41 @@
|
||||
## Добавление сайта
|
||||
|
||||
Создаём конфиг.
|
||||
|
||||
=== "Терминал"
|
||||
|
||||
```sh
|
||||
sudo nano /etc/nginx/sites-available/new-site.conf
|
||||
```
|
||||
|
||||
=== "Пример конфига"
|
||||
|
||||
```nginx
|
||||
server {
|
||||
server_name example.com www.example.com;
|
||||
listen 80;
|
||||
|
||||
root /var/www/new-site;
|
||||
index index.html;
|
||||
|
||||
location / {
|
||||
try_files $uri $uri/ =404;
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Активируем конфиг.
|
||||
|
||||
```sh
|
||||
sudo ln -s /etc/nginx/sites-available/new-site.conf /etc/nginx/sites-enabled/
|
||||
sudo systemctl reload nginx.service
|
||||
```
|
||||
|
||||
## SSL-сертификат с certbot
|
||||
|
||||
!!! tip "Актуальная версия Python"
|
||||
|
||||
Обычно системый `Python` достаточно старый. Для установки `certbot` может потребоваться более новая версия. Минимальные требования можно узнать на [pypi](https://pypi.org/project/certbot/).
|
||||
Обычно системный `Python` достаточно старый. Для установки `certbot` может потребоваться более новая версия. Минимальные требования можно узнать на [pypi](https://pypi.org/project/certbot/).
|
||||
|
||||
```sh
|
||||
sudo apt update
|
||||
|
||||
@@ -10,7 +10,7 @@ ssh root@<IPv4>
|
||||
```sh { .code-wrap }
|
||||
# Создаём пользователя и наделяем правом использовать `sudo`.
|
||||
adduser <user>
|
||||
adduser <username> sudo
|
||||
adduser <user> sudo
|
||||
|
||||
# Переключаемся на нового пользователя
|
||||
su - <user>
|
||||
@@ -156,7 +156,7 @@ sudo ufw status verbose
|
||||
|
||||
## Настройка Fail2Ban
|
||||
|
||||
[Fail2Ban](https://github.com/fail2ban/fail2ban) - базовая защита сервера от brute-force аттак.
|
||||
[Fail2Ban](https://github.com/fail2ban/fail2ban) - базовая защита сервера от brute-force атак.
|
||||
|
||||
```sh
|
||||
sudo apt update
|
||||
Reference in New Issue
Block a user