mirror of https://github.com/Aidaho12/haproxy-wi
parent
5d814d20f7
commit
f2c14b720b
|
@ -32,6 +32,9 @@
|
||||||
- dashboard_id: 11879
|
- dashboard_id: 11879
|
||||||
revision_id: 3
|
revision_id: 3
|
||||||
datasource: prometheus
|
datasource: prometheus
|
||||||
|
- dashboard_id: 11074
|
||||||
|
revision_id: 9
|
||||||
|
datasource: prometheus
|
||||||
tasks:
|
tasks:
|
||||||
- name: populate service facts
|
- name: populate service facts
|
||||||
service_facts:
|
service_facts:
|
||||||
|
|
|
@ -0,0 +1,38 @@
|
||||||
|
- hosts: "{{ variable_host }}"
|
||||||
|
become: yes
|
||||||
|
become_method: sudo
|
||||||
|
tasks:
|
||||||
|
- name: Set SSH port
|
||||||
|
set_fact:
|
||||||
|
ansible_port: "{{SSH_PORT}}"
|
||||||
|
|
||||||
|
|
||||||
|
- name: collect facts about system services
|
||||||
|
service_facts:
|
||||||
|
register: services_state
|
||||||
|
|
||||||
|
|
||||||
|
- name: Open stat port for firewalld
|
||||||
|
firewalld:
|
||||||
|
port: "9100/tcp"
|
||||||
|
state: enabled
|
||||||
|
permanent: yes
|
||||||
|
immediate: yes
|
||||||
|
ignore_errors: yes
|
||||||
|
when: (ansible_facts['os_family'] == "RedHat" or ansible_facts['os_family'] == 'CentOS') and ansible_facts.services["firewalld.service"]['state'] == "running"
|
||||||
|
|
||||||
|
|
||||||
|
- name: Open stat port for iptables
|
||||||
|
iptables:
|
||||||
|
chain: INPUT
|
||||||
|
destination_port: "9100"
|
||||||
|
jump: ACCEPT
|
||||||
|
protocol: tcp
|
||||||
|
ignore_errors: yes
|
||||||
|
|
||||||
|
|
||||||
|
roles:
|
||||||
|
- role: cloudalchemy.node_exporter
|
||||||
|
environment:
|
||||||
|
http_proxy: "{{PROXY}}"
|
||||||
|
https_proxy: "{{PROXY}}"
|
|
@ -0,0 +1,53 @@
|
||||||
|
#!/bin/bash
|
||||||
|
for ARGUMENT in "$@"
|
||||||
|
do
|
||||||
|
KEY=$(echo $ARGUMENT | cut -f1 -d=)
|
||||||
|
VALUE=$(echo $ARGUMENT | cut -f2 -d=)
|
||||||
|
|
||||||
|
case "$KEY" in
|
||||||
|
PROXY) PROXY=${VALUE} ;;
|
||||||
|
HOST) HOST=${VALUE} ;;
|
||||||
|
USER) USER=${VALUE} ;;
|
||||||
|
PASS) PASS=${VALUE} ;;
|
||||||
|
KEY) KEY=${VALUE} ;;
|
||||||
|
SSH_PORT) SSH_PORT=${VALUE} ;;
|
||||||
|
*)
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
|
||||||
|
if [ ! -d "/var/www/haproxy-wi/app/scripts/ansible/roles/cloudalchemy.node_exporterr" ]; then
|
||||||
|
if [ ! -z $PROXY ];then
|
||||||
|
export https_proxy="$PROXY"
|
||||||
|
export http_proxy="$PROXY"
|
||||||
|
fi
|
||||||
|
ansible-galaxy install cloudalchemy.node_exporter --roles-path /var/www/haproxy-wi/app/scripts/ansible/roles/
|
||||||
|
fi
|
||||||
|
|
||||||
|
export ANSIBLE_HOST_KEY_CHECKING=False
|
||||||
|
export ANSIBLE_DISPLAY_SKIPPED_HOSTS=False
|
||||||
|
export ACTION_WARNINGS=False
|
||||||
|
export LOCALHOST_WARNING=False
|
||||||
|
export COMMAND_WARNINGS=False
|
||||||
|
|
||||||
|
PWD=`pwd`
|
||||||
|
PWD=$PWD/scripts/ansible/
|
||||||
|
echo "$HOST ansible_port=$SSH_PORT" > $PWD/$HOST
|
||||||
|
|
||||||
|
if [[ $KEY == "" ]]; then
|
||||||
|
ansible-playbook $PWD/roles/node_exporter.yml -e "ansible_user=$USER ansible_ssh_pass=$PASS variable_host=$HOST PROXY=$PROXY SSH_PORT=$SSH_PORT" -i $PWD/$HOST
|
||||||
|
else
|
||||||
|
ansible-playbook $PWD/roles/node_exporter.yml --key-file $KEY -e "ansible_user=$USER variable_host=$HOST PROXY=$PROXY SSH_PORT=$SSH_PORT" -i $PWD/$HOST
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ $? -gt 0 ]
|
||||||
|
then
|
||||||
|
echo "error: Can't install Node exporter <br /><br />"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if ! sudo grep -Fxq " - $HOST:9100" /etc/prometheus/prometheus.yml; then
|
||||||
|
sudo echo " - $HOST:9100" | sudo tee -a /etc/prometheus/prometheus.yml > /dev/null
|
||||||
|
fi
|
||||||
|
|
||||||
|
sudo systemctl reload prometheus
|
||||||
|
rm -f $PWD/$HOST
|
Loading…
Reference in New Issue