Linux、windows、银河麒麟系统安装zabbix agent

一、Linux安装

1、查看linux内核版本

uname -a 或者 cat /proc/version 或者 lsb_release -a

Linux cswg-web 3.10.0-957.el7.x86_64 #1 SMP Thu Nov 8 23:39:32 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

我的是Linux3.10内核 x86_64 ,然后进入Download Zabbix agents 选择下载zabbix agent对应版本

2、指定下载zabbix agent最新版本6.0

https://cdn.zabbix.com/zabbix/binaries/stable/6.0/6.0.0/zabbix_agent-6.0.0-linux-3.0-amd64-static.tar.gz

3、服务器登录下载server_agent

ssh -22 [email protected]

## 新建目录
mkdir zabbix_agent-6.0
cd zabbix_agent-6.0/

## 下载zabbix_agent 6.0客户端
wget https://cdn.zabbix.com/zabbix/binaries/stable/6.0/6.0.0/zabbix_agent-6.0.0-linux-3.0-amd64-static.tar.gz

## 解压到当前路径下
tar -zxvf zabbix_agent-6.0.0-linux-3.0-amd64-static.tar.gz 

#将tar解压到 /etc/zabbix_agent文件夹下
#tar -xvf zabbix_agent-6.0.0-linux-3.0-amd64-static.tar.gz -C /etc/zabbix_agent

4、解压后文件目录

5、创建用户

5、创建用户
groupadd --system zabbix
useradd --system -g zabbix -d /usr/lib/zabbix -s /sbin/nologin zabbix

6、修改配置文件

vim ~/zabbix_agent-6.0/conf/zabbix_agentd.conf

LogFile=/tmp/zabbix_agentd.log   #输出日志文件
DebugLevel=3  #日志信息级别
ListenPort=10050  #zabbix agent监听的端口
Server=172.168.63.175,172.168.63.25 #Zabbix Server端的ip,多个用‘,’分割
StartAgents=3 #zabbix agent开启进程数
ListenPort=10050 #zabbix agent监听的端口
ListenIP=0.0.0.0 #zabbix agent监听的ip地址
ServerActive=172.168.63.175,172.168.63.25  #开启主动检查, Zabbix Server端的ip ,多个用‘,’分割
RefreshActiveChecks=120 #主动检查刷新的时间,单位为秒数
AllowRoot=0 #是否允许zabbix agent 以root用户运行 0不允许;1允许
Timeout=6 #设定处理超时的时间 默认 Timeout=3

#Hostname填写要监控的主机名,Server才能根据名字找到它(此处hostname要与zabbix监控当中添加主机的主机名一致)
Hostname=zabbix_server_173   ## 172.168.63.173
Hostname=zabbix_server_94   ## 172.168.63.94
Hostname=zabbix_server_95   ## 172.168.63.95

7、启动zabbix agent并指定配置文件

~/zabbix_agent-6.0/sbin/zabbix_agentd -c ~/zabbix_agent-6.0/conf/zabbix_agentd.conf

8、查看进程 :ps aux | grep zabbix_agent

杀死进程: pkill -9 zabbix_agent

9、查看日志

tail -f /tmp/zabbix_agentd.log

 10、Linux批量安装zabbix_agent shell脚本

#!/bin/bash

if [ $1 ]
then 
  agent=$1
else
  agent=zabbix_agent-6.1
fi;

if [ -d $agent ] 
then
  echo "$agent 目录已存在"
  exit;
else
  cd ~
  mkdir $agent
  cd $agent/
fi;

## 下载zabbix_agent 6.0客户端
wget https://cdn.zabbix.com/zabbix/binaries/stable/6.0/6.0.0/zabbix_agent-6.0.0-linux-3.0-amd64-static.tar.gz

## 解压到当前路径下
tar -zxvf zabbix_agent-6.0.0-linux-3.0-amd64-static.tar.gz 

## 创建用户
groupadd --system zabbix
useradd --system -g zabbix -d /usr/lib/zabbix -s /sbin/nologin zabbix
## sudo useradd -g zabbix -s /usr/bin/bash -d /home/test05/ test05


## 修改配置
zabbix_config=~/$agent/conf/zabbix_agentd.conf
echo "配置文件目录:$zabbix_config"
if [ -f $zabbix_config ]
then
   sed -i 's/Server=127.0.0.1/Server=172.168.63.175/g' $zabbix_config
   sed -i 's/ServerActive=127.0.0.1/ServerActive=172.168.63.175/g' $zabbix_config
else
   echo "zabbix_agentd.conf未找到"
   exit;
fi;

## 停止zabbix_agentd
nginxpid=`ps -A | grep zabbix_agentd | awk '{print $1}'`
for i in $nginxpid; do
    sudo kill -9 $i
done
echo "zabbix_agent 重新启"
sudo ~/$agent/sbin/zabbix_agentd -c ~/$agent/conf/zabbix_agentd.conf

ps aux | grep zabbix_agent

tail -f /tmp/zabbix_agentd.log

11、Linux批量安装zabbix_agent 并指定参数

#!/bin/bash


#默认安装路径:~/zabbix_agent-6.1
dir=zabbix_agent-6.1
#serverIP=172.168.63.175
serverIP=

## 获取配置参数
if [ $1 ]
then 
    list="$*"
    for i in $list; do
        a=$i
        if [[ ${a%=*} == "-d" ]] || [[  ${a%=*}  == "dir" ]]; then
            if [[ ${a#*=} == "-d" ]] || [[ ${a#*=} == "dir" ]] ; then
                echo  "请指定dir"
                exit 0;
            fi;
            dir=${a#*=}
            echo "已配置dir: ${a#*=}"
        elif [[ ${a%=*} == "-ip" ]] || [[ ${a%=*} == "serverIP" ]] ; then
            if [[ ${a#*=} == "-ip" ]] || [[ ${a#*=} == "serverIP" ]] ; then
                echo  "请指定IP"
                exit 0;
            fi;
            serverIP=${a#*=}
            echo "已配置server ip: ${a#*=}"
        fi;
    done;
else
    echo "************zabbix_agent 安装说明*************"
    echo "
你可以指定以下参数进行安装: "
    echo "  -d dir: 指定安装目录,例如:-d=zabbix_agent-6.0"
    echo "  -ip serverIP: 指定zabbix服务端IP地址,例如: -ip=178.168.10.40"
    echo "
**************************************************"
fi;

## 参数验证
[ $serverIP ] || { echo  "zabbix server IP必须指定!"; exit 1; }
[ $dir ] || { echo  "请指定zabbix agent安装目录!"; exit 1; }
agent=$dir

## 判断目录是否存在
cd ~
if [ -d $agent ] 
then
  echo "$agent 目录已存在"
  exit;
else
  mkdir $agent
  cd $agent/
fi;

## 下载zabbix_agent 6.0客户端
wget https://cdn.zabbix.com/zabbix/binaries/stable/6.0/6.0.0/zabbix_agent-6.0.0-linux-3.0-amd64-static.tar.gz

## 解压到当前路径下
tar -zxvf zabbix_agent-6.0.0-linux-3.0-amd64-static.tar.gz 

## 创建用户
groupadd --system zabbix
useradd --system -g zabbix -d /usr/lib/zabbix -s /sbin/nologin zabbix
## sudo useradd -g zabbix -s /usr/bin/bash -d /home/test05/ test05


## 修改配置
zabbix_config=~/$agent/conf/zabbix_agentd.conf
echo "配置文件目录:$zabbix_config"
if [ -f $zabbix_config ]
then
   # serverIP加上引号
   sed -i 's/Server=127.0.0.1/Server='$serverIP'/g' $zabbix_config
   sed -i 's/ServerActive=127.0.0.1/ServerActive='$serverIP'/g' $zabbix_config
else
   echo "zabbix_agentd.conf未找到"
   exit;
fi;

## 停止zabbix_agentd
nginxpid=`ps -A | grep zabbix_agentd | awk '{print $1}'`
for i in $nginxpid; do
    sudo kill -9 $i
done
echo "zabbix_agent 重新启"
sudo ~/$agent/sbin/zabbix_agentd -c ~/$agent/conf/zabbix_agentd.conf

ps aux | grep zabbix_agent

tail -f /tmp/zabbix_agentd.log

二、Windows安装zabbix_agent

1、下载

进入官网下载:Download Zabbix agents

1、解压Zabbix Agent6.0压缩包

解压后zabbix下有bin、conf两个文件夹,然后再新建一个logs文件夹,并在logs目录下创建一个 zabbix_agentd.log日志文件。

2、配置zabbix_agentd.conf配置文件

LogFile=D:zabbix_agent-6.0logszabbix_agentd.log  #输出日志文件
DebugLevel=3  #日志信息级别
ListenPort=10050  #zabbix agent监听的端口
Server=172.168.63.175 #Zabbix Server端的ip,多个用‘,’分割
StartAgents=3 #zabbix agent开启进程数
ListenPort=10050 #zabbix agent监听的端口
ListenIP=0.0.0.0 #zabbix agent监听的ip地址
ServerActive=172.168.63.175  #开启主动检查, Zabbix Server端的ip 
RefreshActiveChecks=120 #主动检查刷新的时间,单位为秒数
Timeout=6 #设定处理超时的时间 默认 Timeout=3

#Hostname填写要监控的主机名,Server才能根据名字找到它(此处hostname要与zabbix监控当中添加主机的主机名一致)
Hostname=zabbix_server_138   ## 172.168.8.138

3、开放Windows防火墙入栈规则和出栈规则的Zabbix端口:10050-10051

zabbix监控要用到10050和10051两个端口,端口可以更换,在zabbix server 和zabbix agent的配置文中更改端口号

(1)、 入栈规则创建端口

(2)出栈规则创建端口

同入栈规则步骤一样,不过要注意填写端口号下一步后,将"阻止链接"改为"允许链接"

4、在bin文件夹下cmd运行以下命令

(1)、将zabbix agent注册为服务

(2)、启动Zabbix Agent

(3)、查看任务管理器

(4) 、如需卸载zabbix agent 服务

(三)、银河麒麟系统安装 zabbix_agent

#下载源码包
wget https://cdn.zabbix.com/zabbix/sources/stable/6.0/zabbix-6.0.8.tar.gz

#将tar解压到 /etc/zabbix_agent文件夹下
tar -xvf zabbix-6.0.8.tar.gz -C /etc/zabbix_agent

 cd zabbix-6.0.8
 #为zabbix agent配置源代码
 ./configure --enable-agent
 
 # make install将默认在 /usr/local/sbin 目录安装守护进程二进制文件 (zabbix_server, zabbix_agentd, zabbix_proxy) ,在 /usr/local/bin ,目录安装客户端二进制文件(zabbix_get、zabbix_sender)。
 make install
 
 ##编辑配置文件
 vim /usr/local/etc/zabbix_agentd.conf
 
 ##启动
 zabbix_agentd
 # /usr/local/sbin/zabbix_agentd -c /usr/local/etc/zabbix_agentd.conf

开机自启动配置

1. 复制 zabbix 源程序 misc/init.d/redhat 下的启动脚本到 /etc/init.d 目录下

cp /etc/zabbix_agent/zabbix-6.0.8/misc/init.d/tru64 zabbix_agentd /etc/init.d/

2. 修改启动脚本使其支持 redhat 的 chkconfig,分别在两个脚本的 #!/bin/sh 后加入如下两行注释,注意要行前要加“#” 哦

# chkconfig: - 95 95

# description: Zabbix agent

3. Zabbix agentd修改启动脚本中 BASEDIR 和 ZABBIX_SUCKERD ,制定到 zabbix_server 和 zabbix_agentd 的安装位置,如:

BASEDIR=/usr/local/sbin

ZABBIX_SUCKERD=$BASEDIR/zabbix_server

4. Zabbix agentd使用 chkconfig 将其加入 init 的启动服务

chkconfig --add zabbix_server

chkconfig --add zabbix_agentd

chkconfig --level 345 zabbix_server on

chkconfig --level 345 zabbix_agentd on

5. 使用 chkconfig --list 检查一下

chkconfig --list | grep zabbix

输出如下:

zabbix_agentd 0:off 1:off 2:off 3:on 4:on 5:on 6:off

zabbix_server 0:off 1:off 2:off 3:on 4:on 5:on 6:off