https://blog.csdn.net/wszll_Alex/article/details/84326403

编译安装zabbix_agent
在官网下载源码包,公司使用的是3.4,我就选择3.4。
将下载好的包放在指定位置,位置可选,我放在/usr/local/src/下面。然后解压~

tar zxf zabbix-3.4.15.tar.gz
1
解压之后,进入文件夹

cd zabbix-3.4.15
1
进入之后,就可以进行编译安装的三大步了。我在安装的时候,缺少gcc和pcre-devel,所以我先装上

yum install gcc
yum -y install pcre-devel
1
2
你们可能缺的不一样,不用担心,它会提示你的~

现在开始编译安装三大步
第一步./configure检查机器的一些配置和环境,系统的相关依赖
命令如下:

./configure –prefix=/usr/local/zabbix_agent –enable-agent
1
–prefix=后面的是我要安装的位置,你可以自选
–enable-agent表示我要安装zabbix_agent,因为我们下载的是源码包,所以里面东西蛮多的,比如proxy,server,这个看你需求啦~
如果安装过程中,报错,是因为你缺少某个依赖,按照提示安装即可

第二步 make编译
第三步 make install 安装
因为make install之前会自动make,所以我就懒了,直接make install

make install

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

下面这段是好用的,注意那个pid他是读取目录配置,#注释要打开才可以

cat zabbix_agentd 
#!/bin/sh
#
# chkconfig: - 86 14
# description: Zabbix agent daemon
# processname: zabbix_agentd
# config: /etc/zabbix/zabbix_agentd.conf
#

### BEGIN INIT INFO
# Provides: zabbix-agent
# Required-Start: $local_fs $network
# Required-Stop: $local_fs $network
# Should-Start: zabbix zabbix-proxy
# Should-Stop: zabbix zabbix-proxy
# Default-Start:
# Default-Stop: 0 1 2 3 4 5 6
# Short-Description: Start and stop Zabbix agent
# Description: Zabbix agent
### END INIT INFO

# Source function library.
. /etc/rc.d/init.d/functions

if [ -x /usr/local/zabbix_agent/sbin/zabbix_agentd ]; then
    exec=/usr/local/zabbix_agent/sbin/zabbix_agentd
else
    exit 5
fi

prog=${exec##*/}
conf=/usr/local/zabbix_agent/etc/zabbix_agentd.conf
pidfile=$(grep -e "^PidFile=.*$" $conf | cut -d= -f2 | tr -d '\r')
timeout=10

if [ -f /etc/sysconfig/zabbix-agent ]; then
    . /etc/sysconfig/zabbix-agent
fi

lockfile=/var/lock/subsys/zabbix-agent

start()
{
    echo -n $"Starting Zabbix agent: "
    daemon $exec -c $conf
    rv=$?
    echo
    [ $rv -eq 0 ] && touch $lockfile
    return $rv
}

stop()
{
    echo -n $"Shutting down Zabbix agent: "
    killproc -p $pidfile -d $timeout $prog
    rv=$?
    echo
    [ $rv -eq 0 ] && rm -f $lockfile
    return $rv
}

restart()
{
    stop
    start
}

case "$1" in
    start|stop|restart)
        $1
        ;;
    force-reload)
        restart
        ;;
    status)
        status -p $pidfile $prog 
        ;;
    try-restart|condrestart)
        if status $prog >/dev/null ; then
            restart
        fi
        ;;
    reload)
        action $"Service ${0##*/} does not support the reload action: " /bin/false
        exit 3
        ;;
    *)
	echo $"Usage: $0 {start|stop|status|restart|try-restart|force-reload}"
	exit 2
	;;
esac

 

 

 

 

1
新建用户和用户组
由于是编译安装的agent,不像使用rpm包安装那么方便,要自己新建用户和用户组

常规套路是看下有没有这个用户和用户组

cat /etc/group | grep zabbix
cat /etc/shadow
1
2
发现没有(肯定没有,这是一种思路),没有就创建吧~

groupadd zabbix
useradd zabbix -g zabbix
1
2
创建好之后,看下zabbix用户是不是属于zabbix用户组

id zabbix
1
结果发现是的,这步就ok了

修改zabbix_agent配置文件
我的配置文件在这里,你的自己看哈,进去修改配置,如下:

vim /usr/local/zabbix_agent/etc/zabbix_agentd.conf
1
LogFile=/var/log/zabbix/zabbix_agentd.log
PidFile=/var/run/zabbix/zabbix_agentd.pid
DebugLevel=3
Server=10.XX.XX.192#你的server/proxy IP
ListenPort=10050
ListenIP=0.0.0.0
ServerActive=10.XX.XX.192#你的server/proxyIP
Hostname=10.YY.YY.204#你的本机IP
UnsafeUserParameters=0
Include=/usr/local/zabbix_agent/etc/zabbix_agentd.conf.d
1
2
3
4
5
6
7
8
9
10
修改完之后,要新建两个文件夹,并给个权限,要不然日志可是写不进去

mkdir -p /var/log/zabbix/
mkdir -p /var/run/zabbix/
chown zabbix:zabbix /var/run/zabbix/
chown zabbix:zabbix /var/log/zabbix/
1
2
3
4
启动zabbix_agent(两种方式)
好兴奋,马上要大功告成了,启动~~~

第一种方法:需进入sbin目录

cd /usr/local/zabbix_agent/sbin
./zabbix_agentd
1
2
启动之后,查询下进程在不在(当然在的)

ps -ef | grep zabbix
1
在的话就杀掉,因为,下面还要启动~

killall zabbix
1
第二种方法:systenctl
进入/usr/lib/systemd/system/这个目录
新建一个zabbix-agent.service文件,这是我的,你要修改哦少年,文件内容如下:

[Unit]
Description=Zabbix Agent
After=syslog.target
After=network.target

[Service]
Environment=”CONFFILE=/usr/local/zabbix_agent/etc/zabbix_agentd.conf”
#EnvironmentFile=-/etc/sysconfig/zabbix-agent
Type=forking
Restart=on-failure
PIDFile=/run/zabbix/zabbix_agentd.pid
KillMode=control-group
ExecStart=/usr/local/zabbix_agent/sbin/zabbix_agentd -c $CONFFILE
ExecStop=/bin/kill -SIGTERM $MAINPID
RestartSec=10s

[Install]
WantedBy=multi-user.target
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
你要把Environment=”CONFFILE=/usr/local/zabbix_agent/etc/zabbix_agentd.conf”这句改成你的zabbix_agentd.conf放置的位置
把这句ExecStart=/usr/local/zabbix_agent/sbin/zabbix_agentd -c $CONFFILE改成你的启动脚本的位置。
当然,如果你全程按照我的写法来的话,请忽略,哈哈哈

启动下试一试

systemctl start zabbix-agent.service
1
看进程

ps -ef | grep zabbix
1
一切ok,最后设置下,随机重启,如果重启机器会自己带起来

systemctl enable zabbix-agent.service
———————
作者:狂热森林
来源:CSDN
原文:https://blog.csdn.net/wszll_Alex/article/details/84326403
版权声明:本文为博主原创文章,转载请附上博文链接!

发表评论

邮箱地址不会被公开。 必填项已用*标注