【zabbix】CentOS7.x 源码编译安装zabbix-3.4.4

一、zabbix简介


zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。

zabbix能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。

zabbix由2部分构成,zabbix server与可选组件zabbix agent。

zabbix server可以通过SNMP,zabbix agent,ping,端口监视等方法提供对远程服务器/网络状态的监视,数据收集等功能,可以运行在众多平台上。



二、实验环境


操作系统: CentOS7.5 Minimal

zabbixServer: 192.168.1.104

zabbixAgent: 192.168.1.104 192.168.1.105


三、编译工具和基础组件安装


zabbix的安装需要LAMP环境

# yum -y  install epel-release

# yum -y  install gcc  gcc-c++

# yum  -y  install php php-gd php-mysql php-bcmath php-mbstring php-xml  net-snmp  perl-DBI

#  yum -y  install   httpd

#  yum -y  install  mariadb  mariadb-server  

# yum  -y install   mariadb-devel  net-snmp-devel   libxml2-devel  libevent-devel  curl-devel


四、创建程序运行用户


# groupadd -r  zabbix

# useradd   -r  -g  zabbix  -s  /sbin/nologin   -M  zabbix

【zabbix】CentOS7.x 源码编译安装zabbix-3.4.4_第1张图片


五、数据库mariadb的配置

启动数据库

# systemctl start mariadb.service

# systemctl enable mariadb.service

# systemctl status mariadb.service

【zabbix】CentOS7.x 源码编译安装zabbix-3.4.4_第2张图片

配置数据库管理员root密码

# mysql_secure_installation


【zabbix】CentOS7.x 源码编译安装zabbix-3.4.4_第3张图片

设置的root密码为 MySQL@123

# mysql -u root   -h 127.0.0.1  -p"MySQL@123"

【zabbix】CentOS7.x 源码编译安装zabbix-3.4.4_第4张图片


创建zabbix用户和数据库

# mysql -u root -p"MySQL@123" -e "create database if not exists zabbix default character set utf8 collate utf8_general_ci;"

# mysql -u root -p"MySQL@123" -e "grant all privileges on zabbix.* to zabbix@'127.0.0.1' identified by 'zabbix';"

# mysql -u root -p"MySQL@123" -e "grant all privileges on zabbix.* to zabbix@'localhost' identified by 'zabbix';"

# mysql -u root -p"MySQL@123" -e "grant all privileges on zabbix.* to zabbix@'192.168.1.104' identified by 'zabbix';"

# mysql -u root -p"MySQL@123" -e "flush privileges;"

# mysql -u root -p"MySQL@123" -e "show databases;"

# mysql -u root -p"MySQL@123" -e "select user,host from mysql.user;"

【zabbix】CentOS7.x 源码编译安装zabbix-3.4.4_第5张图片

六、zabbix的编译安装


①下载并进行编译安装

# yum  -y install wget 

# wget http://soft.xiaoz.org/linux/zabbix-3.4.4.tar.gz


【zabbix】CentOS7.x 源码编译安装zabbix-3.4.4_第6张图片

# tar  zxvf zabbix-3.4.4.tar.gz

# cd zabbix-3.4.4


# ./configure  --prefix=/usr/local/zabbix   \

--with-mysql \

--with-net-snmp \

--with-libcurl \

--with-libxml2 \

--with-net-snmp  \

--enable-server \

--enable-agent 


【zabbix】CentOS7.x 源码编译安装zabbix-3.4.4_第7张图片
【zabbix】CentOS7.x 源码编译安装zabbix-3.4.4_第8张图片

# make

# make install

#  ll  /usr/local/zabbix


【zabbix】CentOS7.x 源码编译安装zabbix-3.4.4_第9张图片


# /usr/local/zabbix/sbin/zabbix_server --help


【zabbix】CentOS7.x 源码编译安装zabbix-3.4.4_第10张图片


# /usr/local/zabbix/sbin/zabbix_agentd --help

【zabbix】CentOS7.x 源码编译安装zabbix-3.4.4_第11张图片


②导入数据库

# ll zabbix-3.4.4/database/mysql/


【zabbix】CentOS7.x 源码编译安装zabbix-3.4.4_第12张图片


# mysql -u root -p"MySQL@123"  -D zabbix   -e  "source  /root/zabbix-3.4.4/database/mysql/schema.sql"

# mysql -u root -p"MySQL@123"  -D zabbix    -e  "source  /root/zabbix-3.4.4/database/mysql/images.sql"

# mysql -u root -p"MySQL@123"   -D zabbix   -e  "source  /root/zabbix-3.4.4/database/mysql/data.sql"

【zabbix】CentOS7.x 源码编译安装zabbix-3.4.4_第13张图片

注:导入请按以上顺序,否则会出现错误!

# mysql -u root -p"MySQL@123" -D zabbix -e "show tables;"


【zabbix】CentOS7.x 源码编译安装zabbix-3.4.4_第14张图片


七、 配置zabbixServer和zabbixAgent

注意:配置文件=后面的字符串不能加引号


修改zabbixServer的配置文件zabbix_server.conf


# vim  /usr/local/zabbix/etc/zabbix_server.conf

# cat  /usr/local/zabbix/etc/zabbix_server.conf | grep -Ev "^#|^$"

######################################################

LogFile=/tmp/zabbix_server.log                          

#日志文件地址,默认不用更改

DBHost=localhost                                               

#数据库主机IP,我们前面授权了127.0.0.1(localhost)和本机IP 192.168.1.104,或者写0.0.0.0

DBName=zabbix                                                 

#zabbix数据库名

DBUser=zabbix                                                   

#zabbix数据库用户名

DBPassword=zabbix                                           

#zabbix数据库密码

ListenIP=127.0.0.1,192.168.1.104                     

 #服务监听IP,写127.0.0.1和本机IP,如果只写127.0.0.1,那么其他主机的agent无法连接server

AlertScriptsPath=/usr/local/zabbix/share/zabbix/alertscripts

#zabbix运行脚本存放目录

#####################################################


【zabbix】CentOS7.x 源码编译安装zabbix-3.4.4_第15张图片

修改zabbixAgent的配置文件zabbix_agentd.conf


# vim /usr/local/zabbix/etc/zabbix_agentd.conf

# cat /usr/local/zabbix/etc/zabbix_agentd.conf | grep -Ev "^#|^$"

###################################################

PidFile=/tmp/zabbix_agentd.pid                      

#进程PID

LogFile=/tmp/zabbix_agentd.log                     

#日志保存位置

EnableRemoteCommands=1                          

#允许执行远程命令

Server=127.0.0.1,192.168.1.104                     

#zabbix被动模式指明zabbixServer的IP ,授权zabbixServer能从zabbixAgent抓取监控数据

ServerActive=127.0.0.1,192.168.1.104

#zabbix主动模式指明zabbixServer的IP ,指明zabbixAgent将抓取的监控数据推送到zabbixServer的地址,如果zabbixAgent与zabbixServer不再同一台服务器或者zabbixServer没有监听127.0.0.1,不能写127.0.0.1

Hostname=zabbixServer                                 

#在web端添加监控主机时,必须与zabbix创建的hostname相同

Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/   

#添加在定义Key时,存放的位置

UnsafeUserParameters=1                                           

#启用自定义key

#########################################################


【zabbix】CentOS7.x 源码编译安装zabbix-3.4.4_第16张图片


八、添加zabbix启动脚本 

# cp  zabbix-3.4.4/misc/init.d/fedora/core5/zabbix_server      /etc/init.d/zabbix_server

# cp  zabbix-3.4.4/misc/init.d/fedora/core5/zabbix_agentd     /etc/init.d/zabbix_agentd

# ll  /etc/init.d/  


【zabbix】CentOS7.x 源码编译安装zabbix-3.4.4_第17张图片




 # vim  /etc/init.d/zabbix_server 

ZABBIX_BIN="/usr/local/zabbix/sbin/zabbix_server"


【zabbix】CentOS7.x 源码编译安装zabbix-3.4.4_第18张图片


 # vim  /etc/init.d/zabbix_agentd 

ZABBIX_BIN="/usr/local/zabbix/sbin/zabbix_agentd"

【zabbix】CentOS7.x 源码编译安装zabbix-3.4.4_第19张图片


# chkconfig  --add  zabbix_server

# chkconfig  --add  zabbix_agentd

# chkconfig  zabbix_server on

# chkconfig   zabbix_agentd on


启动服务,查看监听端口


# systemctl start  zabbix_server  

# systemctl start  zabbix_agent 

# systemctl enable zabbix_server  

# systemctl enable  zabbix_agent 

# systemctl status zabbix_server  

# systemctl status  zabbix_agent 

【zabbix】CentOS7.x 源码编译安装zabbix-3.4.4_第20张图片

# ss  -tan    

【zabbix】CentOS7.x 源码编译安装zabbix-3.4.4_第21张图片

zabbbixServer 监听端口: 10051

zabbixAgent监听端口:10050

http监听端口:80

mariadb监听端口:3306


查看服务启动日志

# tail -f /tmp/zabbix_server.log

【zabbix】CentOS7.x 源码编译安装zabbix-3.4.4_第22张图片

# tail -f /tmp/zabbix_agentd.log


六、修改PHP相关参数


# vim /etc/php.ini

##########################

max_execution_time = 300

max_input_time = 300

memory_limit = 128M

upload_max_filesize = 2M

date.timezone = Asia/Shanghai

post_max_size = 28M

#############################

# yum -y install php-ldap

# rpm -ql  php-ldap

# echo "extension=ldap.so" >> /etc/php.ini

【zabbix】CentOS7.x 源码编译安装zabbix-3.4.4_第23张图片



七、配置web站点


① 拷贝web文件,更改权限

# cp  -r  zabbix-3.4.4/frontends/php    /var/www/html/zabbix

# chown    -R    apache:apache    /var/www/html/zabbix


②修改httpd.conf的参数

# vim /etc/httpd/conf/httpd.conf

  DirectoryIndex index.html index.php

【zabbix】CentOS7.x 源码编译安装zabbix-3.4.4_第24张图片

③关闭SELinux

# sed  -i 's/SELINUX=enforcing/SELINUX=permissive/'     /etc/selinux/config

#  setenforce 0


# systemctl start httpd.service

# systemctl enable  httpd.service

# systemctl status httpd.service

【zabbix】CentOS7.x 源码编译安装zabbix-3.4.4_第25张图片

设置防火墙策略,放行相关端口


如果使用firewalld(默认):

# systemctl  start firewalld

# systemctl enable firewalld 

# systemctl status firewalld 

# firewall-cmd  --zone=public  --add-port=10051/tcp  --permanent

# firewall-cmd  --zone=public  --add-port=80/tcp  --permanent

# firewall-cmd --reload


如果使用iptables:

# yum  -y install iptables  iptables-services

# iptables -A INPUT -p tcp  --dport 10051 -m state --state NEW,ESTABLISHED  -j ACCEPT

# iptables -A INPUT -p tcp  --dport 80 -m state --state NEW,ESTABLISHED  -j ACCEPT

# service iptables save


【zabbix】CentOS7.x 源码编译安装zabbix-3.4.4_第26张图片

浏览器访问:http://192.168.1.104/zabbix

【zabbix】CentOS7.x 源码编译安装zabbix-3.4.4_第27张图片
【zabbix】CentOS7.x 源码编译安装zabbix-3.4.4_第28张图片
【zabbix】CentOS7.x 源码编译安装zabbix-3.4.4_第29张图片


【zabbix】CentOS7.x 源码编译安装zabbix-3.4.4_第30张图片
【zabbix】CentOS7.x 源码编译安装zabbix-3.4.4_第31张图片
【zabbix】CentOS7.x 源码编译安装zabbix-3.4.4_第32张图片
【zabbix】CentOS7.x 源码编译安装zabbix-3.4.4_第33张图片

默认管理员账号密码:admin/zabbix

【zabbix】CentOS7.x 源码编译安装zabbix-3.4.4_第34张图片


【zabbix】CentOS7.x 源码编译安装zabbix-3.4.4_第35张图片


【zabbix】CentOS7.x 源码编译安装zabbix-3.4.4_第36张图片

现在zabbix server和 server端的agent安装完成了,添加模板,开启了zabbixServer本机监控。


八、在其他服务器上安装zabbixAgent


在zabbixServer端:

# scp -r  /usr/local/zabbix [email protected]:/usr/local/

# scp /etc/init.d/zabbix_agentd [email protected]:/etc/init.d/


在zabbixAgent(192.168.1.105)端:


#  rm  -rf  /usr/local/zabbix/sbin/zabbix_server

# rm  -rf   /usr/local/zabbix/etc/zabbix_server.conf*


# groupadd -r  zabbix

# useradd   -r  -g  zabbix  -s  /sbin/nologin   -M  zabbix


# vim   /usr/local/zabbix/etc/zabbix_agentd.conf

# cat   /usr/local/zabbix/etc/zabbix_agentd.conf | grep  -Ev "^#|^$"

###################################################

PidFile=/tmp/zabbix_agentd.pid                      

#进程PID

LogFile=/tmp/zabbix_agentd.log                     

#日志保存位置

EnableRemoteCommands=1                          

#允许执行远程命令

Server=192.168.1.104              

#zabbix被动模式指明zabbixServer的IP ,授权zabbixServer能从zabbixAgent抓取监控数据

ServerActive=192.168.1.104

#zabbix主动模式指明zabbixServer的IP ,指明zabbixAgent将抓取的监控数据推送到zabbixServer的地址,如果zabbixAgent与zabbixServer不再同一台服务器或者zabbixServer没有监听127.0.0.1,不能写127.0.0.1

Hostname=zabbixAgent                            

#在web端添加监控主机时,必须与zabbix创建的hostname相同

Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/   

#添加在定义Key时,存放的位置

UnsafeUserParameters=1                                           

#启用自定义key

#########################################################


【zabbix】CentOS7.x 源码编译安装zabbix-3.4.4_第37张图片


# chkconfig  --add  zabbix_agentd

# chkconfig   zabbix_agentd  on


# systemctl start  zabbix_agent

# systemctl enable  zabbix_agent 

# systemctl status  zabbix_agent 


【zabbix】CentOS7.x 源码编译安装zabbix-3.4.4_第38张图片

设置防火墙策略,放行相关端口

如果使用firewalld(默认):

# systemctl start firewalld

# systemctl  enable firewalld

# firewall-cmd  --zone=public  --add-port=10050/tcp  --permanent

# firewall-cmd --reload


如果使用iptables:

# yum  -y install iptables  iptables-services

# iptables -A INPUT -p tcp  --dport 10050 -m state --state NEW,ESTABLISHED  -j ACCEPT

# iptables -A INPUT -p tcp  --dport 10051 -m state --state NEW,ESTABLISHED  -j ACCEPT

# service iptables save


从zabbixAgent测试到zabbixServer的端口连通性


# echo > /dev/tcp/192.168.1.104/80

# echo > /dev/tcp/192.168.1.104/10051


#  tail -f /tmp/zabbix_agentd.log


【zabbix】CentOS7.x 源码编译安装zabbix-3.4.4_第39张图片


九、在zabbixServer添加对zabbixAgent的监控


从zabbixServert测试到zabbixAgent的端口连通性

# echo > /dev/tcp/192.168.1.104/50


【zabbix】CentOS7.x 源码编译安装zabbix-3.4.4_第40张图片


【zabbix】CentOS7.x 源码编译安装zabbix-3.4.4_第41张图片
【zabbix】CentOS7.x 源码编译安装zabbix-3.4.4_第42张图片


【zabbix】CentOS7.x 源码编译安装zabbix-3.4.4_第43张图片
【zabbix】CentOS7.x 源码编译安装zabbix-3.4.4_第44张图片
【zabbix】CentOS7.x 源码编译安装zabbix-3.4.4_第45张图片
【zabbix】CentOS7.x 源码编译安装zabbix-3.4.4_第46张图片
【zabbix】CentOS7.x 源码编译安装zabbix-3.4.4_第47张图片
【zabbix】CentOS7.x 源码编译安装zabbix-3.4.4_第48张图片


十、参考

编译安装zabbix

https://www.lucissfer.com/2016/06/20/zabbix+install

https://www.zabbix.com/documentation/3.4/zh/manual/installation/install


源码安装zabbix3.2.7时PHP ldap Warning

https://www.cnblogs.com/me80/p/7410958.html


Server missing “ldap.so”

https://stackoverflow.com/questions/20130796/server-missing-ldap-so

你可能感兴趣的:(【zabbix】CentOS7.x 源码编译安装zabbix-3.4.4)