Установка netdata в CentOS 7 |
Netdata — это совместимый с Linux, FreeBSD и MacOS инструмент, используемый для распределенного мониторинга производительности и состояния систем в реальном времени. Netdata — один из лучших инструментов мониторинга в реальном времени, который работает с виртуальными машинами, физическими серверами, контейнерами и устройствами IOT. Он использует современные интерактивные веб-панели.
Некоторые хорошие особенности netdata в недавнем выпуске включают в себя:
- Автоматическое масштабирование единиц диаграммы
- Списки IP-доступа для фильтрации доступа к netdata
- Улучшенный мониторинг виртуальных машин и контейнеров
- Выделенные таймфреймы на всех графиках информационной панели
- Снимки панели мониторинга для загрузки/сохранения выбранных таймфреймов
- Преобразование часового пояса на панели управления, чтобы можно было сравнивать диаграммы с журналами сервера.
- Нулевое обслуживание, настройка и зависимости
- Он легко настраивается, расширяется и встраивается.
- Масштабируется до бесконечности
- Поддерживаются серверные части временных рядов — они могут архивировать свои метрики в графите, opentsdb, Prometheus, базах данных документов JSON с той же или меньшей детализацией.
Установка Netdata на CentOS 7
Сначала начните с установки недостающих зависимостей, необходимых для netdata. Это делается бегом.
# yum -y install curl git
# curl -Ss 'https://raw.githubusercontent.com/firehol/netdata-demo-site/master/install-required-packages.sh'
Затем выполните скачанный скрипт.
# bash install-required-packages.sh
Это позволит загрузить несколько пакетов, необходимых netdata. После его завершения вы можете приступить к клонированию исходного кода netdata из Github.
# git clone https://github.com/firehol/netdata.git --depth=1
Cloning into 'netdata'...
remote: Counting objects: 736, done.
remote: Compressing objects: 100% (676/676), done.
remote: Total 736 (delta 99), reused 265 (delta 43), pack-reused 0
Receiving objects: 100% (736/736), 2.54 MiB | 149.00 KiB/s, done.
Resolving deltas: 100% (99/99), done.
Затем запустите установку netdata, выполнив сценарий netdata-installer.sh.
# cd netdata/
# ./netdata-installer.sh
^
|.-. .-. .-. .-. . netdata
| '-' '-' '-' '-' real-time performance monitoring, done right!
+----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+--->
You are about to build and install netdata to your system.
It will be installed at these locations:
- the daemon at /usr/sbin/netdata
- config files in /etc/netdata
- web files in /usr/share/netdata
- plugins in /usr/libexec/netdata
- cache files in /var/cache/netdata
- db files in /var/lib/netdata
- log files in /var/log/netdata
- pid file at /var/run/netdata.pid
- logrotate file at /etc/logrotate.d/netdata
This installer allows you to change the installation path.
Press Control-C and run the same command with --help for help.
Press ENTER to build and install netdata to your system >
Чтобы начать процесс установки, нажмите
После успешной установки вы должны получить сообщение, подобное приведенному ниже:
.....
Uninstall script generated: ./netdata-uninstaller.sh
Update script generated : ./netdata-updater.sh
netdata-updater.sh can work from cron. It will trigger an email from cron
only if it fails (it does not print anything when it can update netdata).
Run this to automatically check and install netdata updates once per day:
sudo ln -s /root/netdata/netdata-updater.sh /etc/cron.daily/netdata-updater
--- We are done! ---
^
|.-. .-. .-. .-. .-. . netdata .-. .-
| '-' '-' '-' '-' '-' is installed and running now! -' '-'
+----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+--->
enjoy real-time performance and health monitoring...
Настройка дедупликации памяти
Если у вас есть дедупер памяти ядра (так называемый слияние одной страницы ядра или KSM), но он в настоящее время не включен. Вы должны включить его, выполнив команды:
echo 1 >/sys/kernel/mm/ksm/run
echo 1000 >/sys/kernel/mm/ksm/sleep_millisecs
Это снизит использование памяти сетевых данных на 40–60 %.
Чтобы запустить netdata, выполните:
# systemctl start netdata
# systemctl status netdata
Открыть порт netdata на firewalld
Теперь, когда мы подтвердили работу службы netdata, откройте ее служебный порт на брандмауэре, чтобы вы могли получить к нему доступ снаружи. Используйте команды:
# firewall-cmd --add-port=19999/tcp --permanent
# firewall-cmd --reload
Настроить SELinux
Вы можете отключить SELinux, перевести его в разрешительный режим или настроить порт 19999 для работы с SELinux. Чтобы перевести SELinux в разрешительный режим, запустите
# setenforce 0
# sestatus
SELinux status: enabled
SELinuxfs mount: /sys/fs/selinux
SELinux root directory: /etc/selinux
Loaded policy name: targeted
Current mode: permissive
Mode from config file: permissive
Policy MLS status: enabled
Policy deny_unknown status: allowed
Max kernel policy version: 28
# cat /etc/selinux/config | grep -v ^# | grep SELINUX=
SELINUX=permissive
Чтобы отключить SELinux, измените строку на SELINUX=disabled и перезагрузите сервер.
Если для SELinux установлено принудительное применение. Для этого вам может потребоваться установить semanage инструмент:
# yum -y install policycoreutils-python
Теперь вы можете использовать инструмент командной строки semanage для маркировки порта сетевых данных.
# semanage port -a -t ssh_port_t -p tcp 19999
# systemctl restart netdata
# systemctl status netdata
● netdata.service - Real time performance monitoring
Loaded: loaded (/etc/systemd/system/netdata.service; enabled; vendor preset: disabled)
Active: active (running) since Wed 2018-02-21 11:14:43 EAT; 3h 43min ago
Process: 8600 ExecStartPre=/bin/chown -R netdata:netdata /var/cache/netdata (code=exited, status=0/SUCCESS)
Process: 8598 ExecStartPre=/bin/mkdir -p /var/cache/netdata (code=exited, status=0/SUCCESS)
Main PID: 8603 (netdata)
CGroup: /system.slice/netdata.service
├─ 8603 /usr/sbin/netdata -P /run/netdata/netdata.pid -D
├─ 8639 /usr/bin/python /usr/libexec/netdata/plugins.d/python.d.pl...
├─ 8640 /usr/libexec/netdata/plugins.d/apps.plugin 1
└─23394 bash /usr/libexec/netdata/plugins.d/tc-qos-helper.sh 1
Посетите IP-адрес вашего сервера и порт 19999. У вас должна быть запущена программа netdata.