专栏首页芝麻实验室「Zabbix连载系列」之Zabbix 4.X安装指南

「Zabbix连载系列」之Zabbix 4.X安装指南

前提准备

准备系统环境

  • 安装基础环境
    $ yum -y install wget vim tree lrzsz epel-release bash-completion ntpdate ntp
  • 关闭SELinux
    $ setenforce 0 #此为临时生效,建议编辑 /etc/selinux/config ,将SELINUX的值改为disabled
  • 关闭防火墙
    $ systemctl stop firewalld
    $ systemctl disable firewalld
  • 时间同步
    $ ntpdate cn.ntp.org.cn

安装Zabbix

编译前的准备工作

1.准备zabbix用户

[root@mu-node1 src]# groupadd -r zabbix
[root@mu-node1 src]# useradd -r -g zabbix -s /sbin/nologin -d /usr/local/zabbix zabbix
[root@mu-node1 src]# id zabbix
uid=997(zabbix) gid=995(zabbix) 组=995(zabbix)
[root@mu-node1 src]# cat /etc/passwd | grep zabbix
zabbix:x:997:995::/usr/local/zabbix:/sbin/nologin

如果Zabbix server 和 agent 运行在同一台计算机上,建议使用不同的账户运行Server和Agent。否则,如果两个进程使用了同一个用户,Agent就可以访问Server的配置文件,并可轻易地读取Zabbix中任何管理员级别的用户,比如数据库密码。同时,应避免使用诸如root,bin或其他特殊权限的用户运行Zabbix,因为会存在潜在的安全风险。 ——Zabbix官方建议

2.下载源码包

[root@mu-node1 ~]# cd /usr/src/
[root@mu-node1 src]# wget -O /usr/src/zabbix-4.2.0.tar.gz https://ayera.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/4.2.0/zabbix-4.2.0.tar.gz
[root@mu-node1 src]# tar xf zabbix-4.2.0.tar.gz

3.准备数据库环境

[root@mu-node1 src]# yum install mariadb-server -y
[root@mu-node1 src]# systemctl enable mariadb
[root@mu-node1 src]# systemctl start mariadb
[root@mu-node1 src]# mysql_secure_installation
[root@mu-node1 src]# mysql -uroot -hlocalhost -p
Enter password:
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 10
Server version: 5.5.60-MariaDB MariaDB Server

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> create database zabbix character set utf8; #暂不直接支持utf8mb4字符集,若需使用,需手动修改官方SQL初始化脚本中的字段长度
Query OK, 1 row affected (0.00 sec)

MariaDB [(none)]> grant all privileges on zabbix.* to zabbix@localhost identified by 'guomai';
Query OK, 0 rows affected (0.00 sec)

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

MariaDB [(none)]> exit
Bye

4.初始化数据库

[root@mu-node1 src]# cd zabbix-4.2.0/database/mysql/
[root@mu-node1 mysql]# mysql -hlocalhost -uzabbix -p zabbix < schema.sql
Enter password:
[root@mu-node1 mysql]# mysql -hlocalhost -uzabbix -p zabbix < images.sql
Enter password:
[root@mu-node1 mysql]# mysql -hlocalhost -uzabbix -p zabbix < data.sql
Enter password:
[root@mu-node1 mysql]#

编译Zabbix

1.准备编译环境

[root@mu-node1 mysql]# cd ../../
[root@mu-node1 zabbix-4.2.0]# yum -y install openssl-devel pcre-devel make gcc net-snmp-devel mysql-devel curl-devel libxml2-devel libevent-devel
[root@mu-node1 zabbix-4.2.0]# ./configure --help | less #获取编译帮助
[root@mu-node1 zabbix-4.2.0]# ./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl --with-libxml2 --with-openssl
  • 如果希望添加Java Gateway支持,你必须先进行如下操作,然后才添加--enable-java这一编译选项,否则将出现形如checking for javac... no...configure: error: Unable to find "javac" executable in path的报错信息
#添加Java支持
[root@mu-node1 zabbix-4.2.0]# cd /usr/src/
[root@mu-node1 src]# wget http://192.168.20.55/packages/java/jdk-8u131-linux-x64.rpm
[root@mu-node1 src]# rpm -ivh jdk-8u131-linux-x64.rpm
[root@mu-node1 src]# cat >> /etc/profile
    JAVA_HOME=/usr/java/jdk1.8.0_131
    JRE_HOME=/usr/java/jdk1.8.0_131/jre
    PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
    CLASSPATH=:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
    export JAVA_HOME JRE_HOME PATH CLASSPATH
[root@mu-node1 src]# source /etc/profile
[root@mu-node1 src]# java -version #此处能正常显示Java版本信息即说明添加Java环境成功
java version "1.8.0_131"
Java(TM) SE Runtime Environment (build 1.8.0_131-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.131-b11, mixed mode)
  • 继续编译
[root@mu-node1 src]# cd zabbix-4.2.0/
[root@mu-node1 zabbix-4.2.0]# ./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --enable-java --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl --with-libxml2 --with-openssl
[root@mu-node1 zabbix-4.2.0]# make install

2.查看Zabbix组件结构

[root@mu-node1 zabbix-4.2.0]# cd /usr/local/zabbix/
[root@mu-node1 zabbix]# tree
.
├── bin
│   ├── zabbix_get
│   └── zabbix_sender
├── etc
│   ├── zabbix_agentd.conf
│   ├── zabbix_agentd.conf.d
│   ├── zabbix_server.conf
│   └── zabbix_server.conf.d
├── lib
│   └── modules
├── sbin
│   ├── zabbix_agentd
│   ├── zabbix_java
│   │   ├── bin
│   │   │   └── zabbix-java-gateway-4.2.0.jar
│   │   ├── lib
│   │   │   ├── android-json-4.3_r3.1.jar
│   │   │   ├── logback-classic-0.9.27.jar
│   │   │   ├── logback-console.xml
│   │   │   ├── logback-core-0.9.27.jar
│   │   │   ├── logback.xml
│   │   │   └── slf4j-api-1.6.1.jar
│   │   ├── settings.sh
│   │   ├── shutdown.sh
│   │   └── startup.sh
│   └── zabbix_server
└── share
    ├── man
    │   ├── man1
    │   │   ├── zabbix_get.1
    │   │   └── zabbix_sender.1
    │   └── man8
    │       ├── zabbix_agentd.8
    │       └── zabbix_server.8
    └── zabbix
        ├── alertscripts
        └── externalscripts

17 directories, 20 files

3.添加环境变量

[root@mu-node1 zabbix]# echo "export PATH=/usr/local/zabbix/sbin:$PATH" >> /etc/profile.d/zabbix.sh
[root@mu-node1 zabbix]# source /etc/profile.d/zabbix.sh
[root@mu-node1 zabbix]# echo $PATH
/usr/local/zabbix/sbin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/usr/java/jdk1.8.0_131/bin:/usr/java/jdk1.8.0_131/jre/bin

4.设定开机自启

[root@mu-node1 zabbix]# echo "/usr/local/zabbix/sbin/zabbix_server" >> /etc/rc.d/rc.local 
[root@mu-node1 zabbix]# echo "/usr/local/zabbix/sbin/zabbix_agentd" >> /etc/rc.d/rc.local
[root@mu-node1 zabbix]# chmod +x /etc/rc.d/rc.local #仅Centos 7.x需额外授予此执行权限

5.编辑Zabbix Server主配置文件

[root@mu-node1 zabbix]# vim etc/zabbix_server.conf
# DBHost=localhost db服务器ip,本示例为本机,故localhost即可(注:需事先在Mariadb/MySQL中授权)
DBName=zabbix #库名,默认zabbix
DBUser=zabbix #账户名,默认zabbix
DBPassword=guomai #数据库密码,需自行配置
DBPort=3306 #服务端口,默认3306

配置和安装PHP-FPM及Nginx

[root@mu-node1 zabbix]# yum -y install php-fpm
[root@mu-node1 zabbix]# yum install -y nginx
[root@mu-node1 zabbix]# cp -r /usr/src/zabbix-4.2.0/frontends/php/ /usr/share/nginx/html/zabbix
[root@mu-node1 zabbix]# systemctl enable nginx
[root@mu-node1 zabbix]# systemctl start nginx
[root@mu-node1 zabbix]# systemctl start php-fpm
[root@mu-node1 zabbix]# vim /etc/nginx/nginx.conf
        location / {
            root   /usr/share/nginx/html;
            index  index.html index.htm index.php;
        }

        location ~ \.php$ {
            root           /usr/share/nginx/html;
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            include        fastcgi_params;
        }
[root@mu-node1 zabbix]# vim /etc/php-fpm.d/www.conf
#修改PHP-FPM执行用户
user = nginx
group = nginx

#修改站点根目录权限
[root@mu-node1 zabbix]# chown -R nginx:nginx /usr/share/nginx/html/zabbix
[root@mu-node1 zabbix]# systemctl restart php-fpm nginx

启动Zabbix Server及Zabbix Agentd

[root@mu-node1 zabbix]# zabbix_server
[root@mu-node1 zabbix]# zabbix_agentd

访问Zabbix Web

  • 浏览器端访问:http://Your_Zabbix_Server_IP/zabbix/setup.php

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 通过包管理器安装Zabbix Server及Agent

    由于zabbix依赖于php,且官方默认使用LAMP网站架构,因此在安装zabbix-web时,会自动安装httpd,并自动生成一个用户zabbix服务的文件,...

    用户1456517
  • Zabbix 3.4编译安装全解读

    用户1456517
  • 「Zabbix连载系列」之Zabbix Agent的安装

    如果Zabbix server 和 agent 运行在同一台计算机上,建议使用不同的账户运行Server和Agent。否则,如果两个进程使用了同一个用户,Age...

    用户1456517
  • zabbix-进阶-3

    action动作:condition,operation(remote,command,send message)

    py3study
  • ansible-playbook调用zabbix-api自动添加主机

    版权声明:本文为木偶人shaon原创文章,转载请注明原文地址,非常感谢。 https://b...

    shaonbean
  • zabbix自动发现与自动注册及SNMP监控

    自动发现与自动注册 自动发现:zabbix Server主动发现所有客户端,然后将客户端登记自己的小本本上,缺点zabbix server压力山大(网段大,客户...

    863987322
  • Docker下实战zabbix三部曲之三:自定义监控项

    版权声明:欢迎转载,请注明出处,谢谢。 ...

    天涯泪小武
  • Docker下实战zabbix三部曲之三:自定义监控项

    通过上一章《Docker下实战zabbix三部曲之二:监控其他机器》的实战,我们了解了对机器的监控是通过在机器上安装zabbix agent来完成的,zabbi...

    程序员欣宸
  • 基于curl 的zabbix API调用

    1,认证并取得加密字段 curl -i -X POST -H 'Content-Type: application/json' -d '{"jsonrpc": ...

    小小科
  • 浅谈zabbix和Grid control (r6笔记第25天)

    在IT行业始终在进行着开源和商业的竞争而且双方火力都不差,开源的受众更多是中小企业,免费开源而且用户基数庞大,商业的用户都是一些大中型企业,求稳求成熟的服务。 ...

    jeanron100

扫码关注云+社区

领取腾讯云代金券