一:Zabbix简介、安装环境、安装版本及下载地址

Zabbix 是由 Zabbix LLC团队开发维护的一种分布式网络监控、管理系统,基于Server-Client 架构。可用于监视各种网络服务、服务器和网络机器等状态,同时提供灵活的通知机制可以让系统管理员快速定位/解决存在的各种问题。 zabbix提供的WEB管理端frontend基于PHP和Javascript所构成,Server端与Agent基于C语言开发。Zabbix server可以通过SNMP,Zabbix agent,Ping,端口监视等方法提供对远程服务器/网络状态的监视,数据收集等功能,它可以运行在Linux,Solaris,HP-UX,AIX,Free BSD,Open BSD,OS X等平台上,Zabbix通过C/S模式采集监控数据,通过B/S模式在WEB端管理和展示。
1.1:系统:Centos 7.6.1810:

[root@linux-node1 ~]# cat /etc/redhat-release  
 CentOS Linux release 7.6.1810 (Core)  
  1.2:Zabbix:4.0.15  

1.2.1:zabbix下载地址:  
 http://www.zabbix.com/download.php  

1.2.2:zabbix官方各版本文档地址:  

 http://www.zabbix.com/documentation.php  
 二:安装之源码安装:

安装可以通过rpm安装和源码,首先介绍一下源码安装的方式,如果想用rpm安装的方式可以往下直接看rpm安装方式。

2.1:安装准备环境:安装数据库、mysql命令、编译工具gcc、php、java环境

#yum install gcc  mariadb mariadb-server  mariadb-devel libxml2-devel  net-snmp net-snmp-devel  java-1.8.0-openjdk-devel curl  curl-devel php  php-bcmath  php-mbstring -y
# pwd
#/usr/local/src
# groupadd  -g 1001 zabbix #创建zabbix用户和组
# useradd  -u 1001 -g 1001 zabbix
# useradd  -u 1001 -g 1001 zabbix #验证用户id
# wget https://jaist.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/4.0.15/zabbix-4.0.15.tar.gz
# tar xf zabbix-4.0.15.tar.gz
# cd zabbix-4.0.15/

2.2:数据库配置:

Centos 7的默认数据库改为mariadb,mariadb有两个版本并行开发,5版本完全兼容mysql的5版本,10版本是为mariadb添加了特有的功能,10版本不兼容mysql的5版本。

#systemctl  start mariadb #启动mariadb



#systemctl  enable  mariadb #开机启动


#mysql  #进入mariadb创建数据库:

MariaDB [(none)]>  create database zabbix character set utf8 collate utf8_bin;  #创建数据库并制定编码  
 Query OK, 1 row affected (0.00 sec)  

MariaDB [(none)]> grant all privileges on zabbix.   to zabbix@"192.168.148.%" identified by ‘123456’; #授权用户从本机访问  
 Query OK, 0 rows affected (0.01 sec)  

MariaDB [(none)]> flush privileges;  #刷新表  
 Query OK, 0 rows affected (0.00 sec)  

  

MariaDB [(none)]> quit  #退出  
  Bye

#./configure --prefix=/apps/zabbix_server --enable-server --enable-agent --with-mysql --with-net-snmp --with-libcurl --with-libxml2 --enable-java #编译安装
#make install

2.3.1:复制启服务端动脚本:
#先停止当前zabbix server
进程# pkill zabbix_server

# cat  /etc/systemd/system/zabbix-server.service
[Unit]
Description=Zabbix Server
After=syslog.target
After=network.target
[Service]
Environment="CONFFILE=/apps/zabbix_server/etc/zabbix_server.conf"
EnvironmentFile=-/etc/default/zabbix-server
Type=forking
Restart=on-failure
PIDFile=/tmp/zabbix_server.pid
KillMode=control-group
ExecStart=/apps/zabbix_server/sbin/zabbix_server -c$CONFFILE
ExecStop=/bin/kill -SIGTERM$MAINPID
RestartSec=10s
TimeoutSec=infinity
[Install]
WantedBy=multi-user.target
# systemctl  restart zabbix-server  && systemctl  enable zabbix-server

2.3.2:复制agent启动脚本:

#先停止当前zabbix_agent进程
# pkill  zabbix_agentd# 
cat /etc/systemd/system/zabbix-agent.service
[Unit]
Description=Zabbix.Agent 
After=syslog.target
After=network.target
[Service]
Environment="CONFFILE=apps/zabbix_server/etc/zabbix_agentd.conf"
EnvironmentFile=-/etc/default/zabbix-agent
Type=forking
Restart=on-failure
PIDFile=/tmp/zabbix_agentd.pid
KillMode=control-group
ExecStart=/apps/zabbix_server/sbin/zabbix_agentd -c$CONFFILE
ExecStop=/bin/kill -SIGTERM$MAINPID
RestartSec=10s
User=zabbix
Group=zabbix
[Install]
WantedBy=multi-user.targe
# systemctl  restart zabbix-agent  && systemctl  enable zabbix-agent

2.4:导入zabbix依赖的数据库:

#cd zabbix-4.0.15/database/mysql/      

   # /usr/local/src/zabbix-4.0.15/database/mysql
   # cd  database/mysql/
   # mysql -uzabbix -linux.zabbix -h192.168.148.130 zabbix_server < schema.sql
   # mysql -uzabbix -linux.zabbix -h192.168.148.130 zabbix_server < images.sql
   # mysql -uzabbix -linux.zabbix -h192.168.148.130 zabbix_server < data.sql

2.5:zabbix_server配置文件,要更改数据库信息:

#cd /apps/zabbix_server/etc/

#vim etc/zabbix_server.conf   

 DBHost=localhost  #mariadb授权的连接地址  
 DBName=zabbix  #数据库名称  
 DBUser=zabbix   #数据库用户  
 DBPassword=123456  #数据库连接密码    

ListenIP=0.0.0.0  #监听地址

2.6: 启动zabbix—server:

#ss -tnl | grep 10051  #确认zabbix-server监听的10051端口已经启动

2.7:配置zabbix-agent文件:

Server=192.168.148.131  #目前只改一下server的地址即可。

2.8: 启动zabbix-agent:

#zabbix_agentd   

# ss -tnl | grep 10050  #确认zabbix-agent监听的10050端口已经启动  
  三:配置web显示,先安装http,或者nginx做代理也可以,这里使用httpd做web服务器:

3.1: #确认web服务器已经安装

#yum install httpd

3.1 #在web服务器根目录下创建一个zabbix目录,用于保持zabbix文件

#mkdir /var/www/html/zabbix

3.3: #进入到zabbix源码目录:

#cd /usr/local/src/zabbix-4.0.15/frontends/php/

3.4: #将当前目录下的所以文件复制到web目录

# cp -a ./   /var/www/html/zabbix/

3.5:启动http

# systemctl  start httpd

四:访问web界面: http://192.168.148.131/zabbix/setup.php

zabbix agent 源码 linux zabbix源码分析_php

需要手动下载配置文件并上传至zabbix server的/var/www/html/zabbix/conf/zabbix.conf.php

zabbix agent 源码 linux zabbix源码分析_php_02

登录界面

zabbix agent 源码 linux zabbix源码分析_mysql_03