add phone grandstream
continuous-integration/drone/push Build is passing Details

pull/6/head
thest1tch 2 years ago
parent 5baa365223
commit 4b194c627e

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 53 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 51 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.0 KiB

@ -8,12 +8,3 @@ Google Chrome
2. далее для функции Hardware Media Key Handling вместо значения «`Default`» устанавливаем «`Disabled`
3. перезапускаем Chrome, чтобы активировать изменение.
<details><summary>report - click this</summary>
<code>
cpu_adam ............... [NO] ....... [OKAY]
cpu_adagrad ............ [NO] ....... [OKAY]
fused_adam ............. [NO] ....... [OKAY]
</code>
</details>

@ -0,0 +1,24 @@
# Cоздание новой DNS-записи CNAME на Cloudflare
----------
Я рекомендую получить собственное доменное имя, указывающее на IP-адрес вашего дома в глобальной сети. Частное доменное имя через reg.ru будет стоить 850 рублей в год. Есть несколько причин, почему я рекомендую это:
- В моем тестировании я никогда не мог заставить некоторые контейнеры докеров работать в качестве подкаталога (даже на моем собственном частном доменном имени) за обратным прокси-сервером Traefik. В таких ситуациях вам останется создать несколько динамических субдоменов DNS, чтобы разместить все ваши службы. Большинство бесплатных динамических DNS-сервисов ограничивают количество субдоменов, которые вы можете создать.
- Afraid DNS не является одним из поддерживаемых поставщиков wildcard сертификатов. Хотя DuckDNS указан как поддерживаемый, он еще не тестировался.
В моей настройке использую собственное доменное имя, все мои приложения в качестве отдельных хостов и Traefik 2.9 с сертификатами Wildcard. Мой провайдер DNS — Cloudflare, который [протестирован и подтвержден](https://doc.traefik.io/traefik/v1.7/configuration/acme/#wildcard-domains) для работы с подстановочными сертификатами Traefik Lets Encrypt. Если у вас есть собственное доменное имя, а ваш провайдер DNS не указан в списке поддерживаемых, то я рекомендую перенести ваш DNS на Cloudflare, который удивительно быстр и бесплатен.
В Cloudflare вы должны указать свой корневой домен (example.com) на свой IP-адрес WAN. Затем добавьте CNAME с подстановочным знаком (*.example.com) или отдельные субдомены, указывающие на ваш корневой домен (@ для хоста), как показано ниже (для этого не требуется платная учетная запись).
[![Cloudflare Dns Entries](https://www.smarthomebeginner.com/images/2018/05/cloudflare-dns-records-screenshot-740x495.png "Traefik Tutorial: Traefik Reverse Proxy with LetsEncrypt for Docker Media Server 3")](https://www.smarthomebeginner.com/images/2018/05/cloudflare-dns-records-screenshot.png)
Cloudflare Dns Entries For Traefik Dns Challenge
In addition to creating the DNS records, you will have to adjust Cloudflares SSL settings to avoid indefinite redirects. Go to **Crypto** settings for the domain and change **SSL** to **Full** as shown below.
[![Cloudflare &Quot;Full&Quot; Ssl](https://www.smarthomebeginner.com/images/2018/05/cloudflare-crypto-full-ssl-740x358.png "Traefik Tutorial: Traefik Reverse Proxy with LetsEncrypt for Docker Media Server 4")](https://www.smarthomebeginner.com/images/2018/05/cloudflare-crypto-full-ssl.png)
Cloudflare “Full” Ssl
Note that you may have to wait for a few minutes for the DNS entries to propagate. If you run Traefik before that, DNS challenge may fail and no SSL certificate will be generated. If you keep trying, [Lets Encrypt may ban you temporarily](https://letsencrypt.org/docs/rate-limits/) for reaching the request limits. To counter this I have added a 5 min wait in the traefik configuration below but you may need longer. Until validation is complete, Traefiks default certificate will be used and your browser will throw a warning.

@ -0,0 +1,53 @@
Оптимальный вариант просмотра (в порядке выхода)
I. «Сага Бесконечности»
Первая фаза
1. «Железный человек» (2008)
2. «Невероятный Халк» (2008)
3. «Железный человек 2» (2010)
4. «Тор» (2011)
5. «Первый мститель» (2011)
6. «Мстители» (2012)
Вторая фаза
7. «Железный человек 3» (2013)
8. «Тор 2: Царство тьмы» (2013)
9. «Первый мститель: Другая война» (2014)
10. «Стражи Галактики» (2014)
11. «Мстители: Эра Альтрона» (2015)
12. «Человек-муравей» (2015)
Третья фаза
13. «Первый мститель: Противостояние» (2016)
14. «Доктор Стрэндж» (2016)
15. «Стражи Галактики. Часть 2» (2017)
16. «Человек-паук: Возвращение домой» (2017)
17. «Тор: Рагнарёк» (2017)
18. «Черная Пантера» (2018)
19. «Мстители: Война бесконечности» (2018)
20. «Человек-муравей и Оса» (2018)
21. «Капитан Марвел» (2019)
22. «Мстители: Финал» (2019)
23. «Человек-паук: Вдали от дома» (2019)
«Сага Мультивселенной»
Четвертая фаза
24. «Ванда/Вижн» (2021), сериал
25. «Сокол и Зимний Солдат» (2021), сериал
26. «Локи», 1-й сезон (2021), сериал
27. «Черная Вдова» (2021)
28. «Что, если…?», 1-й сезон (2021), мультсериал
29. «Шан-Чи и легенда десяти колец» (2021)
30. «Вечные» (2021)
31. «Соколиный Глаз» (2021), сериал
32. «Человек-паук: Нет пути домой» (2021)
33. «Лунный рыцарь» (2022), сериал
34. «Доктор Стрэндж: В мультивселенной безумия» (2022)
35. «Мисс Марвел» (2022), сериал
36. «Тор: Любовь и гром» (2022)
37. «Я есть Грут» (2022), мини-мультсериал
38. «Женщина-Халк: Адвокат» (2022), сериал
39. «Ночной оборотень» (2022), спешел
40. «Черная Пантера: Ваканда навеки» (2022)
41. «Стражи Галактики: Праздничный спецвыпуск» (2022), спешел
42. «Человек-муравей и Оса: Квантомания» (2023)

@ -0,0 +1,111 @@
# Настройка телефонов через TFTP сервер
Опустим настройку самого TFTP сервера, в сети много есть информации по этому вопросу.
## Правка начального шаблона
Для начала, нам потребуется получить файл шаблона и немного его отредактировать.
Скачать можно c [облака](https://disk.yandex.ru/d/UJJK2Ttm1amJmg).
| **Параметры** | **Описание** |
| --- | --- |
| P47 | адрес сервера Астериск |
| P34 | пароль авторизации |
| P237 | сервер и папка, откуда берется конфиг |
| P30 | ntp сервер для синхронизации времени |
| P64 | часовой пояс |
| P2 | пароль на админку |
| P192 | сервер и папка, откуда берется обновление прошивки |
сохраняем файл.
## Заполнение файла с настройками
Чтобы не вводить номера телефонов в каждый файл, существует возможность по созданию файла с настройками.
Скачать файл можно [тут](https://disk.yandex.ru/d/S7XKjHypTigfyg). В файле заполняем:
| Параметр | Значение |
| --- | --- |
| `MAC` | MAC адрес |
| `User_ID_1` | номер |
| `Password_1` | пароль |
| `Auth_ID_1` | номер |
| `SIP_Name_1` | номер |
Файл сохраняем в формате `scv`, разделители **запятые**. Он нам потребуется дальше.
## Создание конфиг файлов
Для создания конфиг файлов используется программа [GSXmlGenerator_3.5](https://disk.yandex.ru/d/I3HvTLTLXHv4sA)
![](../../../images/other/phone/grandstream_01.png)
Запускаем программу, в ней:
| Параметр | Значение |
| --- | --- |
| Configuration Template | путь где находится шаблон |
| Output Path | путь до папки, куда будут сохраняться готовые файлы |
| Use CSV File | путь до файла csv с настройками |
После нажимаем на **Run with CSV as Input**
## Папка на tftp сервере
Создадим папку на tftp сервере, откуда телефон будет брать конфиг файл.
К примеру это будет папка `test`. Далее в папку следует закачать:
- файл прошивки
- 3 файла звонков (не обязательно)
- файлы конфигов
Файлы можно взять по [ссылке](https://disk.yandex.ru/d/4eji_swJJdshNQ)
В итоге получится такое содержание папки:
![](../../../images/other/phone/grandstream_02.png)
## Настройка на телефоне
Есть 2 способа настройки - ручной и автоматический
=== "Автоматический"
Способ через конфигурирование DHCP и прописывание 66 опции.
Открываем оснастку DHCP сервера и идем в параметры сервера. Далее ПКМ на центральной части - Настроить параметры:
![](../../../images/other/phone/grandstream_03.png)
Ищем 066 параметр: 066 Имя узла сервера загрузки и прописываем путь до папки с конфигами:
![](../../../images/other/phone/grandstream_04.png)
Нажимаем ОК.
Теперь при включении телефона, телефон сам получит настройки подключения и сам обновит firmware
=== "Ручной"
Включаем телефон и заходим на web-страницу администрирования:
Стандартный логин/пароль - `admin`/`admin`
Далее переходим на вкладку **Maintenance** и выбираем в выпадающем списке **Upgrade and Provisioning**:
![](../../../images/other/phone/grandstream_05.png)
На открывшейся странице ищем раздел **Config**. Выбираем метод скачивание через tftp и указываем путь до нашего сервера.
Внизу нажимаем **Save and Apply**.
![](../../../images/other/phone/grandstream_06.png)
После сохранения вверху **Reboot**
![](../../../images/other/phone/grandstream_07.png)
После перезагрузки, телефон сам скачает обновление с сервера.

@ -0,0 +1,267 @@
# Как запустить Prometheus и Grafana используя Docker Compose
----------
Docker Compose используется для запуска нескольких контейнеров как одной службы. Если у вас есть приложение/стек, требующий разных служб, docker compose позволяет создать один файл, который запустит все контейнеры как одну службу и избавит вас от необходимости запускать их по отдельности. Также можно запускать по одной службе за раз с помощью docker compose. Сегодня мы рассмотрим, как запустить Prometheus и Grafana с помощью docker compose.
Чтобы иметь возможность использовать Docker Compose, в вашей системе должны быть установлены как Docker, так и Docker Compose.
Prometheus — это база данных временных рядов, использующая экспортеры для мониторинга различных серверов/сервисов, а Grafana — один из самых популярных инструментов мониторинга. В сочетании с Prometheus, Grafana предлагает мощный инструмент визуализации данных временных рядов.
Чтобы запустить Prometheus и Grafana с помощью docker compose, нам нужно создать файл docker compose, определяющий отдельные сервисы (Prometheus и Grafana), используемые образы, запущенные порты и все остальное необходимое.
## Использование постоянных томов с Docker Compose
Нам нужно учитывать тот факт, что для Grafana требуется файл конфигурации и файл источника данных. Promemetheus также требует файла конфигурации. Для этого мы будем использовать смонтированные тома (постоянные тома), чтобы можно было легко вносить изменения в файлы, когда это необходимо.
Создайте рабочий каталог с именем _prometheus-grafana_ и внутри него создайте каталоги для хранения файлов конфигурации Prometheus и Grafana.
mkdir -p ~/prometheus-grafana/{grafana,prometheus}
Теперь перейдите в каталог _grafana_ и создайте файлы конфигурации. Файл конфигурации **Grafana** по умолчанию предоставляется в официальном репозитории Github. Создайте файл с именем _grafana.ini,_ скопируйте и вставьте конфигурацию grafana по умолчанию в этот файл и сохраните.
Контент для конфигурации Grafana по умолчанию можно найти по _адресу https://github.com/grafana/grafana/blob/master/conf/defaults.ini_ . Обратите внимание, что вы можете вносить изменения в файл конфигурации по умолчанию в соответствии с вашими потребностями.
wget https://raw.githubusercontent.com/grafana/grafana/main/conf/defaults.ini -O ~/prometheus-grafana/grafana/grafana.ini vim ~/prometheus-grafana/grafana/grafana.ini
После этого перейдите в папку Prometheus и создайте файл конфигурации prometheus, чтобы указать Prometheus, где брать метрики. Поскольку у меня нет отдельного сервера для мониторинга, отображаемые метрики относятся к самому серверу prometheus (localhost:9090)
nano ~/prometheus-grafana/prometheus/prometheus.yml
<code>global:
scrape_interval: 15s
scrape_timeout: 10s
evaluation_interval: 15s
alerting:
alertmanagers:
- static_configs:
- targets: []
scheme: http
timeout: 10s
api_version: v1
scrape_configs:
- job_name: prometheus
honor_timestamps: true
scrape_interval: 15s
scrape_timeout: 10s
metrics_path: /metrics
scheme: http
static_configs:
- targets:
- localhost:9090</code>
Вы можете открыть и изменить файл в соответствии с вашим вариантом использования.
nano ~/prometheus-grafana/prometheus/prometheus.yml
На данный момент Grafana не показывает, откуда брать данные. Нам нужно сказать ему, чтобы он достался от Прометея. Создайте файл с именем _datasource.yml_ в каталоге grafana.
nano ~/prometheus-grafana/grafana/datasource.yml
apiVersion: 1
datasources:
- name: Prometheus
type: prometheus
url: http://localhost:9090
isDefault: true
access: proxy
editable: true
Дальнейшая модификация может быть выполнена:
nano ~/prometheus-grafana/grafana/datasource.yml
К настоящему времени у нас готовы все тома. Давайте продолжим, чтобы создать файл docker-compose.
nano ~/prometheus-grafana/docker-compose.yml
Содержимое должно выглядеть так, как показано ниже. Убедитесь, что вы изменили путь к файлам конфигурации в соответствии с путями в вашей системе.
version: "3.7"
networks:
direct_net:
name: direct_net
driver: bridge
ipam:
config:
- subnet: 192.168.200.0/24
services:
prometheus:
user: "$PUID:$PGID"
container_name: prometheus
image: prom/prometheus:latest
restart: always
networks:
- direct_net
ulimits:
nofile:
soft: 200000
hard: 200000
command:
--config.file=/data/prometheus.yml
--storage.tsdb.path=/data
--storage.tsdb.retention.time=180d
--web.enable-admin-api
volumes:
- $DOCKER_APP/prometheus:/data
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
grafana:
user: "$PUID:$PGID"
container_name: grafana
image: grafana/grafana:latest
restart: always
networks:
- direct_net
security_opt:
- no-new-privileges:true
environment:
GF_INSTALL_PLUGINS: "grafana-clock-panel,grafana-simple-json-datasource,grafana-worldmap-panel,grafana-piechart-panel"
volumes:
- ~/prometheus-grafana/grafana/data:/var/lib/grafana
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
Если вам нужно указать конкретную версию Prometheus или Grafana, вы можете добавить номер версии, чтобы он выглядел так:
services:
prometheus:
image: prom/prometheus:<VERSION-TAG>#get tag https://hub.docker.com/r/prom/prometheus/tags
---
grafana:
image: grafana/grafana:<VERSION-TAG># Tags https://hub.docker.com/r/grafana/grafana/tags
Также целью создания стека Prometheus/Grafana является мониторинг других сервисов, работающих, возможно, на разных серверах. Prometheus использует разные экспортеры для предоставления метрик, связанных с аппаратным обеспечением и ядром, в зависимости от отслеживаемого вами сервиса, наиболее распространенным из которых является node-exporter. Экспортеры устанавливаются на хостах, за которыми нужно следить.
Поскольку у меня нет другого внешнего сервера, я собираюсь установить экспортер узлов на локальном компьютере. Для этого в конец файла _~/prometheus-grafana/docker-compose.yml_ добавляем:
node-exporter:
image: prom/node-exporter:latest
container_name: monitoring_node_exporter
restart: unless-stopped
expose:
- 9100
Также я должен обновить файл prometheus.yml, чтобы добавить node-exporter в качестве цели.
static_configs:
- targets: ['localhost:9090','node-exporter:9100']
Или формат:
static_configs:
- targets:
- localhost:9090
- node-exporter:9100
Если у вас есть другие экспортеры из других сервисов, вы можете добавить в массив по подобию.
### Запуск контейнеров с помощью docker-compose
Перейдите в каталог данных:
cd ~/prometheus-grafana<code></code>
Теперь все готово для запуска наших контейнеров. Чтобы запустить контейнеры, выполните команду, как показано ниже:
docker compose up -d
Проверте запуск контейнеров:
docker compose ps
Получите доступ к Prometheus и grafana из браузера, используя порты по умолчанию. Для Прометея мы используем _`http://serverip_or_hostname:9090`_. Если вы перейдете к **status** -> target , вы сможете увидеть статус своих целей, как показано ниже **_:_**
![](https://techviewleo.com/wp-content/uploads/2021/03/How-to-run-prometheus-and-grafana-with-docker-compose.png?ezimgfmt=rs:640x143/rscb7/ng:webp/ngcb7)
Для Grafana зайдите `http://serverip_or_hostname:3000`и войдите в систему, используя имя пользователя и пароль, указанные в `.ini` файле конфигурации. Учетные данные по умолчанию: _admin:admin_
![](https://techviewleo.com/wp-content/uploads/2021/03/How-to-run-prometheus-and-grafana-with-docker-compose-1.png?ezimgfmt=rs:640x214/rscb7/ng:webp/ngcb7)
Теперь вы можете продолжить и создать информационную панель для мониторинга. Одна вещь, которую я отметил, заключается в том, что я не мог получить метрики для использования при создании графиков, когда «доступ» в разделе «HTTP» источников данных был установлен на «сервер». Мне пришлось установить его как «браузер», как показано ниже:
![](https://techviewleo.com/wp-content/uploads/2021/03/How-to-run-prometheus-and-grafana-with-docker-compose-4.png?ezimgfmt=rs:640x326/rscb7/ng:webp/ngcb7)

@ -37,7 +37,7 @@ nav:
- Монтирование CIFS: ubuntu/mount-cifs.md
- Proxmox:
- CT Template: proxmox/ct-template.md
- Помойка:
- Другое:
- SSL для сайта: other/ssl-for-site.md
- Ubuntu bash aliases: other/ubuntu-bash-aliases.md
- ТСД:
@ -60,6 +60,9 @@ nav:
- VBA Отправка почты: other/office/excel/vba-send-email.md
- VBA Прогресс бар: other/office/excel/vba-progress-bar.md
- VBA Удаление пароля: other/office/excel/vba-remove-pass.md
- Телефоны:
- Grandstream:
- Provisioning через TFTP: other/phone/grandstream/provisioning.md
- Сеть:
- Mikrotik:

Loading…
Cancel
Save