Знаете ли вы, что вы можете визуализировать метрики Netdata на Grafana?
Это руководство проведет вас через этапы установки Netdata и настройки метрик для визуализации в Grafana.
База данных, которая будет использоваться для хранения метрик мониторинга Netdata, – InfluxDB.
Netdata – это мощный распределенный инструмент мониторинга работоспособности и производительности в режиме реального времени, используемый для систем инфраструктуры и различных приложений.
Вы можете оптимизировать агент мониторинга, который вы устанавливаете на всех ваших системах и контейнерах.
С другой стороны, Grafana – это инструмент, который позволяет запрашивать и визуализировать ваши метрики независимо от того, где они хранятся.
Шаг 1: Установите Netdata
Netdata можно установить в любой системе Linux, запустив скрипт кикстарта, предоставленный разработчиками.
bash <(curl -Ss https://my-netdata.io/kickstart.sh)
Это установит все системные зависимости Netdata перед сборкой Netdata в системе.
Служба должна быть автоматически запущена после установки.
$ systemctl status netdata ● netdata.service - Real time performance monitoring Loaded: loaded (/usr/lib/systemd/system/netdata.service; enabled; vendor preset: disabled) Active: active (running) since Sat 2019-03-02 07:14:31 CET; 4min 44s ago Process: 21775 ExecStartPre=/bin/chown -R netdata:netdata /var/run/netdata (code=exited, status=0/SUCCESS) Process: 21771 ExecStartPre=/bin/mkdir -p /var/run/netdata (code=exited, status=0/SUCCESS) Process: 21768 ExecStartPre=/bin/chown -R netdata:netdata /var/cache/netdata (code=exited, status=0/SUCCESS) Process: 21766 ExecStartPre=/bin/mkdir -p /var/cache/netdata (code=exited, status=0/SUCCESS) Main PID: 21778 (netdata) CGroup: /system.slice/netdata.service ├─21778 /usr/sbin/netdata -P /var/run/netdata/netdata.pid -D -W set global process scheduling policy keep -W set global OOM score keep ├─21837 bash /usr/libexec/netdata/plugins.d/tc-qos-helper.sh 1 ├─21847 /usr/libexec/netdata/plugins.d/apps.plugin 1 └─21851 /usr/libexec/netdata/plugins.d/go.d.plugin 1 Mar 02 07:14:31 techwiz-app-server systemd[1]: Starting Real time performance monitoring… Mar 02 07:14:31 techwiz-app-server systemd[1]: Started Real time performance monitoring. Mar 02 07:14:31 techwiz-app-server netdata[21778]: /usr/libexec/netdata/plugins.d/anonymous-statistics.sh 'START' '-' '-' Mar 02 07:14:31 techwiz-app-server netdata[21778]: 2019-03-02 07:14:31: netdata INFO : MAIN : /usr/libexec/netdata/plugins.d/anonymous-stati…'-' '-' Hint: Some lines were ellipsized, use -l to show in full.
Вы также можете попробовать Netdata в контейнере Docker, выполнив:
docker run -d --name=netdata \
-p 19999:19999 \
-v /proc:/host/proc:ro \
-v /sys:/host/sys:ro \
-v /var/run/docker.sock:/var/run/docker.sock:ro \
--cap-add SYS_PTRACE \
--security-opt apparmor=unconfined \
netdata/netdata
Шаг 2: Установите InfluxDB & Grafana
Следующим шагом является установка InfluxDB и Grafana, у нас есть руководства для серверов Debian, Ubuntu и CentOS.
- Как установить Grafana на RHEL 8
- Как установить инструмент мониторинга Grafana на Ubuntu 18.04 LTS
- Как контролировать веб-сервер Apache с помощью Prometheus и Grafana за 5 минут
Шаг 3: Настройте Netdata для использования InfluxDB
Мы настроим Netdata для использования InfluxDB в качестве базы данных временных рядов.
[backend] enabled = yes type = opentsdb destination = localhost:4242
$ sudo vim /etc/influxdb/influxdb.conf [[opentsdb]] enabled = true bind-address = ":4242" database = "opentsdb"
Перезапустите службы Infliff и NetData после внесения изменений.
sudo systemctl restart influxdb netdata
Убедитесь, что у вас прослушивается порт 4242.
~# ss -tunelp | grep 4242 tcp LISTEN 0 128 *:4242 *:* users:(("influxd",pid=27646,fd=15)) uid:998 ino:176788 sk:17 v6only:0 <->
Netdata должен начать отправлять метрики в InfluxDB.
$ influx -username 'monitoring' -password 'StrongPassword' Connected to http://localhost:8086 version 1.7.4 InfluxDB shell version: 1.7.4 Enter an InfluxQL query > SHOW DATABASES name: databases name ---- _internal opentsdb
Вы можете увидеть, что база данных opentsdb создана, давайте подтвердим, есть ли в этой базе данных показатели Netdata.
> USE opentsdb > SHOW MEASUREMENTS LIMIT 10 name: measurements name netdata.apps.cpu.VMs netdata.apps.cpu.X netdata.apps.cpu.apps.plugin netdata.apps.cpu.charts.d.plugin netdata.apps.cpu.containers netdata.apps.cpu.cron netdata.apps.cpu.dhcp netdata.apps.cpu.go.d.plugin netdata.apps.cpu.iscsi netdata.apps.cpu.kernel
Шаг 4: Настройте Grafana для использования InfluxDB
Войдите в свою админку Grafana, используя http://serverip:3000, и войдите как пользователь admin и password.
Нажмите Add data source:
Выберите тип источника данных InfluxDB из списка.
Укажите URL-адрес сервера, имя базы данных и данные аутентификации, если у вас включена http-аутентификация.
Сохраните и проверьте предоставленные настройки.
Шаг 5: Создать / импортировать Графическую панель инструментов Netdata.
Я нашел рабочую панель Netdata для графана.
Импортируйте ее, указав номер Dashboard.
Нажмите «Loadь», чтобы импортировать приборную панель.
Выберите источник данных InfluxDB, который вы добавили ранее, чтобы завершить импорт.
В течение короткого времени вы должны увидеть показатели netdata для вашего сервера в Grafana.
Панель инструментов просто показывает простую системную статистику, которую вы можете улучшить для своего использования.
Заключение
Вы узнали, как использовать Netdata, InfluxDB и Grafana для мониторинга серверов приложений, серверов баз данных и других приложений, работающих в вашей инфраструктуре.