В статье рассказано про уставновку Promethes, Node_exporter, Grafana на ОС FreeBSD на момент 16.02.25

Считаем, что все установки и настройки проводим на хосте с IP-адресом 192.168.1.7

1. Установка программ

#cd /usr/ports/net-mgmt/prometheus2 (посмотрите, может уже 3-я версия вышла)
#make install clean

#cd /usr/ports/sysutils/node_exporter
#make install clean

#cd /usr/ports/www/grafana/
#make install clean

Добавляем запуск при загрузке. Для этого в /etc/rc.conf пишем:

prometheus_enable=YES
node_exporter_enable=YES
grafana_enable=YES

В файле /usr/local/etc/prometheus.yml ищем строку "- targets: ["localhost:9090"]" b под ней и вписываем строки:

- job_name: 'node_exporter'
  scrape_interval: 5s
  static_configs:
    - targets: ['localhost:9100']

У вас должно получиться как в правой части скрина. Отступы здесь нельзя делать клавишей Tab, только пробелами и именно так как показано на скрине, иначе при старте prometheus будет падать с ошибкой err="parsing YAML file /usr/local/etc/prometheus.yml: yaml: line 29: found character that cannot start any token".

И запускаем эти сервисы:

service prometheus start
service node_exporter start
service grafana start

Заходим в веб-панель Prometheus: http://192.168.1.7:9090 Исключительно для того, чтобы убедиться, что он работает. Если страница открылась, то всё ок и можно закрыть вкладку.

Заходим в веб-панель Grafana: http://192.168.1.7:3000 (логин/пароль - admin/admin). И сразу же вам предложат поменять пароль по умолчанию.

Переходим ко второй части.


2. Настройка программ

2.1. Добавляем источник данных, для этого в веб-панели Grafana кликаем по ссылке "DATA SOURCES",

затем по "Prometheus"

В строке Connection прописываем адрес и порт сервера как показано на скриншоте ниже:

прокручиваем страницу до страницы Perfomance и выбираем тип и версию "Prometheus", затем нажимаем "Save & Test" и кликаем по "Home"

2.2. Добавляем Панель датчиков, для чего кликаем по ссылке "DASHBOARDS"

Затем по "Import a dashboard".

Может выскочить (а может и нет) табличка с предупреждениями о несохранённых изменениях, там нажимаем "Discard".

В открывшемся окне переходим по ссылке grafana.com/dashboards

В поиске вбиваем FreeBSD и кликаем по Exporter FreeBSD.

и находим ID

Который прописываем в предыдущей вкладке и нажимаем "Load"

В открывшемся окне выбираем источник и нажимаем Import.

На выходе получаем такое.

Работает вроде.


3. Node_exporter на другом сервере

Для того чтобы получать метрики с удалённого сервера с FreeBSD (его IP-адрес будет 192.168.1.5) необходимо поставить node_exporter на удалённый сервер, прописать в файл /etc/rc.conf строки

node_exporter_enable="YES"
node_exporter_listen_address="192.168.1.5:9100"

и запустить сервис командой service node_exporter start

 

 Далее нужно дописать в /usr/local/etc/prometheus.yml хоста 192.168.1.7 строки:

  - job_name: 'ns02'
    static_configs:
      - targets: ['192.168.1.5:9100']

как показано на рисунке. И да, снова пробелы будут вам портить жизнь.

 

 

 

cd /usr/ports/databases/prometheus-postgres-exporter

В /etc/rc.conf пишем

postgres_exporter_enable="YES"
postgres_exporter_listen_address="192.168.10.2:9187"

cd /usr/ports/net-mgmt/mysqld_exporter

 

CREATE USER 'exporter'@'localhost' IDENTIFIED BY 'password' WITH MAX_USER_CONNECTIONS 3;
GRANT ALL PRIVILEGES ON *.* TO 'exporter'@'localhost';
FLUSH PRIVILEGES;
exit

В /etc/rc.conf пишем

mysql_enable="YES"
mysqld_exporter_enable="YES"
mysqld_exporter_listen_address="192.168.30.1:9104"
mysqld_exporter_conffile="/usr/local/etc/mysql/mysqld_exporter.cnf"