improved bash

improved bash script find target IP within prometheus config
This commit is contained in:
IgorKha 2021-10-13 15:47:04 +03:00
parent a4a059abdb
commit 2bf08a3575
No known key found for this signature in database
GPG key ID: F283C5AB2D59E902

38
run.sh
View file

@ -14,10 +14,11 @@ set -e
REPO=Grafana-Mikrotik REPO=Grafana-Mikrotik
ENV_FILE=${ENV_FILE:-.env} ENV_FILE=${ENV_FILE:-.env}
IP=$(grep -R 'MIKROTIK_IP' ./.env | cut -d= -f2)
#? Colors #? Colors
RED=$(printf '\033[31m') RED=$(printf '\033[31m')
# GREEN=$(printf '\033[32m') GREEN=$(printf '\033[32m')
YELLOW=$(printf '\033[33m') YELLOW=$(printf '\033[33m')
BLUE=$(printf '\033[34m') BLUE=$(printf '\033[34m')
BOLD=$(printf '\033[1m') BOLD=$(printf '\033[1m')
@ -109,26 +110,52 @@ clone_git() {
router_ip() { router_ip() {
if [ "$CONFIG" = yes ]; then if [ "$CONFIG" = yes ]; then
if ask "Change target mikrotik IP address ?" Y; then echo -e "\n${BLUE}===================================="
echo -e "\n${BOLD}Prometheus${RESET}\n"
if ask "Change target mikrotik IP address ? (current ${IP})" Y; then
read -rp 'Enter target mikrotik IP address: ' IP read -rp 'Enter target mikrotik IP address: ' IP
if [ -d "./${REPO}" ]; then if [ -d "./${REPO}" ]; then
sed -ri -e '/mikrotik_ip/s/([0-9]*\.[0-9]*\.[0-9]*\.[0-9]*)/'"${IP}"'/g' \ sed -ri -e '/mikrotik_ip/s/(- ).*( #.*)/\1'"${IP}"'\2/g' \
${REPO}/prometheus/prometheus.yml ${REPO}/prometheus/prometheus.yml
sed -ri -e 's/^(MIKROTIK_IP=)(.*)$/\1'"$IP"'/g' "$ENV_FILE" sed -ri -e 's/^(MIKROTIK_IP=)(.*)$/\1'"$IP"'/g' "$ENV_FILE"
echo -e "\n${GREEN}... Prometheus target IP changed to ${IP}"
else else
sed -ri -e '/mikrotik_ip/s/([0-9]*\.[0-9]*\.[0-9]*\.[0-9]*)/'"${IP}"'/g' \ sed -ri -e '/mikrotik_ip/s/(- ).*( #.*)/\1'"${IP}"'\2/g' \
./prometheus/prometheus.yml ./prometheus/prometheus.yml
sed -ri -e 's/^(MIKROTIK_IP=)(.*)$/\1'"$IP"'/g' "$ENV_FILE" sed -ri -e 's/^(MIKROTIK_IP=)(.*)$/\1'"$IP"'/g' "$ENV_FILE"
echo -e "\n${GREEN}... Prometheus target IP changed to ${IP}"
fi fi
return return
fi fi
echo -e "\n${BLUE}...Skipped step"
return return
fi fi
} }
# snmp_on() {
# if [ "$CONFIG" = yes ]; then
# echo -e "\n${BLUE}===================================="
# echo -e "${BOLD}Mikrotik SNMP ACTIVATION${RESET}"
# if ask "Activate snmp mikrotik using ssh?" N; then
# read -rp 'Enter login: ' MK_LOGIN
# # read -rsp 'Enter password: ' MK_PASSWD
# COMM="
# snmp
# "
# ssh ${MK_LOGIN}@$IP "${COMM}"
# else
# echo "skipped"
# fi
# return
# fi
# }
grafana_credentials() { grafana_credentials() {
if [ "$CONFIG" = yes ]; then if [ "$CONFIG" = yes ]; then
echo "${YELLOW}Grafana${RESET}" echo -e "\n${YELLOW}===================================="
echo -e "\n${BOLD}Grafana${RESET}\n"
if ask "Change default credentials Grafana ?" N; then if ask "Change default credentials Grafana ?" N; then
read -rp 'Enter grafana Username: ' GF_USER read -rp 'Enter grafana Username: ' GF_USER
read -rsp 'Enter grafana Password: ' GF_PASSWD read -rsp 'Enter grafana Password: ' GF_PASSWD
@ -199,6 +226,7 @@ main() {
helper helper
router_ip router_ip
# snmp_on
grafana_credentials grafana_credentials
# Change UID:GID prometheus container to current user # Change UID:GID prometheus container to current user