mirror of https://github.com/Aidaho12/haproxy-wi
parent
5d814d20f7
commit
f2c14b720b
|
@ -32,6 +32,9 @@
|
|||
- dashboard_id: 11879
|
||||
revision_id: 3
|
||||
datasource: prometheus
|
||||
- dashboard_id: 11074
|
||||
revision_id: 9
|
||||
datasource: prometheus
|
||||
tasks:
|
||||
- name: populate 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