• zabbix linux 客户端编译安装


    zabbix agent编译安装

    setenforce 0
    sed -i "s/=enforcing/=disabled/g" /etc/selinux/config
    yum install -y gcc gcc-c++ make pcre-devel
    useradd -s /sbin/nologin zabbix
    cd /usr/local/src/
    wget http://download.zhufunin.com/zabbix/zabbix-4.2.0.tar.gz
    tar -zxvf zabbix-4.2.0.tar.gz
    cd zabbix-4.2.0
    ./configure --prefix=/usr/local/zabbix --enable-agent
    make && make install
    chown zabbix:zabbix -R /usr/local/zabbix

    环境变量配置

    echo 'export PATH=$PATH:/usr/local/zabbix/sbin/:/usr/local/zabbix/bin/' >> /etc/profile
    source /etc/profile

    zabbix agent 的配置,/usr/local/zabbix/etc/zabbix_agentd.conf

    PidFile=/usr/local/zabbix/zabbix_agentd.pid
    LogFile=/usr/local/zabbix/zabbix_agentd.log
    #Hostname=
    Server=192.168.1.112
    ServerActive=192.168.1.112
    UnsafeUserParameters=1
    Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/*.conf

    连接数监控的配置文件

    • tcp-status-params.conf

    • zabbix_tcp_conn_status.sh

    /usr/local/zabbix/etc/zabbix_agentd.conf.d/tcp-status-params.conf

    UserParameter=tcp.status[*],/usr/local/zabbix/etc/zabbix_agentd.conf.d/zabbix_tcp_conn_status.sh $1

    /usr/local/zabbix/etc/zabbix_agentd.conf.d/zabbix_tcp_conn_status.sh

    #!/bin/bash
    #this script is used to get tcp and udp connetion status
    #tcp status
    metric=$1
    tmp_file=/tmp/tcp_status.txt
    #/bin/netstat -an|awk '/^tcp/{++S[$NF]}END{for(a in S) print a,S[a]}' > $tmp_file
    /usr/sbin/ss  -tan|awk 'NR>1{++S[$1]}END{for (a in S) print a,S[a]}' > $tmp_file
    
    #ESTAB
    #SYN-SENT
    #SYN-RECV
    #FIN-WAIT-1
    #FIN-WAIT-2
    #TIME-WAIT
    #UNCONN
    #CLOSE-WAIT
    #LAST-ACK
    #LISTEN
    #CLOSING
    
    
    
    case $metric in
    closed)
    output=$(awk '/UNCONN/{print $2}' $tmp_file)
    if [ "$output" == "" ];then
    echo 0
    else
    echo $output
    fi
    ;;
    listen)
    output=$(awk '/LISTEN/{print $2}' $tmp_file)
    if [ "$output" == "" ];then
    echo 0
    else
    echo $output
    fi
    ;;
    synrecv)
    output=$(awk '/SYN-RECV/{print $2}' $tmp_file)
    if [ "$output" == "" ];then
    echo 0
    else
    echo $output
    fi
    ;;
    synsent)
    output=$(awk '/SYN-SENT/{print $2}' $tmp_file)
    if [ "$output" == "" ];then
    echo 0
    else
    echo $output
    fi
    ;;
    established)
    output=$(awk '/ESTAB/{print $2}' $tmp_file)
    if [ "$output" == "" ];then
    echo 0
    else
    echo $output
    fi
    ;;
    timewait)
    output=$(awk '/TIME-WAIT/{print $2}' $tmp_file)
    if [ "$output" == "" ];then
    echo 0
    else
    echo $output
    fi
    ;;
    closing)
    output=$(awk '/CLOSING/{print $2}' $tmp_file)
    if [ "$output" == "" ];then
    echo 0
    else
    echo $output
    fi
    ;;
    closewait)
    output=$(awk '/CLOSE-WAIT/{print $2}' $tmp_file)
    if [ "$output" == "" ];then
    echo 0
    else
    echo $output
    fi
    ;;
    lastack)
    output=$(awk '/LAST-ACK/{print $2}' $tmp_file)
    if [ "$output" == "" ];then
    echo 0
    else
    echo $output
    fi
    ;;
    finwait1)
    output=$(awk '/FIN-WAIT-1/{print $2}' $tmp_file)
    if [ "$output" == "" ];then
    echo 0
    else
    echo $output
    fi
    ;;
    finwait2)
    output=$(awk '/FIN-WAIT-2/{print $2}' $tmp_file)
    if [ "$output" == "" ];then
    echo 0
    else
    echo $output
    fi
    ;;
    *)
    echo -e "e[033mUsage: sh  $0 [closed|closing|closewait|synrecv|synsent|finwait1|finwait2|listen|established|lastack|timewait]e[0m"
    
    esac
    View Code

    以上的两个文件,添加后,需要修改权限,

    chown zabbix:zabbix -R /usr/local/zabbix
    chmod 755 /usr/local/zabbix/etc/zabbix_agentd.conf.d/zabbix_tcp_conn_status.sh

    zabbix agent启动

    /usr/local/zabbix/sbin/zabbix_agentd

    检查进程
    1. 查看日志 tail -20 /usr/local/zabbix/zabbix_agentd.log
    2. 查看进程 ps aux |grep zabbix
    3. 查看端口 netstat -lpntu |grep zabbix

  • 相关阅读:
    兼容ie6的mvvm框架--san
    Parsing error: The keyword 'export' is reserved && error Parsing error: Unexpected token <
    Call to undefined function openssl_decrypt()
    css 陌生属性
    获取url
    relative 和 absolute
    SSL certificate problem: unable to get local issuer certificate 的解决方法
    使用wamp扩展php时出现服务未启动的解决方法
    php判断是不是移动设备
    js:不是空字符串的空字符串引起的bug
  • 原文地址:https://www.cnblogs.com/faberbeta/p/12923570.html
Copyright © 2020-2023  润新知