【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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,029评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,395评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,570评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,535评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,650评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,850评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,006评论 3 408
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,747评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,207评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,536评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,683评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,342评论 4 330
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,964评论 3 315
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,772评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,004评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,401评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,566评论 2 349