Как контролировать сервер Linux с Netdata и Grafana |

Как контролировать сервер Linux с Netdata и Grafana

Мануал

Знаете ли вы, что вы можете визуализировать метрики 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.

Шаг 3: Настройте Netdata для использования InfluxDB


Мы настроим Netdata для использования InfluxDB в качестве базы данных временных рядов.
Откройте конфигурацию netdata и найдите блок [setend] и установите его.
[backend]
    enabled = yes
    type = opentsdb
    destination = localhost:4242
 Это должно выглядеть примерно так:
Теперь откройте конфигурацию InfluxDB и включите сервис OpenTSDB
$ 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 для мониторинга серверов приложений, серверов баз данных и других приложений, работающих в вашей инфраструктуре.

 

Пожалуйста, не спамьте и никого не оскорбляйте. Это поле для комментариев, а не спамбокс. Рекламные ссылки не индексируются!
Добавить комментарий