Linux源码部署zabbix

一、环境准备

1、操作系统、硬件资源

我这里准备了两台虚拟机,欧拉系统,每台分配了一颗CPU两核心,4G内存。

zabbix-server:192.168.1.90

zabbix-agent: 192.168.1.91

2、关闭防火墙、selinux
systemctl stop firewalld
systemctl disable firewalld

setenforce 0
ser -i '/SELINUX/{s/enforcing/disable/}' /etc/selinux/config

二、部署zabbix-server

操作主机:zabbix-server   192.168.1.90

可参考官方的安装文档:https://www.zabbix.com/cn/download

1、下载zabbix源码包

下载网址:https://www.zabbix.com/cn/download_sources#70LTS

2、上传zabbix源码包

两种上传方式:
1、通过Xftp工具上传

2、安装lrzsz包

安装好lrzsz软件包后,可直接将源码包拖到xshell界面中。

3、安装MySQL数据库

dnf -y install mysql-server

systemctl enable mysqld --now

4、初始化MySQL数据库

1、修改root密码

直接输入mysql登录数据库,首次登录不需要密码。

进入数据库首先修改root账户的密码,修改完成后,重新登录。

alter user 'root'@'localhost' identified by 'admin@123.';
quit;
mysql -uroot -p'admin@123.'

2、创建zabbix库和用户
mysql> create database zabbix character set utf8mb4 collate utf8mb4_bin;    #创建zabbix库
mysql> create user zabbix@localhost identified by 'password';               #创建zabbix用户,设置密码
mysql> grant all privileges on zabbix.* to zabbix@localhost;                #授权
mysql> set global log_bin_trust_function_creators = 1;                      #开启log_bin_trust_function_creators选项
mysql> quit;

3、导入初始数据

导入初始架构和数据,数据表文件在源码包中,解压zabbix源码包,将数据表文件导入到zabbix库中。

数据表文件路径:

                /root/zabbix-7.0.16/database/mysql/schema.sql

                /root/zabbix-7.0.16/database/mysql/images.sql

                /root/zabbix-7.0.16/database/mysql/data.sql

tar -xf zabbix-7.0.16.tar.gz
cd zabbix-7.0.16.tar.gz

将三个sql文件导入数据库的zabbix库中,按顺序导入。

mysql -uzabbix -p'zabbix@123.' zabbix < /root/zabbix-7.0.16/database/mysql/schema.sql
mysql -uzabbix -p'zabbix@123.' zabbix < /root/zabbix-7.0.16/database/mysql/images.sql
mysql -uzabbix -p'zabbix@123.' zabbix < /root/zabbix-7.0.16/database/mysql/data.sql

数据导入完成后,进入数据库中,禁用log_bin_trust_function_creators选项。

mysql>set global log_bin_trust_function_creators = 0;
mysql>quit;

5、安装zabbix-server依赖

cd zabbix-7.0.16/

dnf -y install make gcc-c++ cre-devel zlib-devel libevent-devel openssl-devel mysql-devel curl-devel libcurl-devel fping

6、zabbix用户和组

groupadd zabbix
useradd -g zabbix -M -s /sbin/nologin zabbix

7、预编译

./configure --sysconfdir=/etc/zabbix/ --enable-server --enable-agent --with-mysql --with-libcurl --with-openssl --with-libpcre --with-libevent --with-zlib


./configure \
--sysconfdir=/etc \                 # 指定配置文件目录为 /etc/zabbix/
--enable-server \                   # 启用 Zabbix Server
--enable-agent \                    # 启用 Zabbix Agent
--with-mysql \                      # 启用 MySQL 支持(对应 mysql-devel)
--with-libcurl \                    # 启用 Web/API 功能(对应 curl-devel)
--with-openssl \                    # 启用加密通信(对应 openssl-devel)
--with-libpcre \                    # 启用正则表达式(对应 pcre-devel)
--with-libevent \                   # 启用高性能事件处理(对应 libevent-devel)
--with-zlib \                       # 启用压缩功能(对应 zlib-devel)

如下图所示编译成功。

8、安装

make && make install

9、系统服务管理

创建service文件,为了让系统能够像管理其他系统服务一样,统一、方便、自动化地管理你的自定义程序或服务,通过systemctl 命令来管理服务。

创建zabbix-server系统管理文件
vim /usr/lib/systemd/system/zabbix-server.service

[Unit]
Description=Zabbix Server
After=network.target mysqld.service postgresql.service

[Service]
Type=simple
User=zabbix
Group=zabbix
ExecStart=/usr/local/sbin/zabbix_server -c /etc/zabbix/zabbix_server.conf
Restart=on-failure
PIDFile=/tmp/zabbix_server.pid

[Install]
WantedBy=multi-user.target
创建zabbix-agent系统管理文件
vim /usr/lib/systemd/system/zabbix-agent.service

[Unit]
Description=Zabbix Agent
After=network.target

[Service]
Type=simple
User=zabbix
Group=zabbix
ExecStart=/usr/local/sbin/zabbix_agentd -c /etc/zabbix/zabbix_agentd.conf
Restart=on-failure
PIDFile=/tmp/zabbix_agentd.pid

[Install]
WantedBy=multi-user.target

10、启动zabbix-server、zabbix=agent

systemctl daemon-reload
systmectl enable zabbix-server zabbix-agent --now
systemctl status zabbix-server
systemctl status zabbix-agent

三、zabbix连接MySQL

vim /etc/zabbix/zabbix_server.conf

101 DBName=zabbix                        #数据库名  
117 DBUser=zabbix                        #用户
125 DBPassword=zabbix@123.               #密码

四、部署Nginx与PHP

1、安装Nginx与PHP
dnf -y install nginx php php-fpm  php-mysqlnd php-bcmath php-gd php-xml php-mbstring php-ldap

systemctl enable nginx php-fpm --now
2、测试Nginx与PHP的连接
vim /usr/share/nginx/html/nginx.php

<?php
phpinfo();
?>
systemctl restart nginx php-fpm        #重启服务

访问地址:192.168.1.90/nginx.php

3、测试MySQL与PHP的连接
vim /usr/share/nginx/html/mysql.php

<?php
$servername = "localhost";         // 数据库服务器地址
$username = "zabbix";              // 数据库用户名
$password = "zabbix@123.";         // 数据库密码
$dbname = "zabbix";                // 数据库名

// 创建连接
$conn = new mysqli($servername, $username, $password, $dbname);

// 检查连接
if ($conn->connect_error) {
    die("连接失败: " . $conn->connect_error);
}
echo "连接成功!";

$conn->close();
?>
systemctl restart nginx php-fpm        #重启nginx与php
4、zabbix虚拟主机配置
vim /etc/nginx/conf.d/zabbix.conf

server {
    listen       80;
    server_name  localhost;

    root   /usr/share/nginx/html;
    index  index.php index.html index.htm;

    location / {
        try_files $uri $uri/ =404;
    }

    location ~ \.php$ {
        fastcgi_pass   unix:/run/php-fpm/www.sock;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
        include        fastcgi_params;
    }

    location ~ /\.ht {
        deny  all;
    }
}
5、拷贝zabbix前端页面到nginx站点目录中
cp -r zabbix-7.0.10/ui/* /usr/share/nginx/html/
6、修改PHP相关文件
#修改PHP运行的用户和组
vim /etc/php-fpm.d/www.conf

24 user = nginx
26 group = nginx
#调整PHP的参数
vim /etc/php.ini

383 max_execution_time = 300
393 max_input_time = 300
672 post_max_size = 16M
#修改文件的归属关系
chown -R nginx.nginx /usr/share/nginx/html/
#重启nginx与php
systemctl restart nginx php-fpm

五、WEB页面安装zabbix

访问地址:192.168.1.90   (zabbix-server主机的IP)

检查必要条件中PHP的相关信息状态都为OK,在点击下一步。

 配置数据库连接。

用户:Admin
密码:zabbix                           #默认密码

六、部署zabbix-agent

操作主机:zabbix-agent   192.168.1.91

1、安装zabbix-agent依赖
dnf -y install gcc-c++ make pcre-devel
2、zabbix用户和组
groupadd zabbix                                            #创建组
useradd -g zabbix -M -s /sbin/nologin zabbix               #创建虚拟用户
3、预编译
./configure --sysconfdir=/etc/zabbix/ --enable-agent 

4、安装
make && make install

 5、系统服务管理
创建zabbix-agent系统管理文件
vim /usr/lib/systemd/system/zabbix-agent.service

[Unit]
Description=Zabbix Agent
After=network.target

[Service]
Type=simple
User=zabbix
Group=zabbix
ExecStart=/usr/local/sbin/zabbix_agentd -c /etc/zabbix/zabbix_agentd.conf
Restart=on-failure
PIDFile=/tmp/zabbix_agentd.pid

[Install]
WantedBy=multi-user.target
6、启动服务
systemctl daemon-reload
systemctl enable zabbix-agent --now

七、zabbix添加被控主机

操作主机:zabbix-agent   192.168.1.91

vim /etc/zabbix/zabbix_agentd.conf

113 Server=192.168.1.90                #zabbix-server的IP
systemctl restart zabbix-agent         #重启agent

可以用zabbix自带的监控模版。

也可以用该文章顶部的zabbix自定义监控模版,下载后,导入即可使用。

点击最新数据,即可查看被控主机的数据。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值