【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

 

五、数据库mariadb的配置

启动数据库

# systemctl start mariadb.service

# systemctl enable mariadb.service

# systemctl status mariadb.service

配置数据库管理员root密码

# mysql_secure_installation

 

设置的root密码为 MySQL@123

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

 

创建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的编译安装

 

①下载并进行编译安装

# yum  -y install wget 

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

 

# 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 

 

# make

# make install

#  ll  /usr/local/zabbix

 

 

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

 

 

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

 

②导入数据库

# ll zabbix-3.4.4/database/mysql/

 

 

# 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"

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

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

 

 

七、 配置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运行脚本存放目录

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

 

修改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启动脚本 

# 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/  

 

 

 

 

 # vim  /etc/init.d/zabbix_server 

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

 

 

 # vim  /etc/init.d/zabbix_agentd 

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

 

# 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 

# ss  -tan    

zabbbixServer 监听端口: 10051

zabbixAgent监听端口:10050

http监听端口:80

mariadb监听端口:3306

 

查看服务启动日志

# tail -f /tmp/zabbix_server.log

# 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

 

 

七、配置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

③关闭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

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

 

如果使用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

 

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

 

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

 

 

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

 

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

 

在zabbixServer端:

# scp -r  /usr/local/zabbix root@192.168.1.105:/usr/local/

# scp /etc/init.d/zabbix_agentd root@192.168.1.105:/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

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

 

 

# chkconfig  --add  zabbix_agentd

# chkconfig   zabbix_agentd  on

 

# systemctl start  zabbix_agent

# systemctl enable  zabbix_agent 

# systemctl status  zabbix_agent 

 

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

如果使用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

 

 

九、在zabbixServer添加对zabbixAgent的监控

 

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

# echo > /dev/tcp/192.168.1.104/50

 

 

 

 

十、参考

编译安装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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值