说明:
操作系统:CentOS 7.5
IP地址:192.168.1.8
Web环境:Nginx+MySQL+PHP
zabbix版本:Zabbix 3.4.10
备注:Linux下安装zabbix需要有LAMP或者LNMP运行环境
准备篇:
一、Web环境:Nginx+MySQL+PHP
CentOS 7.0编译安装Nginx1.6.0+MySQL5.6.19+PHP5.5.14
http://www.osyunwei.com/archives/7891.html
二、zabbix软件包下载
zabbix-3.4.10
上传zabbix-3.4.10.tar.gz到服务器/tools目录下面
安装篇
一、安装zabbix Agentd
1、添加用户:
groupadd zabbix #创建用户组zabbix
useradd zabbix -g zabbix -s /bin/false #创建用户zabbix,并且把用户zabbix加入到用户组zabbix中
2、安装依赖包 #CentOS使用yum命令安装
yum install net-snmp-devel curl curl-devel mysql-devel -y
3、安装zabbix
ln -s /usr/local/lib/libiconv.so.2 /usr/lib/libiconv.so.2 #添加软连接
/sbin/ldconfig #使配置立即生效
cd /mysql/app/zabbix-3.4.10#进入安装目录
./configure --prefix=/usr/local/zabbix --enable-agent --with-net-snmp --with-libcurl --enable-proxy --with-mysql=/usr/bin/mysql_config #配置
注意:
在执行的时候可能会报错如下错误,原因是Mysql环境不一样导致的
报checking for mysql_config... configure: error: MySQL library not found
用--with-mysql=/usr/local/mysql/也不行
由“mysql_config... /usr/local/mysql/”得到启发
查找mysql_config
#find / -name "mysql_config*"
/usr/local/mysql/bin/mysql_config
我把--with-mysql改成
--with-mysql=/usr/local/mysql/bin/mysql_config
正常通过。
make #编译
make install #安装
ln -s /usr/local/zabbix/sbin/* /usr/local/sbin/ #添加系统软连接
ln -s /usr/local/zabbix/bin/* /usr/local/bin/ #添加系统软连接
说明:find / -name mysql_config 查找位置,如果没有mysql_config,需要安装yum install mysql-devel
4.添加服务端口和修改启动脚本。
echo 'zabbix-agent 10050/tcp #Zabbix Agent' >> /etc/services
echo 'zabbix-agent 10050/udp #Zabbix Agent' >> /etc/services
cp /mysql/app/zabbix-3.4.10/misc/init.d/fedora/core/zabbix_agentd /etc/init.d/
sed -i 's/BASEDIR=\/usr\/local/BASEDIR=\/usr\/local\/zabbix/g' /etc/init.d/zabbix_agentd
5、修改zabbix配置文件
Zabbix agentd使用 chkconfig 将其加入 init 的启动服务
chkconfig --add zabbix_agentd
chkconfig --level 345 zabbix_agentd on
使用 chkconfig --list 检查一下
chkconfig --list | grep zabbix
zabbix_agentd 0:off 1:off 2:off 3:on 4:on 5:on 6:off
6.修改zabbix_agent配置文件。
vim /usr/local/zabbix/etc/zabbix_agentd.conf
LogFile=/tmp/zabbix_agentd.log //指定日志文件
Server=192.168.1.5 //配置zabbix_server服务端服务器的IP地址
ListenPort=10050 //agentd 端口
ServerActive=127.0.0.1
Hostname=tdev14-3307 //配置主机名
PidFile=/var/tmp/zabbix_agentd.pid //指定pid路径
Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d //修改指定的脚本路径
保存退出
7.启动客户端服务并进程测试。
[root@tslave zabbix_agentd.conf.d]# service zabbix_agentd start
Starting zabbix_agentd (via systemctl): [ 确定 ]
[root@tslave zabbix_agentd.conf.d]# ps -ef|grep zabbix
zabbix 13872 1 0 10:06 ? 00:00:00 /usr/local/zabbix/sbin/zabbix_agentd
zabbix 13874 13872 0 10:06 ? 00:00:01 /usr/local/zabbix/sbin/zabbix_agentd: collector [idle 1 sec]
zabbix 13875 13872 0 10:06 ? 00:00:00 /usr/local/zabbix/sbin/zabbix_agentd: listener #1 [waiting for connection]
zabbix 13876 13872 0 10:06 ? 00:00:00 /usr/local/zabbix/sbin/zabbix_agentd: listener #2 [waiting for connection]
zabbix 13877 13872 0 10:06 ? 00:00:00 /usr/local/zabbix/sbin/zabbix_agentd: listener #3 [waiting for connection]
zabbix 13878 13872 0 10:06 ? 00:00:00 /usr/local/zabbix/sbin/zabbix_agentd: active checks #1 [idle 1 sec]
root 30265 29953 0 11:24 pts/2 00:00:00 grep --color=auto zabbix
在zabbix的服务端执行下面的命令测试与客户端是否联通
/usr/local/zabbix/bin/zabbix_get -s 192.168.1.160 -p10050 -k”net.if.in[eth0,bytes]”
可以得到网卡信息说明客户端与服务端可以正常通信。