zabbix-agent 集羣安裝

由於 agent 的安裝需要配置每臺機器的 hostname ,所以需要先給每臺機器進行 host 命名。

#!/bin/bash
HOST_NAME=$1
function change_hostname_network(){
  local hostName
  hostName=`grep "HOSTNAME" /etc/sysconfig/network | awk -F= '{print $NF}'`
  sed -i "s#${hostName}#${HOST_NAME}#g" /etc/sysconfig/network ;
  hostname ${HOST_NAME} ;
}

change_hostname_network ${HOST_NAME}

如果用 docker 版本的 agent,其實你是無法監控到具體物理機的磁盤使用情況。所以一般不建議安裝 docker 版本的 zabbix-agent

#!/bin/bash

function install_zabbix_conf(){
        local hostName=`hostname`
        sed -i "s#Server=127.0.0.1#Server=${ZABBIX_SERVER}#g" /users/manager/zabbix-agent/etc/zabbix_agentd.conf
        sed -i "s#ServerActive=127.0.0.1#ServerActive=${ZABBIX_SERVER}#g" /users/manager/zabbix-agent/etc/zabbix_agentd.conf
        sed -i "s#Hostname=Zabbix server#Hostname=${hostName}#g" /users/manager/zabbix-agent/etc/zabbix_agentd.conf
  #sed -i "s/UnsafeUserParameters=0/UnsafeUserParameters=1/g" /users/manager/zabbix-agent/etc/zabbix_agentd.conf
}


function remove_zabbix_agent_docker(){
        sudo docker ps -a | grep "zabbix" | grep -v grep | awk '{print $1}' | xargs sudo docker stop
        sudo docker ps -a | grep "zabbix" | grep -v grep | awk '{print $1}' | xargs sudo docker rm -v
}

function run_zabbix_agent(){
        chmod u+x /users/manager/zabbix-agent/sbin/zabbix_agentd
        sh /users/manager/zabbix-agent/zabbix_agentd start
}

echo "================== start remove docker =================="
remove_zabbix_agent_docker
echo "================== end remove docker  &&  start install zabbix agent conf =================="
ZABBIX_SERVER=$1
install_zabbix_conf
echo "================== end install zabbix agent conf  &&  start run zabbix agent =================="
run_zabbix_agent
echo "================== end run zabbix agent =================="

注意 docker 一般情況下是需要 sudo 運行的,這個時候,需要設置 sudo 不用輸入密碼。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章