среда, 23 октября 2019 г.

nginx location regexp/регулярка

Регулярка для закрытия/открытия доступа к определенным папкам.
В этом примере закрываем доступ в папку sms и voice.

location ~* (/path/to/folder/sms|/path/to/folder/voice)($|\/) {
...
deny all;
}

понедельник, 21 октября 2019 г.

Снимаем свои метрики в node_exporter

Понадобилось снимать свои метрики в Prometheus и Node Exporter. Больше информации тут: https://www.robustperception.io/using-the-textfile-collector-from-a-shell-script


1) Создаем service в  /etc/systemd/system/node_exporter.service и запускаем service с ключом --collector.textfile.directory=/var/lib/node_exporter/textfile_collector

[Unit]
Description=node_exporter

[Service]
User=root
Group=root
Type=Simple
ExecStart=/etc/node_exporter/node_exporter --collector.textfile.directory=/var/lib/node_exporter/textfile_collector
WorkingDirectory=/etc/node_exporter
TimeoutSec=15
Restart=always

[Install]
WantedBy=multi-user.target


2)  Сам баш скрипт.


#!/bin/bash
# Adjust as needed.
#https://www.robustperception.io/using-the-textfile-collector-from-a-shell-script
TEXTFILE_COLLECTOR_DIR=/var/lib/node_exporter/textfile_collector/
# Note the start time of the script.
# Your code goes here.
sleep 10
# Write out metrics to a temporary file.
END="$(cat /var/log/cron | wc -l)"
cat << EOF > "$TEXTFILE_COLLECTOR_DIR/test.prom.$$"
test $END
EOF
# Rename the temporary file atomically.
# This avoids the node exporter seeing half a file.
mv "$TEXTFILE_COLLECTOR_DIR/test.prom.$$" \
"$TEXTFILE_COLLECTOR_DIR/test.prom"