Zabbix Servers 3.4 源代码编译安装

PS:

其实安装zabbix很简单,网上资料一搜一大把,基本都是采用yum方式安装,简单省事。正因如此我没写相关配置文档,安装方式一般用yum安装或源码安装亦或是容器安装,最近有网友提出来了,我认真对待,撰写 Linux Centos 7 Zabbix 编译安装的全过程(Zabbix服务端)。后期我也会写一些关于Zabbix 使用及优化方面的文章。

官介:

Zabbix是一个企业级的分布式开源监控解决方案。它可以监控各种网络应用以及服务器健康性和完整性的软件。Zabbix服务器将其数据存储在由MySQL、MariaDB、PostgreSQL或Oracle支持的关系型数据库中,Zabbix所有的报告、统计信息和配置参数都可以通过基于Web的前端页面进行访问设置。而且Zabbix是开源免费的。

1.安装环境(Hyper-V 虚拟机):

$ hostnamectl
 Static hostname: localhost.localdomain
 Icon name: computer-vm
 Chassis: vm
 Machine ID: renwoles1d8743989a40cb81db696400
 Boot ID: renwoles272f4aa59935dcdd0d456501
 Virtualization: microsoft
 Operating System: CentOS Linux 7 (Core)
 CPE OS Name: cpe:/o:centos:centos:7
 Kernel: Linux 3.10.0-514.2.2.el7.x86_64
 Architecture: x86-64

2.由于Zabbix UI前端使用 PHP 写的,所以必须运行在支持PHP脚本语言的Web服务器,先决条件:

Centos 7 编译安装nginx
Centos 7 编译安装PHP 7 之生产篇
Linux JAVA JDK JRE 环境变量安装与配置
Centos 7 二进制安装 MariaDB(MySQL)数据库

3.若您的服务器已具备 PHP 环境,请略过第 2 步骤,继续以下配置:

配置 php.ini 必须满足以下要求:

max_execution_time = 300
max_input_time = 300
memory_limit = 128M
post_max_size = 32M
date.timezone = Asia/Shanghai
mbstring.func_overload=2
#Zabbix PHP LDAP 认证开启(可选)
extension = "/usr/local/php/lib/php/extensions/no-debug-zts-20160303/ldap.so"

4.安装依赖包并创建组&用户

$ yum -y install epel-release && yum -y update
$ yum install -y net-snmp-devel OpenIPMI-devel libssh2-devel iksemel-devel
$ groupadd zabbix
$ useradd -g zabbix zabbix

5.安装 Zabbix Server

下载地址:https://www.zabbix.com/download

$ cd /tmp
$ tar -zxvf zabbix-3.4.2.tar.gz
$ cd zabbix-3.4.2
$ ./configure --prefix=/usr/local/zabbix \
--sysconfdir=/usr/local/zabbix/etc \
--enable-server \
--enable-agent \
--with-mysql=/usr/bin/mysql_config \
--with-net-snmp \
--with-libcurl \
--with-libxml2 \
--enable-proxy \
--enable-ipv6 \
--enable-java \
--with-ssh2 \
--with-iconv \
--with-openipmi \
--with-ldap \
--with-openssl \
--with-jabber \

$ make
$ make install

注意:–enable-agent 可选,此参数主要用于客户端(被监控者)。

注意:如你未安装JAVA环境,请去掉 –enable-java 选项,主要用于监控Tomcat。

6.创建并赋予 Zabbix 配置文件目录权限

$ mkdir -p /usr/local/zabbix/logs
$ chown -R zabbix.zabbix /usr/local/zabbix

7.将 Zabbix UI 前端程序源码拷贝到 Nginx Web 目录

$ cp -rf /tmp/zabbix-3.4.2/frontends/php/* /apps/web/zabbix
$ chown -R www.www /apps/web/zabbix

8.创建数据库名:zabbix 用户:zabbix 密码:renwolecom 并赋予用户拥有该数据库所有权限:

$ mysql -uroot -p
Enter password:(输入root数据库密码回车)
MariaDB [(none)]> create database zabbix character set utf8 collate utf8_bin;
MariaDB [(none)]> grant all privileges on zabbix.* to zabbix@"%" identified by 'renwolecom';
MariaDB [(none)]> flush privileges;
MariaDB [(none)]> quit;

9.将Zabbix相关结构表文件按顺序依次导入zabbix数据库

导入顺序 schema.sql 表结构 > images.sql 图片库 > data.sql 初始脚本

$ cd /tmp/zabbix-3.4.2/database/mysql
$ mysql -uzabbix -prenwolecom zabbix < schema.sql
$ mysql -uzabbix -prenwolecom zabbix < images.sql
$ mysql -uzabbix -prenwolecom zabbix < data.sql

10.配置 zabbix_server.conf

配置完成后的内容如下:

$ egrep -v "^$|^#|^;" /usr/local/zabbix/etc/zabbix_server.conf
LogFile=/usr/local/zabbix/logs/zabbix_server.log
PidFile=/usr/local/zabbix/zabbix_server.pid
LogFileSize=0
DBHost=10.10.204.62
DBName=zabbix
DBUser=zabbix
DBPassword=renwolecom
JavaGateway=10.10.204.62
JavaGatewayPort=10052
StartJavaPollers=5
StartPingers=4
Timeout=4
AlertScriptsPath=/usr/local/zabbix/share/zabbix/alertscripts
LogSlowQueries=3000
Include=/usr/local/zabbix/etc/zabbix_server.conf.d/

注意:由于每个生产环境的参数配置不同,所以配置文件我只列出基本常用的,查看更多配置参数是说明

11.创建 systemctl 系统 Zabbix servers 单元文件

$ vim /usr/lib/systemd/system/zabbix.service
[Unit]
Description=Zabbix Server
After=syslog.target
After=network.target

[Service]
Environment="CONFFILE=/usr/local/zabbix/etc/zabbix_server.conf"
EnvironmentFile=-/usr/local/zabbix/etc/zabbix_server.conf.d
Type=forking
Restart=on-failure
PIDFile=/usr/local/zabbix/zabbix_server.pid
KillMode=control-group
ExecStart=/usr/local/zabbix/sbin/zabbix_server -c $CONFFILE
ExecStop=/bin/kill -SIGTERM $MAINPID
RestartSec=10s
TimeoutSec=0

[Install]
WantedBy=multi-user.target

12.启动 zabbix 并加入开机自起动

$ systemctl start zabbix
$ systemctl enable zabbix

13.Firewalld 防火墙设置

$ firewall-cmd --permanent --add-port=10051/tcp
$ firewall-cmd --permanent --add-port=80/tcp
$ firewall-cmd --reload

安装完成。

接下来,你可以使用 IP 或域名访问 Zabbix 监控管理系统,具体设置,请根据 Zabbix Server Web 向导提示设置即可。

设置完成后,zabbix默认账号:Admin 密码:zabbix(注意账号区分大小写)登录后是英文界面, 只需点击右上角的小人图标(当前用户设置)定位到 Language 项,选择 Chinese (zh_CN),点击 Update 即可切换为中文界面。

关于Zabbix代理客户端,请参阅《Centos 7 Zabbix Agent 客户端源码编译安装配置》。

《Zabbix Servers 3.4 源代码编译安装》有7个想法

    1. 不是,是你的web服务器指定的zabbix根目录,事实上直接使用IP即可访问,如果方便,你可以提供下相关信息,我帮你看下。

  1. $ cp -rf /tmp/zabbix-3.4.2/frontends/php/* /apps/web/zabbix

    这一步和你之前文档里的参数不匹配吧…

评论已关闭。