Установка системы мониторинга
Установка Grafana
Grafana — это мультиплатформенное веб-приложение для аналитики и интерактивной визуализации с открытым исходным кодом. Установка производится на ноду demo-entaxy-mon1
Для установки Grafana и включения сервиса выполним следующие команды:
$ sudo apt-get install -y
$ wget https://dl.grafana.com/oss/release/grafana-enterprise_9.3.0_amd64.deb
$ sudo dpkg -i grafana-enterprise_9.3.0_amd64.deb
$ sudo /bin/systemctl daemon-reload
$ sudo /bin/systemctl enable grafana-server
$ sudo /bin/systemctl start grafana-server
Установка и настройка Prometheus
-
Скачиваем Prometheus
wget https://github.com/prometheus/prometheus/releases/download/v2.33.0-rc.0/
-
Распаковываем в /opt
sudo tar xvf ./prometheus-2.33.0-rc.0.linux-amd64.tar.gz --directory /opt/
-
Создаём файл конфигурации prometheus.yml
sudo nano /opt/prometheus-2.33.0-rc.0.linux-amd64/prometheus.yml
# my global config global: scrape_interval: 15s # Set the scrape interval to every 15 seconds. Default is every 1 minute. evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute. # scrape_timeout is set to the global default (10s). # Alertmanager configuration alerting: alertmanagers: - static_configs: - targets: # - alertmanager:9093 # Load rules once and periodically evaluate them according to the global 'evaluation_interval'. rule_files: # - "first_rules.yml" # - "second_rules.yml" # A scrape configuration containing exactly one endpoint to scrape: # Here it's Prometheus itself. scrape_configs: # The job name is added as a label `job=<job_name>` to any timeseries scraped from this config. - job_name: "prometheus" # metrics_path defaults to '/metrics' # scheme defaults to 'http'. static_configs: - targets: ["localhost:9090"] - job_name: 'java-demo-entaxy-krf1' metrics_path: /metrics static_configs: - targets: ['X.X.X.X:XXXX'] - job_name: 'java-demo-entaxy-krf2' metrics_path: /metrics static_configs: - targets: ['X.X.X.X:XXXX'] - job_name: 'java-demo-entaxy-amq1' metrics_path: /metrics static_configs: - targets: ['X.X.X.X:XXXX'] - job_name: 'demo-entaxy-krf1' metrics_path: /metrics static_configs: - targets: ['X.X.X.X:XXXX'] - job_name: 'demo-entaxy-krf2' metrics_path: /metrics static_configs: - targets: ['X.X.X.X:XXXX'] - job_name: 'demo-entaxy-amq1' metrics_path: /metrics static_configs: - targets: ['X.X.X.X:XXXX'] - job_name: node metrics_path: /metrics static_configs: - targets: ['X.X.X.X:XXXX'] - targets: ['X.X.X.X:XXXX'] - targets: ['X.X.X.X:XXXX']
-
Создаём юнит для запуска сервиса
/etc/systemd/system/prometheus.service
sudo nano /etc/systemd/system/prometheus.service
[Unit] Description=prometheus After=network.target StartLimitIntervalSec=0 [Service] Type=simple User=root WorkingDirectory=/opt/prometheus-2.33.0-rc.0.linux-amd64 LimitAS=infinity LimitRSS=infinity LimitCORE=infinity LimitNOFILE=65536 ExecStart=/opt/prometheus-2.33.0-rc.0.linux-amd64/prometheus Restart=always [Install] WantedBy=multi-user.target
-
Переинициализируем systemd-unit, включаем и запускаем сервис. Проверяем статус.
systemctl daemon-reload systemctl enable prometheus.service
systemctl start prometheus.service systemctl status prometheus.service
-
После входа в веб интерфейс Grafana необходимо зарегистрировать новый Datasource Prometheus с адресом:
Установка и настройка Loki
Loki – это система сбора логов. Установка производится на ноду demo-entaxy-mon1
-
Скачиваем Loki
wget https://github.com/grafana/loki/releases/download/v2.2.1/loki-linux-amd64.zip
-
Распаковываем в /opt/
sudo unzip ./loki-linux-amd64.zip -d /opt/loki
-
Назначаем права
chmod 755 /opt/loki/loki-linux-amd64 -
Создаем файл сервиса /etc/systemd/system/loki.service
sudo nano /etc/systemd/system/loki.service
[Unit] Description=loki After=network.target StartLimitIntervalSec=0 [Service] Type=simple User=root WorkingDirectory=/opt/loki LimitAS=infinity LimitRSS=infinity LimitCORE=infinity LimitNOFILE=65536 ExecStart=/opt/loki/loki-linux-amd64 -config.file=/opt/loki/loki-local-config.yaml Restart=always [Install] WantedBy=multi-user.target Создаем файл /opt/loki/loki-local-config.yaml sudo nano /opt/loki/loki-local-config.yaml auth_enabled: false server: http_listen_port: 3100 ingester: lifecycler: address: 127.0.0.1 ring: kvstore: store: inmemory replication_factor: 1 final_sleep: 0s chunk_idle_period: 5m chunk_retain_period: 30s max_transfer_retries: 0 schema_config: configs: - from: 2018-04-15 store: boltdb object_store: filesystem schema: v11 index: prefix: index_ period: 168h storage_config: boltdb: directory: /opt/loki/data/index filesystem: directory: /opt/loki/data/chunks limits_config: enforce_metric_name: false reject_old_samples: true reject_old_samples_max_age: 168h chunk_store_config: max_look_back_period: 0s table_manager: retention_deletes_enabled: false retention_period: 0s
-
Переинициализируем systemd-unit, включаем и запускаем сервис. Проверяем статус.
sudo systemctl daemon-reload sudo systemctl enable loki.service sudo systemctl start loki.service sudo systemctl status loki.service
-
После входа в веб интерфейс Grafana необходимо зарегистрировать новый Datasource Loki с адресом:
Установка и настройка Fluent-bit
Fluent bit – это легковесная служба обработки и пересылки логов с открытым исходным кодом.
Установка производится на ноду demo-entaxy-mon1
-
Скачиваем:
wget https://fluentbit.io/releases/1.8/fluent-bit-1.8.12.tar.gz
-
Распаковываем во временную папку
tar xvf ./fluent-bit-1.8.12.tar.gz --directory ./temp/
-
Настраиваем службу Fluent-bit
[Unit] Description=fluentbit fter=network.target StartLimitIntervalSec=0 [Service] Type=simple User=root WorkingDirectory=/opt/fluent-bit LimitAS=infinity LimitRSS=infinity LimitCORE=infinity LimitNOFILE=65536 ExecStart=/opt/fluent-bit/fluent-bit -e /opt/fluent-bit/out_loki.so -c /opt/fluent-bit/fluentBit.conf Restart=always [Install] WantedBy=multi-user.target
-
Копируем файл loki/cmd/fluent-bit/out_loki.so в /opt/fluent-bit
-
Создаём в папке /opt/fluent-bit файл fluentBit.conf.
-
Для Artemis (demo-entaxy-amq1) файл будет выглядеть так:
sudo nano /opt/fluent-bit/fluentBit.conf[SERVICE] Flush 5 Daemon Off Log_Level info Parsers_File /opt/fluent-bit/parsers.conf [INPUT] Name tail Path /opt/artemis/brokers/entaxy-broker/log/artemis.log Refresh_Interval 5 Buffer_Chunk_Size 100k Buffer_Max_Size 1M Tag entaxy Key message Multiline On Multiline_Flush 1 Parser_Firstline entaxy [OUTPUT] Name loki Match * host X.X.X.X port 3100 line_format json labels job=amq-1 label_keys $log_level
-
Для серверов karaf (demo-entaxy-krf1 и demo-entaxy-krf2) этот файл будет выглядеть так:
[SERVICE] Flush 5 Daemon Off Log_Level info Parsers_File /opt/fluent-bit/parsers.conf [INPUT] Name tail Path /opt/karaf/data/log/karaf.log Refresh_Interval 5 Buffer_Chunk_Size 100k Buffer_Max_Size 1M Tag entaxy Key message Multiline On Multiline_Flush 1 Parser_Firstline entaxy [OUTPUT] Name loki Match * host X.X.X.X port 3100 line_format json labels job=entaxy-1, service=$data['service'], operation=$data['operation'], objectId=$data['objectId'], parameter=$data['parameter'], sender=$data['sender'], receiver=$data['receiver'] label_keys $log_level, $request
-
В параметре Path нужно указать путь к логам Artemis, в параметрах host и port нужно соответственно указать адрес и порт сервиса Loki.
-
В нашем случае это сервер demo-entaxy-mon1 (X.X.X.X:XXXX).
-
Создаем файл labelmap.json
sudo nano /opt/fluent-bit/labelmap.json
{ "instance": "instance", "log_level": "log_level", "service": "service" }
-
Создаем файл parsers.conf в папке /opt/fluent-bit
[PARSER] Name observability Format json Time_Key time Time_Format %Y-%m-%dT%H:%M:%S.%L [PARSER] Name entaxy Format regex Regex ^(?<date>\d{2,4}\-\d{2,4}\-\d{2,4}T\d{2,4}\:\d{2,4}\:\d{2,4}\,\d{1,6}) \| (?<log_level>[^\s]+)[\s]+\| (?<thread>[^\|]+) \| (?<object>[^\s]+)[\s]+\| (?<bundle>\d{2,4} \- [^\s]+ \- [^\s] +) \| (((?<request>\w{8}\-\w{4}\-\w{4}-\w{4}\-\w{12}))#(?<data>[^#]+)#[\s]*?(?<step>.*)| ?(?<message>.*))$ Decode_Field_As json data Time_Key date Time_Format %Y-%m-%dT%H:%M:%S,%L #Time_Offset +0300 Time_Keep On
-
Создаем для сервера Artemis файл parsers.conf в папке /opt/fluent-bit
[PARSER] Name observability Format json Time_Key time Time_Format %Y-%m-%dT%H:%M:%S.%L [PARSER] Name entaxy Format regex Regex ^(?<date>\d{2,4}\-\d{2,4}\-\d{2,4}T\d{2,4}\:\d{2,4}\:\d{2,4}\,\d{1,6}) \| (?<log_level>[^\s]+)[\s]+\| (?<thread>[^\|]+) \| (?<object>[^\s]+)[\s]+\| (?<bundle>\d{2,4} \- [^\s]+ \- [^\s] +) \| ?(?<message>.*)$ Time_Key date Time_Format %Y-%m-%dT%H:%M:%S,%f Time_Offset +0300
-
Создаем юнит для запуска сервиса /etc/systemd/system/fluentbit.service
sudo nano /etc/systemd/system/fluentbit.service
[Unit] Description=fluentbit After=network.target StartLimitIntervalSec=0 [Service] Type=simple User=root WorkingDirectory=/opt/fluent-bit LimitAS=infinity LimitRSS=infinity LimitCORE=infinity LimitNOFILE=65536 ExecStart=/opt/fluent-bit/fluent-bit -e /opt/fluent-bit/out_loki.so -c /opt/fluent-bit/fluentBit.conf Restart=always [Install] WantedBy=multi-user.target
-
Переинициализируем systemd-unit, включаем и запускаем сервис. Проверяем статус.
sudo systemctl daemon-reload
sudo systemctl enable fluentbit.service
sudo systemctl start fluentbit.service
sudo systemctl status fluentbit.service
Установка и настройка Node Explorer
Node_Exporter – это агент для сбора метрик состояния серверов.
Агент устанавливается на demo-entaxy-amq1, demo-entaxy-krf1 и demo-entaxy-krf2 в каталоге /opt/node_exporter-1.5.0.linux-amd64 и работает на стандартном порту – 9100.
-
Скачиваем дистрибутив
wget https://github.com/prometheus/node_exporter/releases/download/v1.5.0/node_exporter-1.5.0.linux-amd64.tar.gz
-
Распаковываем
sudo tar xvf node_exporter-1.5.0.linux-amd64.tar.gz --directory /opt/
-
Создаем файл сервиса
sudo nano /etc/systemd/system/node_exporter.service
[Unit] Description=Node Exporter After=network.target [Service] User=root Type=simple ExecStart=/opt/node_exporter-1.5.0.linux-amd64/node_exporter [Install] WantedBy=multi-user.target
-
Активируем и запускаем сервис
sudo systemctl daemon-reload
sudo systemctl enable node_exporter.service
sudo systemctl start node_exporter.service
sudo systemctl status node_exporter.service
Установка и настройка Telegraf
Telegraf – это агент для сбора java-метрик, jmx-метрик Entaxy ION и ActiveMQ Artemis.
Агент устанавливается на нодах demo-entaxy-amq1, demo-entaxy-krf1 и demo-entaxy-krf2.
-
Устанавливаем агент на ноды
wget -q https://repos.influxdata.com/influxdata-archive_compat.key echo '393e8779c89ac8d958f81f942f9ad7fb82a25e133faddaf92e15b16e6ac9ce4c influxdata-archive_compat.key' | sha256sum -c && cat influxdata-arch ive_compat.key | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/influxdata-archive_compat.gpg > /dev/null echo 'deb [signed-by=/etc/apt/trusted.gpg.d/influxdata-archive_compat.gpg] https://repos.influxdata.com/debian stable main' | sudo tee /etc /apt/sources.list.d/influxdata.list sudo apt-get update && sudo apt-get install telegraf
-
После завершения установки переходим к каталогу с конфигурационными файлами Telegraf и удаляем стандартные конфиги telegraf.conf и telegraf.conf.sample
-
Создаем новый конфиг telegraf.conf со следующими параметрами
-
Для нод karaf (demo-entaxy-krf1 и demo-entaxy-krf2):
sudo nano /etc/telegraf/telegraf.conf [global_tags] [agent] interval = "10s" round_interval = false metric_batch_size = 100000 metric_buffer_limit = 10000 collection_jitter = "0s" flush_interval = "10s" flush_jitter = "0s" precision = "" [[outputs.prometheus_client]] listen = ":9191" path = "/metrics" expiration_interval = "0s" [[inputs.jolokia2_agent]] urls = ["http://localhost:8181/hawtio/jolokia"] username = "karaf" password = "karaf" [[inputs.jolokia2_agent.metric]] name = "context" mbean = "org.apache.camel:context=*,type=context,name=*" paths = ["ExchangesCompleted", "ExchangesFailed", "ExchangesInflight", "ExchangesTotal", "MinProcessingTime", "MaxProcessingTime", "MeanProcessingTime", "Redeliveries"] tag_keys = ["name"] [[inputs.jolokia2_agent.metric]] name = "routes" mbean = "org.apache.camel:context=*,type=routes,name=*" paths = ["ExchangesCompleted", "ExchangesFailed", "ExchangesInflight", "ExchangesTotal", "MinProcessingTime", "MaxProcessingTime", "MeanProcessingTime", "Redeliveries", "CamelId"] tag_keys = ["name", "CamelId"] [[inputs.jolokia2_agent.metric]] name = "java_runtime" mbean = "java.lang:type=Runtime" paths = ["Uptime"] [[inputs.jolokia2_agent.metric]] name = "java_memory" mbean = "java.lang:type=Memory" paths = ["HeapMemoryUsage", "NonHeapMemoryUsage", "ObjectPendingFinalizationCount"] [[inputs.jolokia2_agent.metric]] name = "java_garbage_collector" mbean = "java.lang:name=*,type=GarbageCollector" paths = ["CollectionTime", "CollectionCount"] tag_keys = ["name"] [[inputs.jolokia2_agent.metric]] name = "java_last_garbage_collection" mbean = "java.lang:name=*,type=GarbageCollector" paths = ["LastGcInfo"] tag_keys = ["name"] [[inputs.jolokia2_agent.metric]] name = "java_threading" mbean = "java.lang:type=Threading" paths = ["TotalStartedThreadCount", "ThreadCount", "DaemonThreadCount", "PeakThreadCount"] [[inputs.jolokia2_agent.metric]] name = "java_class_loading" mbean = "java.lang:type=ClassLoading" paths = ["LoadedClassCount", "UnloadedClassCount", "TotalLoadedClassCount"] [[inputs.jolokia2_agent.metric]] name = "java_memory_pool" mbean = "java.lang:name=*,type=MemoryPool" paths = ["Usage", "PeakUsage", "CollectionUsage"] tag_keys = ["name"] [[inputs.jolokia2_agent.metric]] name = "java" mbean = "java.lang:type=OperatingSystem" paths = ["OpenFileDescriptorCount", "ProcessCpuLoad", "ProcessCpuTime", "SystemCpuLoad", "SystemLoadAverage"] [[processors.regex]] namepass = ["context", "routes"] [[processors.regex.tags]] key = "name" pattern = "\"(.*)\"" replacement = "${1}"
-
Для ноды Artemis (demo-entaxy-amq1):
[global_tags] [agent] interval = "10s" round_interval = false metric_batch_size = 100000 metric_buffer_limit = 10000 collection_jitter = "0s" flush_interval = "10s" flush_jitter = "0s" precision = "" [[outputs.prometheus_client]] listen = ":9090" path = "/metrics" [[inputs.jolokia2_agent]] urls = ["http://localhost:8161/console/jolokia"] username = "artemis" password = "artemis" [[inputs.jolokia2_agent.metric]] name = "address" mbean = "org.apache.activemq.artemis:broker=*,component=addresses,address=*" paths = ["NumberOfMessages", "MessageCount", "RoutedMessageCount", "UnRoutedMessageCount"] tag_keys = ["address"] [[inputs.jolokia2_agent.metric]] name = "queue" mbean = "org.apache.activemq.artemis:broker=*,component=addresses,address=*,subcomponent=queues,routing-type=*,queue=*" paths = ["AcknowledgeAttempts", "MessageCount", "MessagesAcknowledged", "MessagesAdded", "MessagesExpired", "MessagesKilled", "PersistentSize"] tag_keys = ["queue", "address"] [[inputs.jolokia2_agent.metric]] name = "java_runtime" mbean = "java.lang:type=Runtime" paths = ["Uptime"] [[inputs.jolokia2_agent.metric]] name = "java_memory" mbean = "java.lang:type=Memory" paths = ["HeapMemoryUsage", "NonHeapMemoryUsage", "ObjectPendingFinalizationCount"] [[inputs.jolokia2_agent.metric]] name = "java_garbage_collector" mbean = "java.lang:name=*,type=GarbageCollector" paths = ["CollectionTime", "CollectionCount"] tag_keys = ["name"] [[inputs.jolokia2_agent.metric]] name = "java_last_garbage_collection" mbean = "java.lang:name=*,type=GarbageCollector" paths = ["LastGcInfo"] tag_keys = ["name"] [[inputs.jolokia2_agent.metric]] name = "java_threading" mbean = "java.lang:type=Threading" paths = ["TotalStartedThreadCount", "ThreadCount", "DaemonThreadCount", "PeakThreadCount"] [[inputs.jolokia2_agent.metric]] name = "java_class_loading" mbean = "java.lang:type=ClassLoading" paths = ["LoadedClassCount", "UnloadedClassCount", "TotalLoadedClassCount"] [[inputs.jolokia2_agent.metric]] name = "java_memory_pool" mbean = "java.lang:name=*,type=MemoryPool" paths = ["Usage", "PeakUsage", "CollectionUsage"] tag_keys = ["name"] [[inputs.jolokia2_agent.metric]] name = "java" mbean = "java.lang:type=OperatingSystem" paths = ["OpenFileDescriptorCount", "ProcessCpuLoad", "ProcessCpuTime", "SystemCpuLoad", "SystemLoadAverage"] [[processors.regex]] namepass = ["address", "queue"] [[processors.regex.tags]] key = "address" pattern = "\"(.*)\"" replacement = "${1}" [[processors.regex.tags]] key = "queue" pattern = "\"(.*)\"" replacement = "${1}"
Путь к метрикам сообщений, который указан в секции «address», должен соответствовать настройкам имени конкретной установки Artemis.
-
Пример настройки нашего стенда в Яндекс
[[inputs.jolokia2_agent.metric]] name = "address" mbean = "org.apache.activemq.artemis:broker=\"entaxy-broker\",component=addresses,address=*" tag_keys = ["address"]
Из примера видно, что наша установка Artemis имеет имя entaxy-broker. Имя установки задаётся в конфигурационном файле broker.xml на сервере Artemis инструкцией <name>entaxy-broker</name>.
В конфигурационном файле
telegraf.conf
в секции [inputs.jolokia2_agent] указан путь к консоли jolokia, а также имя пользователя и пароль.urls = ["http://localhost:8161/console/jolokia"] username = "artemis" password = "artemis"
Для того чтобы включить доступа мониторинга к консоли jolokia необходимо отключить политику на брокере Artemis. Для этого нужно закомментировать параметр <strict-checking/> в файле /opt/artemis/brokers/entaxy-broker/etc/jolokia-access.xml
<cors> <!-- Allow cross origin access from localhost ... --> <allow-origin>*://*</allow-origin> <!-- Options from this point on are auto-generated by Create.java from the Artemis CLI --> <!-- Check for the proper origin on the server side, too --> <!-- <strict-checking/> --> </cors>
Политика применится после перезапуска сервиса Artemis
sudo systemctl restart entaxy@artemis.service
После отключения политики и настройки доступов включаем и запускаем сервис. Проверяем статус.
sudo systemctl enable telegraf.service
sudo systemctl start telegraf.service
sudo systemctl status telegraf.service
Теперь агент отправляет все метрики на страницу /metrics по портам :9191 для Entaxy ION и :9090 для ActiveMQ Artemis
-
Дополнительные действия с дашбордами Grafana
После импорта дашбордов Garfana, необходимо сделать дополнительные действия.
Нужно зайти в настройки дашборда и проверить, что правильно указан Data source и имя job’ы соответствует заданной в prometheus.yml (см. раздел Установка и настройка Prometheus).
Также нужно указать значение в поле Custom all value.
-
Пример настроек для Artemis
-
Пример настроек для Karaf
Работа с Grafana
Создание пользователей и изменение пароля администратора
-
Создание пользователей и изменение пароля администратора
Web-интерфейс Grafana - http://yourip:3000/ -
Для авторизации в систему мониторинга используется стандартный логин и пароль администратора admin/admin При авторизации система предложит изменить пароль учетной записи.
-
Можно изменить пароль учетной записи администратора или пропустить этот шаг нажав на кнопку «Skip». В дальнейшем, пароль от учетной записи можно поменять под авторизованным в системе пользователем наведя курсором мышки на лого пользователя в левом нижнем углу экрана и выбрав пункт «Change password».
-
Создание новых пользователей в Grafana происходит в меню «Server admin» (пиктограмма щита в левом нижнем углу экрана), пункте «Users».
-
По кнопке «New user» можно создать нового пользователя, указав необходимые данные и пароль на открывшейся странице
Дэшборды
Для мониторинга серверов в Grafana предустановлен набор типовых дэшбордов с настроенными графиками для отслеживания состояния серверов и приложений.
-
Camel - dashboard с графиками, отображающими состояние пакетов и их прохождение (кол-во)
-
Прямая ссылка на дэшборд: http://yourip:3000/d/sHSIELIWz/camel
-
В дэшборде имеются следующие графики:
-
Exchanges Complited (Пакетов отправлено) - отображает количество успешно отправленных пакетов с разделением по маршрутам, в которых произошел обмен этими пакетами. Все новые маршруты динамически (автоматически) добавляются в график.
-
Exchanges Failed (Пакетов не отправлено) - отображает количество не отправленных пакетов с разделением по маршрутам, в которых произошел сбой при обмене этими пакетами. Все новые маршруты динамически (автоматически) добавляются в график.
-
Exchanges In Flight (Пакетов в обработке) - отображает количество пакетов, находящихся в обработке с разделением по маршрутам, в которых происходит обработка этих пакетов. Все новые маршруты динамически (автоматически) добавляются в график.
-
Started Routes (Запущенные маршруты) - отображает маршруты по которым был запущен обмен пакетами с разделением по названию маршрута. Все новые маршруты динамически (автоматически) добавляются в график.
-
Logs (Логи) – Логи ИШ Entaxy ION.
Любой из графиков можно приблизить, наведя на него курсором и нажав кнопку «V».
-
-
-
ActiveMQ - dashboard с графиками, отображающими состояние сообщений принятых/отправленных в брокере
-
Прямая ссылка на дэшборд: http://yourip:3000/d/Flk6mRNWk/activemq
-
В дэшборде имеются следующие графики:
-
Number Of Messages (Количество сообщений) - отображает общее количество сообщений с разделением по адресам, на которые были отправлены эти сообщения. Все новые адреса динамически (автоматически) добавляются в график.
-
Routed Message Count (Количество доставленных сообщений) - отображает количество успешно доставленных сообщений с разделением по адресам, на которые были доставлены эти сообщения. Все новые адреса динамически (автоматически) добавляются в график.
-
Unrouted Message Count (Количество не доставленных сообщений) - отображает количество не доставленных сообщений с разделением по адресам, на которые не были доставлены эти сообщения. Все новые адреса динамически (автоматически) добавляются в график.
-
Logs (Логи) – Логи брокера сообщений ActiveMQ Artemis.
Любой из графиков можно приблизить, наведя на него курсором и нажав кнопку «V».
-
-
-
Java - dashboard с графиками, отображающими состояние виртуальной машины, приложения которой используют Java
-
Прямая ссылка на дэшборд: http://yourip:3000/d/7622/java
-
В дэшборде имеются следующие графики:
-
CPU Usage (Использование ЦПУ) – Отображает в процентном соотношении использование ядер ЦПУ java-приложением.
-
Memory Heap/NON Heap (Память в куче/не в куче) – Отображает часть активно используемой памяти с объектами и ссылками. Требует активного мониторинга.
-
Class loading (Классов загружено) – Количество загруженных классов java-приложением.
-
Threads used (Потоков задействовано) – Количество активных потоков в java-приложении.
-
Open File Descriptors (Файловый дескриптор) - Количество открытых соединений с файловой системой и сокетов.
-
GC time/1 min. rate (Время работы сборщика мусора) – Время работы сборки мусора в java-приложении.
-
GC count (Количество сборок мусора) – Количество произведенных сборок мусора.
Любой из графиков можно приблизить, наведя на него курсором и нажав кнопку «V».
-
-
-
Node_Exporter_Full - dashboard с графиками, отображающими состояние виртуальной машины (CPU, RAM, Memory и т.д.)
-
Прямая ссылка на дэшборд: http://yourip:3000/d/lXqnWBGZz/node-exporter-full
-
В дэшборде имеются следующие графики, на которые стоит обратить наибольшее внимание:
-
CPU Busy (Нагрузка ЦПУ) – Нагрузка на ядра центрального процессора сервера
-
Used RAM Memory (Использование ОЗУ) – Общее количество использованной оперативной памяти на сервере
-
Used SWAP (Использование свопа) – Количество дополнительной памяти на жёстком диске, которая была использована в случае исчерпания гарантированного объема оперативной памяти
-
Used Root FS (Использование корневого раздела) – Количество памяти на жёстком диске, которое занято корневым разделом сервера
-
CPU System Load (1 min avg) (Нагрузка ЦПУ задачами за минуту) – Нагрузка на ЦПУ сервера в процентном соотношении по активным задачам за минуту
-
CPU System Load (5 min avg) (Нагрузка ЦПУ задачами за 5 минут) – Нагрузка на ЦПУ сервера в процентном соотношении по активным задачам за 5 минут
Любой из графиков можно приблизить наведя на него курсором и нажав кнопку «V».
-
-