Zabbix源码安装

Zabbix服务端部署

文章目录

  • Zabbix服务端部署
    • 开始安装
      • 准备zabbix_server

首先

第三方外部周边软件

总是需要强制性要求。支持特定功能需要可选要求。

软件 强制状态 支持的版本 注释
MySQL/Percona 之一 8.0.X 如果 MySQL(或 Percona)用作 Zabbix 后端数据库,则需要。需要 InnoDB 引擎。我们建议使用MariaDB 连接器/C库来构建服务器/代理。
MariaDB 10.5.00-10.8.X 需要 InnoDB 引擎。我们建议使用MariaDB 连接器/C库来构建服务器/代理。
Oracle 19c - 21c 如果 Oracle 用作 Zabbix 后端数据库,则需要。
PostgreSQL 13.0-14.X 如果 PostgreSQL 用作 Zabbix 后端数据库,则需要。
TimescaleDB for PostgreSQL 2.0.1-2.7 如果 TimescaleDB 用作 PostgreSQL 数据库扩展,则需要。确保安装支持压缩的 TimescaleDB 社区版。
SQLite 可选的 3.3.5-3.34.X SQLite 仅支持 Zabbix 代理。如果 SQLite 用作 Zabbix 代理数据库,则需要。
smartmontools 7.1 或更高版本 Zabbix 代理 2 需要。
who 用户计数插件是必需的。
dpkg system.sw.packages 插件需要。
pkgtool system.sw.packages 插件需要。
rpm system.sw.packages 插件需要。
pacman system.sw.packages 插件需要。

下载源代码压缩包 前往Zabbix下载页面 下载源代码压缩包。并使用如下命令解压下载好的源代码:

[root@localhost ~]# ls
zabbix-6.2.2.tar.gz
#解压
[root@localhost ~]# tar xf zabbix-6.2.2.tar.gz 
[root@localhost ~]# ls
zabbix-6.2.2  zabbix-6.2.2.tar.gz

创建用户账户 所有的 Zabbix 守护进程都必须要一个非特权用户。如果一个非特权用户启动了一个 Zabbix 守护进程,它就会以这个用户运行。 49 然而,如果一个守护进程以 ‘root’ 账户运行,它会切换到一个 ‘zabbix‘用户,这个用户是必须存在的。要创建这样一个用户(在它自己的 “zabbix” 组里)

[root@localhost ~]# groupadd --system zabbix
[root@localhost ~]# useradd --system -g zabbix -d /usr/lib/zabbix -s /sbin/nologin -c "Zabbix Monitoring System" zabbix

Zabbix 进程不需要home 目录,因此不创建它。然而,如果你将要使用的某些功能需要它(比如在 $HOME/.my.cnf 里存放 MySQL 凭证) ,你可以使用如下命令去创建 home 目录。

[root@localhost ~]# mkdir -m u=rwx,g=rwx,o= -p /var/lib/zabbix
[root@localhost ~]# chown zabbix:zabbix /var/lib/zabbix

安装 Zabbix 前端不许要单独的用户。 如果 Zabbix server和agent运行在同一台机器上,建议使用与 agent 不同的用户来运行。否则,如果两者使用相同的用户,agent 可以 访问 server 的配置文件,Zabbix 里任何 Admin 级别的用户可以轻易地获取诸如数据可密码等信息。 以 root、bin 或者其他任何有特殊权限的账户运行 Zabbix 都有安全风险。

开始安装

本机环境:
[root@localhost ~]# php -v
PHP 7.4.19 (cli) (built: May  4 2021 11:06:37) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
[root@localhost ~]# mysql -V
mysql  Ver 15.1 Distrib 10.5.9-MariaDB, for Linux (x86_64) using  EditLine wrapper
[root@localhost ~]# httpd -v
Server version: Apache/2.4.37 (centos)
Server built:   Nov 12 2021 04:57:27
配置apache
//配置虚拟主机文件
[root@localhost ~]# cp /usr/share/doc/httpd/httpd-vhosts.conf /etc/httpd/conf.d/
[root@localhost ~]# vim /etc/httpd/conf.d/httpd-vhosts.conf 
<VirtualHost *:80>
    DocumentRoot "/var/www/html/zabbix.example.com"
    ServerName zabbix.example.com
    ProxyRequests Off
    ProxyPassMatch ^/(.*\.php)$ fcgi://127.0.0.1:9000/var/www/html/zabbix.example.com/$1
    <Directory "/var/www/html/zabbix.example.com">
        Options none
        AllowOverride none
        Require all granted
    </Directory>
    ErrorLog "/var/log/httpd/zabbix.example.com-error_log"
    CustomLog "/var/log/httpd/zabbix.example.com-access_log" common
</VirtualHost>

//修改httpd主配置文件
[root@localhost ~]# vim /etc/httpd/conf/httpd.conf 
167     DirectoryIndex index.php index.html		//在中间添加index.php
288     AddType application/x-httpd-php .php
289     AddType application/x-httpd-php-source .phps		//添加此两行配置

//配置html网页文件
[root@localhost ~]# cd /var/www/html/
[root@localhost html]# mkdir zabbix.example.com
[root@localhost html]# ls
zabbix.example.com
[root@localhost html]# cd zabbix.example.com/
[root@localhost zabbix.example.com]# vim index.php
<?php
        phpinfo();
?>
[root@localhost zabbix.example.com]# cd
[root@localhost ~]# 

//设置开机自启动
[root@localhost ~]# systemctl enable --now httpd
[root@localhost ~]# systemctl enable --now mariadb
[root@localhost ~]# systemctl enable --now php-fpm

//修改数据库密码
[root@localhost ~]# mysql
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 3
Server version: 10.5.9-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)]> set password = password ('123com');
Query OK, 0 rows affected (0.000 sec)

MariaDB [(none)]> quit
Bye

//修改php-fpm.d配置文件
[root@localhost ~]# vim /etc/php-fpm.d/www.conf
38 listen = 0.0.0.0:9000	//修改此行

//重启php
[root@localhost ~]# systemctl restart php-fpm
//查看端口是否监听
[root@localhost ~]# ss -antl
State  Recv-Q Send-Q Local Address:Port Peer Address:PortProcess
LISTEN 0      128          0.0.0.0:22        0.0.0.0:*          
LISTEN 0      128          0.0.0.0:9000      0.0.0.0:*          
LISTEN 0      128             [::]:22           [::]:*          
LISTEN 0      80                 *:3306            *:*          
LISTEN 0      128                *:80              *:*          
[root@localhost ~]# 

准备zabbix_server

  1. 解压安装包

    [root@localhost ~]# tar xf zabbix-6.2.2
    [root@localhost ~]# ls
    anaconda-ks.cfg  to.sh  zabbix-6.2.2  zabbix-6.2.2.tar.gz[root@localhost ~]# ls
    anaconda-ks.cfg  to.sh  zabbix-6.2.2  zabbix-6.2.2.tar.gz
    
  2. 安装编译安装条件

    //安装依赖包
    [root@localhost ~]# yum -y install net-snmp-devel libevent-devel mysql-devel libxml2-devel curl-devel gcc gcc-c++ --allowerasing pcre-devel
    //上面已经创建过用户和组
    
  3. 配置zabbix数据库

    [root@localhost mysql]# mysql -uroot -p
    -------------
    create database zabbix character set utf8 collate utf8_bin;
    
    grant all privileges on zabbix.* to zabbix@localhost identified by '123.com';
    
    flush privileges;
    
    quit
    -----------------
    [root@localhost ~]# cd /root/zabbix-6.2.2/database/mysql/
    //这时tar解压的地方
    [root@localhost mysql]# ls
    Makefile.am  Makefile.in  data.sql  double.sql  history_pk_prepare.sql  images.sql  schema.sql
    
    
    //登录数据库创建zabbix库和zabbix用户并导入zabbix模板文件
    [root@localhost mysql]# mysql -uzabbix -p123.com zabbix < schema.sql
    [root@localhost mysql]# mysql -uzabbix -p123.com zabbix < images.sql
    [root@localhost mysql]# mysql -uzabbix -p123.com zabbix < data.sql
    //顺序不能变
    
  4. 编译安装zabbix

    [root@localhost ~]# cd /root/zabbix-6.2.2
    [root@localhost zabbix-6.2.2]# ./configure --enable-server --enable-agent --with-mysql --with-libcurl --with-libxml2 
    
    --
    ***********************************************************
    *            Now run 'make install'                       *
    *                                                         *
    *            Thank you for using Zabbix!                  *
    *              <http://www.zabbix.com>                    *
    ***********************************************************
     [root@localhost zabbix-6.2.2]#  make install
     #如果没有make,就安装make
    [root@localhost zabbix-6.2.2]# cd /usr/local/etc/
    [root@localhost etc]# vim zabbix_server.conf
    124 DBPassword=#数据库密码
    [root@localhost etc]# 
    [root@localhost etc]# zabbix_server 
    [root@localhost etc]# zabbix_agentd
    [root@localhost etc]# ss -antl
    State     Recv-Q    Send-Q         Local Address:Port          Peer Address:Port    Process    
    LISTEN    0         128                  0.0.0.0:22                 0.0.0.0:*                  
    LISTEN    0         128                  0.0.0.0:10050              0.0.0.0:*                  
    LISTEN    0         128                  0.0.0.0:9000               0.0.0.0:*                  
    LISTEN    0         80                         *:3306                     *:*                  
    LISTEN    0         128                        *:80                       *:*                  
    LISTEN    0         128                     [::]:22                    [::]:*                  
    [root@localhost etc]# 
    [root@localhost zabbix-6.2.2]# cp -a ui/* /var/www/html/zabbix.example.com/
    cp: overwrite '/var/www/html/zabbix.example.com/index.php'? y
    [root@localhost zabbix-6.2.2]# chown -R apache.apache /var/www/html
    [root@localhost zabbix-6.2.2]# sed -ri 's/(post_max_size =).*/\1 16M/g' /etc/php.ini
    [root@localhost zabbix-6.2.2]# sed -ri 's/(max_execution_time =).*/\1 300/g' /etc/php.ini
    [root@localhost zabbix-6.2.2]# sed -ri 's/(max_input_time =).*/\1 300/g' /etc/php.ini
    [root@localhost zabbix-6.2.2]# sed -i '/;date.timezone/a date.timezone = Asia/Shanghai' /etc/php.ini
    [root@localhost zabbix-6.2.2]# systemctl restart php-fpm
    [root@localhost zabbix-6.2.2]# 
    
    

Zabbix源码安装_第1张图片
Zabbix源码安装_第2张图片

你可能感兴趣的:(开源软件使用,zabbix,数据库,sqlite)