1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/asuramonitor-monitor

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

Система мониторинга Ashuro

Код хранится на GitHub https://github.com/AsuraTeam/monitor, следите за обновлениями здесь.

Ashuro мониторинг — это лучшая распределённая открытая система мониторинга, созданная для управления работой Linux систем. Она мощна и гибка, а также проста в установке и настройке.

В сравнении с Zabbix, Nagios, Cacti и другими системами мониторинга, Ashuro мониторинг очень легко использовать. Вам достаточно знать, как писать скрипты; язык программирования может быть любым.

Основные характеристики:1. Автоматическое сбор данных: Agent самопроизвольно обнаруживает данные, активно отправляет данные; любые данные можно настроить через скрипт.

  1. Расширяемость: Простое расширение системы, возможность расширяться в любой момент.
  2. Поиск исторических данных: Возможность получения графиков трендов за год в секунду, нескольких метрик данных, более четких графиков трендов.
  3. Высокий уровень доступности: Отсутствие центральной точки отказа, использование балансировки нагрузки (Nginx, HAProxy, LVS); MySQL (без нагрузки на данные, не используется для хранения данных); Redis (требуется высокая доступность, рекомендуется использовать Codis); общие устройства хранения данных (локальные жесткие диски, NFS, MFS и т. д.)
  4. Просмотр текущих и исторических данных: В реальном времени просмотреть любую информацию, историю данных.
  5. Базовый мониторинг: Автоматическая настройка базового мониторинга для одного и того же сервера (например, CPU, загрузка, использование дискового пространства, сетевой трафик, информация о состоянии SSD и т. д.; всё можно настроить самостоятельно).
  6. Настройка групп оповещений: Поддержка WeChat, DingTalk, мобильной связи, электронной почты (WeChat и DingTalk требуют отдельной настройки, не каждый человек использует эти сервисы).Распределенный мониторинг: Каждый сервер с установленным агентом является частью системы мониторинга, за исключением настройки на стороне сервера.
  7. Персонализация времени отправки данных: Минимальное время отправки данных — каждые 5 секунд.
  8. Сравнение производительности различных серверов: Простота сравнения производительности разных серверов.
  9. Поддержка поиска изображений: Поиск изображений по имени хоста или IP-адресу.
  10. Функция закладок: Сохранение часто используемых изображений для быстрого доступа.
  11. Поддержка аутентификации LDAP
  12. Множественные условия фильтрации и сортировки: Удобство анализа использования ресурсов.
  13. Анализ данных кластера: Вычисление суммы и среднего значения для любого показателя.
  14. Импорт и экспорт шаблонов проектов
  15. Клонирование конфигураций для персонализированного мониторинга
  16. Поддержка создания пользовательских представлений графиков в стиле Grafana
  17. Отключение оповещений для конкретного хоста: Возможность отключения оповещений для одного хоста на несколько временных периодов.
  18. Уровни повышения оповещений: До 5 уровней повышения оповещений.
  19. Автоматическое создание графиков с помощью Grafana: Автоматическое создание графиков на основе данных. 22.Создание графика Top Network Для удобства скачивания внутренним пользователям, синхронно обновляем открытое пространство SourceChina: Пожалуйста, переходите по адресу https://gitee.com/asuramonitor/monitor для скачивания кода. Приветствуем вас в QQ-группе системы мониторинга AsuraMonitor под номером 149469467.Общая архитектура image Обзор мониторинга


![image](https://raw.githubusercontent.com/AsuraTeam/monitor/master/images/img2.png)
Построение графиков TOP сети

![image](https://raw.githubusercontent.com/AsuraTeam/monitor/master/images/top1.png)
Просмотр сообщений тревоги

![image](https://raw.githubusercontent.com/AsuraTeam/monitor/master/images/img9.png)
Отображение изображений

![image](https://raw.githubusercontent.com/AsuraTeam/monitor/master/images/img3.png)
Отображение крупных изображений

![image](https://raw.githubusercontent.com/AsuraTeam/monitor/master/images/img12.png)
Отображение панели в стиле Grafana

![image](https://raw.githubusercontent.com/AsuraTeam/monitor/master/images/20.png)
![image](https://raw.githubusercontent.com/AsuraTeam/monitor/master/images/grafana.png)
![image](https://raw.githubusercontent.com/AsuraTeam/monitor/master/images/21.png)
![image](https://raw.githubusercontent.com/AsuraTeam/monitor/master/images/22.png)
![image](https://raw.githubusercontent.com/AsuraTeam/monitor/master/images/23.png)
![image](https://raw.githubusercontent.com/AsuraTeam/monitor/master/images/24.png)
![image](https://raw.githubusercontent.com/AsuraTeam/monitor/master/images/25.png)
![image](https://raw.githubusercontent.com/AsuraTeam/monitor/master/images/26.png)
Многомерное отображение данных (любой сервер с любыми данными для сравнения)

![image](https://raw.githubusercontent.com/AsuraTeam/monitor/master/images/img11.png)

![image](https://raw.githubusercontent.com/AsuraTeam/monitor/master/images/img15.png)

![image](https://raw.githubusercontent.com/AsuraTeam/monitor/master/images/img16.png)
Функция сортировки метрик

![image](https://raw.githubusercontent.com/AsuraTeam/monitor/master/images/img17.png)
Функция поиска изображений

! [image](https://raw.githubusercontent.com/AsuraTeam/monitor/master/images/img13.png)
Функция агрегации метрик, одиночная метрика для нескольких серверов, среднее значение и сумма

! [image](https://raw.githubusercontent.com/AsuraTeam/monitor/master/images/img18.png)
Информация о метриках кластера, среднее значение и сумма

! [image](https://raw.githubusercontent.com/AsuraTeam/monitor/master/images/img19.png)
Функция добавления изображений в закладки

! [image](https://raw.githubusercontent.com/AsuraTeam/monitor/master/images/img14.png)
Системный обзор
! [image](https://raw.githubusercontent.com/AsuraTeam/monitor/master/images/img4.png)
Статистика тревог
! [image](https://raw.githubusercontent.com/AsuraTeam/monitor/master/images/img5.png)
Добавление страницы мониторинга
! [image](https://raw.githubusercontent.com/AsuraTeam/monitor/master/images/img7.png)
Добавление страницы скриптов
! [image](https://raw.githubusercontent.com/AsuraTeam/monitor/master/images/img8.png)

Поддержка проекта
Вы можете сделать пожертвование, любая сумма приветствуется, будь то 1 цент или 10 000 долларов, главное ваше желание. Конечно, если у вас есть вопросы, вы можете связаться с нами для предоставления дополнительных услуг!

! [image](https://raw.githubusercontent.com/AsuraTeam/monitor/master/images/img-1.png)

Внимание: данная система не должна запускаться в открытом доступе, а только в частной сети, чтобы избежать утечки или изменения данных.


Обратите внимание на настройку брандмауэра.

Отслеживание отправленных данных осуществляется через TCP-порт 80 и UDP-порты с 50000 до 50300. Убедитесь, что все агенты могут подключаться к этим портам сервера.

Компоненты системы:

  1. Java среда, JDK 1.8
  2. Tomcat
  3. Redis
  4. MySQL база данных
  5. Maven
  6. Агенты на Java и Go (в будущем будут поддерживаться только версии на Go)
  7. Elasticsearch 5.2 (опционально)

Операционная система CentOS 6.5

Для удобства использования пакеты tools/ уже содержат Maven, Java, Redis и Tomcat, которые можно использовать сразу после установки, без необходимости самостоятельной загрузки. Elasticsearch 5.2 и Grafana следует загружать самостоятельно.

Подготовка:


1. Подготовьте MySQL, импортировав скрипты cmdb.sql и grafana.sql в базу данных.
Выполните команды:
sql mysql> source cmdb.sql; mysql> source grafana.sql; mysql> grant select, update, insert, delete on cmdb.* to monitor@ваш_ip_адрес identified by 'aZkl299feM'; mysql> flush privileges; Убедитесь, что домен host.os.dbm.com привязан к адресу вашей базы данных.
Проверьте возможность получения IP адреса вашего сервера при выполнении команды ping os.dbm.com.
В случае необходимости изменения домена, сделайте это после завершения установки, заменив /home/runtime/tomcat_8081/webapps/ROOT/WEB-INF/classes/jdbc.properties на свой домен.
2. Подготовьте службу Redis.
Убедитесь, что домен host.os.redis.com привязан к адресу вашей службы Redis.
Проверьте возможность получения IP адреса службы Redis при выполнении команды ping os.redis.com.
В случае необходимости изменения домена, сделайте это после завершения установки, заменив /home/runtime/tomcat_8081/webapps/ROOT/WEB-INF/classes/system.properties на свой домен.
3. Измените соответствующие переменные окружения.
4. Привяжите имя хоста текущего компьютера к вашему IP адресу.
5. Данная система требует согласованность времени на всех серверах.

Шаги установки:


1. Установите MySQL базу данных.
2. Установите Java 8.
3. Установите службу Redis.
4. Установите Tomcat.
5. Установите Maven.
База данных MySQL должна использовать набор символов utf8.
Сервисы Redis, Tomcat и Maven, а также Java 8 можно использовать непосредственно из пакетов tools/, которые должны быть установлены в директории /home/runtime/.
Подробнее см. скрипт deploy.sh.
Структура каталога:
# ls /home/runtime
java8 tomcat_8081 redis maven
Конфигурация базы данных выполняется самостоятельно.
# Конфигурация установки агента Go1. Установите Go 2. Перейдите в директорию `monitor-agent-go` 3. Ознакомьтесь с файлом README.md

Конфигурация установки агента Java

Шаг 6: Установка агента

  1. Используйте mvn для сборки проекта. После завершения сборки, запишите путь к target/agent.jar, так как он понадобится позже.
  2. Окружение выполнения программы находится в tools/monitor.tar.bz2. Распакуйте его в /home/runtime/.
  3. Распакуйте java8 из tools и переименуйте его в /home/runtime/monitor/java/.
  4. Измените конфигурационный файл агента, заменив все v.asura.com на адрес вашего сервера. Для удобства управления нагрузкой рекомендуется использовать балансировщики нагрузки, такие как Nginx. Конфигурирование должно осуществляться через доменные имена. Также измените redis.server на тот же Redis, который используется на вашем сервере.
  5. Копируйте ранее собранный agent.jar в /home/runtime/monitor/lib/.
    cp -v agent.jar /home/runtime/monitor/lib/
  6. Запустите агент:
    cd /home/runtime/monitor/bin;
    sh agent start
  7. Отслеживайте логи:
    tail -f /home/runtime/monitor/logs/agent.log

Вход в систему

По умолчанию имя пользователя и пароль для входа — это admin admin. После входа в систему обязательно сменийте свой пароль.

Если требуется вход через LDAP, вам потребуется настроить информацию службы LDAP в соответствующих файлах конфигурации.

Безопасность

Добавление пароля к Redis:Измените файл redis.properties на сервере и файл agent.conf для агента, добавив следующую строку:

redis.password="ваш_пароль_redis"
Настройка безопасного сервера
Для доверенного сервера агент принимает данные только с этого сервера и отправляет данные только этому серверу. Добавьте адрес сервера в `tomcat_8081/webapps/ROOT/static/agent/agent.jar.servers`, используя новую строку для каждого адреса. Пример: ``` vim tomcat_8081/webapps/ROOT/static/agent/agent.jar.servers 10.16.25.111 10.16.25.222 ``` После добавления агент будет принимать данные только от этих серверов и отправлять данные только им.

Процесс конфигурации


Из-за использования системой имени хоста, пожалуйста, привяжите имя вашего хоста к его IP-адресу. Пример: ```bash cat /etc/hosts 10.1.1.1 localhost.localhost 10.1.1.1 web_xx_xx ```
  1. Конфигурирование информации о ресурсах

    • Нажмите "Информацию о ресурсах" -> "Конфигурацию ресурсов" и заполните следующие данные о ресурсах.
    • Этот модуль предназначен для записи данных о ресурсах.
      1. Настройка центра обработки данных (необязательно)
      1. Настройка шкафа (необязательно)
      1. Настройка окружения
      1. Настройка бизнес-линии
      1. Настройка администратора
      1. Настройка типа сервера
      1. Настройка типа услуги
      1. Настройка типа системы
    • Все эти настройки подготовлены для пункта 9.
      1. Настройка сервера2. Конфигурирование параметров оповещения
    • Нажмите "Мониторинг и анализ" -> "Конфигурация мониторинга" -> "Конфигурация отправки оповещений" и заполните следующие данные.
    • Внимание: Отправка оповещений осуществляется только группам.
      1. Настройка контактной группы
      1. Настройка контактов
      1. Настройка каналов сообщений
      • По умолчанию имеются шаблоны конфигураций для электронной почты и мобильных устройств, которые можно самостоятельно изменять.3. Другие дополнительные настройки требуются для совместного использования всеми участниками.
  2. Приглашаем к совместному использованию скриптов мониторинга. Выходные данные скриптов мониторинга имеют формат JSON: Пример:

    [
        {
            "name": "",
            "groups": "",
            "status": "",
            "ip": "",
            "messages": "",
            "value": "",
            "command": ""
        }
    ]

    Поле name представляет собой метрику, например system.load.min1 | system.memory.used | system.io.r_s.vda. Поле groups представляет собой группу метрик, где все связанные метрики находятся вместе, например, все метрики CPU находятся в группе CPU. Поле status представляет собой состояние выполнения логики скрипта, где 1 — нормальное состояние, 2 — опасное состояние, 3 — предупреждение, 4 — неизвестное состояние. Только при состоянии 2 происходит отправка оповещений; остальные состояния не вызывают отправку оповещений, но они видны во всех мониторинговых данных. Поле ip — необязательный параметр, по умолчанию возвращаемый JSON не содержит поля ip, система будет использовать адрес клиента, который отправил запрос для записи ip-адреса.

    Поле messages — сообщение тревоги, необязательный параметр, информация, отправляемая при отправке тревоги, можно указать любую информацию, которую вы хотите передать.

    Поле value — значение метрики, собранной программой, должно быть числом и не может быть пустым.

    Поле command — необязательный параметр.
    Любое скриптовое решение, которое может вернуть данные в таком формате JSON, может быть использовано как мониторинговое скрипт для начала мониторинга вашей системы. Пример значения, возвращенного при сборе данных типа CPU: [{"status": "1", "name": "system.cpu.user", "messages": "system.cpu.user 5.67", "value": "5.67", "command": "7", "groups": "cpu"}, {"status": "1", "name": "system.cpu.nice", "messages": "system.cpu.nice 0.00", "value": "0.00", "command": "7", "groups": "cpu"}, {"status": "1", "name": "system.cpu.system", "messages": "system.cpu.system 1.08", "value": "1.08", "command": "7", "groups": "cpu"}, {"status": "1", "name": "system.cpu.iowait", "messages": "system.cpu.iowait 0.58", "value": "0.58", "command": "7", "groups": "cpu"}, {"status": "1", "name": "system.cpu.steal", "messages": "system.cpu.steal 0.00", "value": "0.00", "command": "7", "groups": "cpu"}, {"status": "1", "name": "system.cpu.idle", "messages": "system.cpu.idle 92.66", "value": "92.66", "command": "7", "groups": "cpu"}] После настройки вышеуказанной информации можно запустить демонстрационную версию.
    Демонстрационные шаги:

  3. Сначала выполните доступ с сервера
    curl http://127.0.0.1:8081/monitor/configure/cache/all для инициализации кэша информации

  4. Запустите агента
    После запуска агента, немного подождав, вы сможете увидеть демонстрационную версию.

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

AsuraMonitor — это мощная и гибкая система мониторинга, разработанная для использования в работе по управлению и обслуживанию IT-инфраструктуры. Система проста в установке и настройке. По сравнению с такими системами, как Zabbix, Nagios, Cacti и другими подобными инструментами мониторинга, AsuraMonitor относительно проста в использовании. Для р... Развернуть Свернуть
Apache-2.0
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/asuramonitor-monitor.git
git@api.gitlife.ru:oschina-mirror/asuramonitor-monitor.git
oschina-mirror
asuramonitor-monitor
asuramonitor-monitor
master