当前位置: 首页 > news >正文

部署zabbix

源码下载地址:

Download Zabbix sources

nginx: download

防火墙和selinux都需要关闭

1、部署监控服务器

1)安装LNMP环境

Zabbix监控管理控制台需要通过Web页面展示出来,并且还需要使用MySQL来存储数据,因此需要先为Zabbix准备基础LNMP环境。

[root@zabbixserver ~]# yum -y install gcc pcre-devel  openssl-devel

[root@zabbixserver ~]# tar -xf nginx-1.12.2.tar.gz

[root@zabbixserver ~]# cd nginx-1.12.2

[root@zabbixserver nginx-1.12.2]# ./configure --with-http_ssl_module

[root@zabbixserver nginx-1.12.2]# make &&make install

[root@zabbixserver ~]# yum -y  install  php  php-mysql  php-fpm(注意,在centos8stream里没有php-mysql,需要安装php-mysqlnd

[root@zabbixserver ~]# yum -y  install  mariadb  mariadb-devel  mariadb-server

2)修改Nginx配置文件

配置Nginx支持PHP动态网站,因为有大量PHP脚本需要执行,因此还需要开启Nginx的各种fastcgi缓存,加速PHP脚本的执行速度。

[root@zabbixserver ~]# vim /usr/local/nginx/conf/nginx.conf

… …

http{

… …

    fastcgi_buffers 816k;              #缓存php生成的页面内容,8个16k

    fastcgi_buffer_size 32k;              #缓存php生产的头部信息,32k

    fastcgi_connect_timeout 300;    #连接PHP的超时时间,300

    fastcgi_send_timeout 300;             #发送请求的超时时间,300

    fastcgi_read_timeout 300;            #读取请求的超时时间,300

location ~\.php$ {

     root           html;

     fastcgi_pass   127.0.0.1:9000;

     fastcgi_index  index.php;

     include        fastcgi.conf;#[注意这里别出错]

}

… …

3)启动服务

启动Nginx、PHP-FPM、MariaDB服务,关闭SELinux与防火墙。

[root@zabbixserver ~]# systemctl start  mariadb        #启动服务

[root@zabbixserver ~]# systemctl start  php-fpm        #启动服务

[root@zabbixserver ~]# systemctl enable  mariadb        #设置开机自启

[root@zabbixserver ~]# systemctl enable  php-fpm        #设置开机自启

[root@zabbixserver ~]# /usr/local/nginx/sbin/nginx        #启动服务

[root@zabbixserver ~]# echo /usr/local/nginx/sbin/nginx  >>/etc/rc.local

[root@zabbixserver ~]# chmod +x /etc/rc.local

#通过rc.local设置开机自启

[root@zabbixserver ~]# firewall-cmd --set-default-zone=trusted

[root@zabbixserver ~]# setenforce 0

[root@zabbixserver ~]# sed -i '/SELINUX/s/enforcing/permissive/'/etc/selinux/config

 注意:

在这里,需要验证一下php是否正常启动了:

ss -ntulp | grep php

如果没有输出,则需要修改php-fpm的配置:

[root@proxy etc]# vim /etc/php-fpm.d/www.conf

[www]

listen =127.0.0.1:9000            //PHP端口号

pm.max_children =32                //最大进程数量

pm.start_servers =15                //最小进程数量

2、部署监控服务器Zabbix Server

1)源码安装Zabbix Server

多数源码包都是需要依赖包的,zabbix也一样,源码编译前需要先安装相关依赖包。

[root@zabbixserver ]# yum -y install  net-snmp-devel \

curl-devel autoconf libevent-devel

#安装相关依赖包

[root@zabbixserver]# tar -xf zabbix-3.4.4.tar.gz

[root@zabbixserver ]# cd zabbix-3.4.4/

[root@zabbixserver zabbix-3.4.4]# ./configure  --enable-server \

--enable-proxy --enable-agent --with-mysql=/usr/bin/mysql_config \

--with-net-snmp --with-libcurl

# --enable-server安装部署zabbix服务器端软件

# --enable-agent安装部署zabbix被监控端软件

# --enable-proxy安装部署zabbix代理相关软件

# --with-mysql指定mysql_config路径

# --with-net-snmp允许zabbix通过snmp协议监控其他设备(如交换机、路由器等)

# --with-libcurl安装相关curl库文件,这样zabbix就可以通过curl连接http等服务,测试被监控主机服务的状态

[root@zabbixserver zabbix-3.4.4]# make &&make install

2)创建并初始化数据库(root用户默认没有密码)

[root@zabbixserver ~]# mysql

mysql>create database zabbix character set utf8;

#创建数据库,数据库名称为zabbix,character set utf8是支持中文字符集

mysql>grant all on zabbix.*to zabbix@'localhost'identified by 'zabbix';

#创建可以访问数据库的账户与密码,用户名是zabbix,密码是zabbix

mysql>exit

#退出数据库

[root@zabbixserver ~]# cd zabbix-3.4.4/database/mysql/

[root@zabbixserver mysql]# mysql -uzabbix -pzabbix zabbix <schema.sql

[root@zabbixserver mysql]# mysql -uzabbix -pzabbix zabbix <images.sql

[root@zabbixserver mysql]# mysql -uzabbix -pzabbix zabbix <data.sql

#刚刚创建是空数据库,zabbix源码包目录下,有提前准备好的数据

#使用mysql导入这些数据即可(注意导入顺序)

如果导入有如下问题:

[root@zabbix mysql]# mysql -uzabbix -pzabbix zabbix < schema.sql ERROR 1118 (42000) at line 1244: Row size too large (> 8126). Changing some columns to TEXT or BLOB may help. In current row format, BLOB prefix of 0 bytes is stored inline.

修改my.cnf文件,添加或修改以下参数([root@zabbix mysql]# ls /etc/my.cnf):

innodb_file_per_table=1

innodb_file_format=Barracuda

innodb_strict_mode=0

 

#-u指定数据库用户名,-p指定数据库密码

如何测试?

[root@zabbixserver ~]# mysql -uzabbix -pzabbix -h localhost zabbix

#-u指定用户名,-p指定密码,-h指定服务器IP,最后的zabbix是数据库名称

#使用zabbix账户(密码为zabbix)连接localhost服务器上面的zabbix数据库

mysql>show tables;

#查看有没有数据表

mysql>exit

#退出数据库

 

3)修改zabbix_server配置并启动监控服务

修改Zabbix_server配置文件,设置数据库相关参数,启动Zabbix_server服务

[root@zabbixserver ~]# vim /usr/local/etc/zabbix_server.conf

DBHost=localhost

# 85行,定义哪台主机为数据库主机,localhost为本机

DBName=zabbix

#95行,设置数据库名称

DBUser=zabbix

#111行,设置数据库账户

DBPassword=zabbix

#119行,设置数据库密码

LogFile=/tmp/zabbix_server.log    

#38行,日志的位置,排错使用,该行仅查看即可

AllowUnsupportedDBVersions=1

 

[root@zabbixserver ~]# useradd -s /sbin/nologin zabbix

#服务不允许以root身份启动,不创建用户无法启动服务(用户不需要登录系统)

#创建zabbix用户才可以以zabbix用户的身份启动服务

#启动服务后可以通过ps aux查看进程是以什么用户的身份启动的

 

通过创建service文件管理zabbix服务。

[root@zabbixserver ~]# vim /usr/lib/systemd/system/zabbix_server.service

[Unit]

Description=zabbix server

After=network.target remote-fs.target nss-lookup.target

[Service]

Type=forking

PIDFile=/tmp/zabbix_server.pid

ExecStart=/usr/local/sbin/zabbix_server

ExecStop=/bin/kill $MAINPID

[Install]

WantedBy=multi-user.target

[root@zabbixserver ~]# systemctl  enable  zabbix_server  --now

[root@zabbixserver ~]# ss -ntulp |grep zabbix_server     #确认连接状态,端口10051

tcp LISTEN 0128*:10051*:*users:(("zabbix_server",pid=23275,fd=4),("zabbix_server",pid=23274,fd=4)

4) 修改Zabbix_agent配置文件,启动Zabbix_agent服务

[root@zabbixserver ~]# vim /usr/local/etc/zabbix_agentd.conf

Server=127.0.0.1,192.168.2.5            #93行,允许哪些主机监控本机

ServerActive=127.0.0.1,192.168.2.5        #134行,允许哪些主机通过主动模式监控本机

Hostname=zabbix_server                #145行,设置本机主机名(名称可以任意)

LogFile=/tmp/zabbix_agentd.log            #设置日志文件(不需要修改)

UnsafeUserParameters=1                #280行,是否允许自定义监控传参

编写zabbix_agentd的service文件,通过systemd管理服务。

[root@zabbixserver ~]#  vim /usr/lib/systemd/system/zabbix_agentd.service

[Unit]

Description=zabbix agent

After=network.target remote-fs.target nss-lookup.target

[Service]

Type=forking

PIDFile=/tmp/zabbix_agentd.pid

ExecStart=/usr/local/sbin/zabbix_agentd

ExecStop=/bin/kill $MAINPID

[Install]

WantedBy=multi-user.target

[root@zabbixserver ~]# systemctl enable  zabbix_agentd   --now

[root@zabbixserver ~]# ss -ntulp |grep zabbix_agentd   #查看端口信息为10050

tcp    LISTEN     0128*:10050*:*users:(("zabbix_agentd",pid=23505,fd=4),("zabbix_agentd",pid=23504,fd=4)

5)上线Zabbix的Web页面

[root@zabbixserver ~]# cd zabbix-3.4.4/frontends/php/

[root@zabbixserver php]# cp -r */usr/local/nginx/html/

[root@zabbixserver php]# chown -R  apache.apache /usr/local/nginx/html/

#这里修改所有者使用:或者.都可以。

#修改权限的原因如下:

#php-fpm的账户是apache,后面我们需要让php-fpm对网站目录具有读写操作,

#而/usr/local/nginx/html默认是root所有,仅root具有写权限,php-fpm无写权限

浏览器访问Zabbix_server服务器的Web页面

火狐浏览器访问【 firefox http://192.168.2.5/index.php

#第一次访问,初始化PHP页面会检查计算机环境是否满足要求,如果不满足会给出修改建议

#默认会提示PHP的配置不满足环境要求,需要修改PHP配置文件

根据错误提示,安装依赖、修改PHP配置文件,满足Zabbix_server的环境要求。

[root@zabbixserver ~]# yum -y install  php-gd  php-xml

[root@zabbixserver ~]# yum -y install  php-bcmath  php-mbstring

[root@zabbixserver ~]# vim /etc/php.ini

date.timezone =Asia/Shanghai                #878行,设置时区

max_execution_time =300                    #384行,最大执行时间,秒

post_max_size =32M                        #672行,POST数据最大容量

max_input_time =300                        #394行,服务器接收数据的时间限制

[root@zabbixserver ~]# systemctl restart php-fpm

3、部署被监控主机Zabbix Agent

1)源码安装Zabbix agent软件

在2.100和2.200做相同操作(以web1为例)。

[root@web1 ~]# useradd -s /sbin/nologin  zabbix

[root@web1 ~]# yum -y install gcc pcre-devel autoconf

[root@web1 ~]# tar -xf zabbix-3.4.4.tar.gz

[root@web1 ~]# cd zabbix-3.4.4/

[root@web1 zabbix-3.4.4]# ./configure --enable-agent

[root@web1 zabbix-3.4.4]# make &&make install

2)修改agent配置文件,启动Agent

[root@web1 ~]# vim /usr/local/etc/zabbix_agentd.conf

Server=127.0.0.1,192.168.2.5                #93行,谁可以监控本机(被动监控模式)

ServerActive=127.0.0.1,192.168.2.5            #134行,谁可以监控本机(主动监控模式)

Hostname=web1                                    #145行,被监控端自己的主机名

EnableRemoteCommands=1    

#69行,监控异常后,是否允许服务器远程过来执行命令,如重启某个服务

UnsafeUserParameters=1                    #280行,是否允许自定义key传参

[root@web1 ~]# firewall-cmd --set-default-zone=trusted

[root@web1 ~]# sed -'/SELINUX/s/enforcing/permissive/'/etc/selinux/config

[root@web1 ~]# setenforce 0

[root@web1 ~]# vim /usr/lib/systemd/system/zabbix_agentd.service

[Unit]

Description=zabbix agent

After=network.target remote-fs.target nss-lookup.target

[Service]

Type=forking

PIDFile=/tmp/zabbix_agentd.pid

ExecStart=/usr/local/sbin/zabbix_agentd

ExecStop=/bin/kill $MAINPID

[Install]

WantedBy=multi-user.target

[root@web1 ~]# systemctl enable  zabbix_agentd   --now

#启动服务器并设置开机自启动

相关文章:

部署zabbix

源码下载地址&#xff1a; Download Zabbix sources nginx: download 防火墙和selinux都需要关闭 1、部署监控服务器 1&#xff09;安装LNMP环境 Zabbix监控管理控制台需要通过Web页面展示出来&#xff0c;并且还需要使用MySQL来存储数据&#xff0c;因此需要先为Zabbix准备基础…...

服务器感染了.locked、.locked1勒索病毒,如何确保数据文件完整恢复?

尊敬的读者&#xff1a; locked、.locked1勒索病毒的威胁如影随形&#xff0c;深刻影响着数字世界的安全。本文将深入揭示locked、.locked1的狡猾特征&#xff0c;为您提供实用的数据恢复方法&#xff0c;并分享一系列特别定制的预防措施&#xff0c;旨在使您的数字生活摆脱勒…...

【Linux系统化学习】命令行参数 | 环境变量的再次理解

个人主页点击直达&#xff1a;小白不是程序媛 Linux专栏&#xff1a;Linux系统化学习 代码仓库&#xff1a;Gitee 目录 mian函数传参获取环境变量 手动添加环境变量 导出环境变量 environ获取环境变量 本地变量和环境变量的区别 Linux的命令分类 常规命令 内建命令 …...

【STM32】TIM定时器编码器

1 编码器接口简介 Encoder Interface 编码器接口 编码器接口可接收增量&#xff08;正交&#xff09;编码器的信号&#xff0c;根据编码器旋转产生的正交信号脉冲&#xff0c;自动控制CNT自增或自减&#xff0c;从而指示编码器的位置、旋转方向和旋转速度 接收正交信号&#…...

力扣44题通配符匹配题解

44. 通配符匹配 - 力扣&#xff08;LeetCode&#xff09; 给你一个输入字符串 (s) 和一个字符模式 (p) &#xff0c;请你实现一个支持 ? 和 * 匹配规则的通配符匹配&#xff1a; ? 可以匹配任何单个字符。* 可以匹配任意字符序列&#xff08;包括空字符序列&#xff09;。 …...

windows系统安装RocketMQ_dashboard

1.下载源码 按照官网说明下载源码 官网 官网文档 2.源码安装 2.1.① 编译rocketmq-dashboard 注释掉报错的maven插件frontend-maven-plugin、maven-antrun-plugin mvn clean package -Dmaven.test.skiptrue2.2.② 运行rocketmq-dashboard java -jar target/rocketmq-…...

ATECLOUD电源自动测试系统打破传统 助力新能源汽车电源测试

随着新能源汽车市场的逐步扩大&#xff0c;技术不断完善提升&#xff0c;新能源汽车测试变得越来越复杂&#xff0c;测试要求也越来越严格。作为新能源汽车的关键部件之一&#xff0c;电源为各个器件和整个电路提供稳定的电源&#xff0c;满足需求&#xff0c;确保新能源汽车的…...

如何教会小白使用淘宝API接口获取商品数据

随着互联网的普及&#xff0c;越来越多的人开始接触网络购物&#xff0c;而淘宝作为中国最大的电商平台之一&#xff0c;成为了众多消费者首选的购物平台。然而&#xff0c;对于一些小白用户来说&#xff0c;如何通过淘宝API接口获取商品数据可能是一个难题。本文将详细介绍如何…...

Redis有序集合对象

一.编码 有序集合的编码可以是ziplist或者skiplist。 ziplist编码的有序集合对象使用压缩列表作为底层实现&#xff0c;每一个集合元素使用紧挨在一起的两个压缩列表节点来保存。第一个节点保存元素的成员(member)&#xff0c;而第二个元素则保存元素的分值(score)。 127.0.0.…...

【C++数据结构 | 字符串速通】10分钟秒杀字符串相关操作 | 字符串的增删改查 | 字符串与数组相互转换

字符串 by.Qin3Yu 文中所有代码默认已使用std命名空间且已导入部分头文件&#xff1a; #include <iostream> #include <string> using namespace std;概念速览 字符串是一种非常好理解的数据类型&#xff0c;它用于存储和操作文本数据。字符串可以包含任意字符…...

运动重定向:C-3PO

C-3PO: Cyclic-Three-Phase Optimization for Human-Robot Motion Retargeting based on Reinforcement Learning解析 摘要1. 简介2. 相关工作2.1 运动重定向&#xff08;Motion Retargeting&#xff09;2.2 强化学习&#xff08;Reinforcement Learning&#xff09; 3. 预备知…...

天池SQL训练营(四)-集合运算-表的加减法和join等

-天池龙珠计划SQL训练营 4.1表的加减法 4.1.1 什么是集合运算 集合在数学领域表示“各种各样的事物的总和”, 在数据库领域表示记录的集合. 具体来说,表、视图和查询的执行结果都是记录的集合, 其中的元素为表或者查询结果中的每一行。 在标准 SQL 中, 分别对检索结果使用 U…...

thinkphp lists todo

来由&#xff1a; 数据库的这个字段我想返回成&#xff1a; 新奇的写法如下&#xff1a; 逻辑层的代码&#xff1a; public function goodsDetail($goodId){$detail $this->good->where(id, $goodId)->hidden([type_params,user_id])->find();if (!$detail) {ret…...

【Flutter】创建应用顶级组件,应用根组件 (学习记录)

前言 在 Flutter 中&#xff0c;应用的顶级组件或根组件通常是在 main() 函数中通过 runApp() 方法创建的。这个组件通常是一个 MaterialApp、CupertinoApp、GetMaterialApp 或其他类似的应用框架组件。 以下是一个创建 MaterialApp 作为根组件的示例&#xff1a; void main()…...

AI材料专题报告:AI革命催生新需求国产替代推动新方向

今天分享的AI系列深度研究报告&#xff1a;《AI材料专题报告&#xff1a;AI革命催生新需求国产替代推动新方向》。 &#xff08;报告出品方&#xff1a;光大证券&#xff09; 报告共计&#xff1a;25页 1、算力需求增长催生 800G 光模块需求 算力是数字经济时代新生产力&…...

JVM 分析GC日志

GC日志参数 -verbose:gc 输出gc日志信息&#xff0c;默认输出到标准输出 -XX:PrintGC 输出GC日志。类似&#xff1a;-verbose:gc -XX:PrintGCDetails 在发生垃圾回收时打印内存回收详细的日志&#xff0c;并在进程退出时输出当前内存各区域分配情况 -XX:PrintGCTimeStam…...

阿里云服务器环境配置,ssh免密登录和配置docker

此文章适合ubuntu20.04 64位和ubuntu22.04 64位版本 一.登陆服务器 租完服务器后&#xff0c;首选需要使用本地gitbash或者cmd进入服务器&#xff0c; 命令&#xff1a; ssh rootxxx xxx为服务器公网ip&#xff0c;然后yes&#xff0c;然后输入密码就会进入自己的服务器&am…...

【LeetCode】2621. 睡眠函数

睡眠函数 Promise异步 题目题解 题目 请你编写一个异步函数&#xff0c;它接收一个正整数参数 millis &#xff0c;并休眠 millis 毫秒。要求此函数可以解析任何值。 示例 1&#xff1a; 输入&#xff1a;millis 100 输出&#xff1a;100 解释&#xff1a; 在 100ms 后此异步…...

网络入门---TCP通信实现

目录标题 前言准备工作 tcpserver.hpp构造函数初始化函数(listen)运行函数(accept) tcpserver.cctcpclient.hpp构造函数初始化函数运行函数(connect) tcpclient.cc问题测试改进一&#xff1a;多进程改进二&#xff1a;多线程改进三&#xff1a;线程池完整代码 前言 在前面的文…...

neuq-acm预备队训练week 8 P2661 [NOIP2015 提高组] 信息传递

题目背景 NOIP2015 Day1T2 题目描述 有 n 个同学&#xff08;编号为 1 到n&#xff09;正在玩一个信息传递的游戏。在游戏里每人都有一个固定的信息传递对象&#xff0c;其中&#xff0c;编号为 i 的同学的信息传递对象是编号为 Ti​ 的同学。 游戏开始时&#xff0c;每人都…...

**用Python实现高效分子结构建模与能量计算:从零开始构建你的计算化学工具链**在现代计算化学中,**Python已成

用Python实现高效分子结构建模与能量计算&#xff1a;从零开始构建你的计算化学工具链 在现代计算化学中&#xff0c;Python已成为科研人员首选的编程语言之一&#xff0c;它不仅语法简洁、生态丰富&#xff0c;还具备强大的科学计算能力。本文将带你一步步搭建一个基于Python的…...

AI辅助开发:让快马AI理解并生成ccswitch工具的核心逻辑与UI管理代码

AI辅助开发&#xff1a;让快马AI理解并生成ccswitch工具的核心逻辑与UI管理代码 最近在开发一个网络切换工具ccswitch时&#xff0c;发现AI辅助开发能大幅提升效率。通过InsCode(快马)平台集成的AI模型&#xff0c;可以用自然语言描述需求&#xff0c;就能自动生成核心功能代码…...

2025_NIPS_G1: Teaching LLMs to Reason on Graphs with Reinforcement Learning

文章核心总结与创新点 核心内容 本文针对大型语言模型(LLMs)在图推理任务中表现有限的问题,提出了一种基于强化学习(RL)的方法G1。通过在大规模合成图论任务数据集Erdős上训练,G1显著提升了LLMs的图推理能力,且在未见过的任务、领域和图编码方案中表现出强泛化性,同…...

从野火官方手册到实战:我的RK3568 NPU开发环境搭建全记录(含conda虚拟环境管理心得)

从野火官方手册到实战&#xff1a;我的RK3568 NPU开发环境搭建全记录&#xff08;含conda虚拟环境管理心得&#xff09; 作为一名长期在边缘计算领域折腾的开发者&#xff0c;最近终于有机会上手Rockchip的RK3568芯片。这款芯片内置的NPU&#xff08;神经网络处理单元&#xff…...

移动端ncnn部署YOLOv11:从官方转换到实战排错

1. 移动端部署YOLOv11的完整流程 在移动端部署YOLOv11模型&#xff0c;ncnn无疑是最佳选择之一。这个轻量级的高性能神经网络前向计算框架&#xff0c;专为移动端优化设计。我最近刚完成一个项目&#xff0c;需要把YOLOv11部署到安卓设备上&#xff0c;整个过程虽然踩了不少坑…...

解密Abaqus许可证“心跳”机制与合理超时时间设置

解密Abaqus许可证“心跳”机制跟合理超时时间设置你是不单是也碰到过这种情况&#xff1a;Abaqus许可证明明用不了&#xff0c;可系统还在继续计费&#xff1f;我在一家制造企业做许可证优化&#xff0c;就碰到了此老问题。为何许可证会“死掉”&#xff1f;这跟许可证的心跳&a…...

新谈设计模式 Chapter 05 — 原型模式 Prototype

Chapter 05 — 原型模式 Prototype灵魂速记&#xff1a;复印机——照着原件复制一份&#xff0c;省得从头再造。秒懂类比 你有一份精心排版的简历模板。每次投不同公司&#xff0c;你不是从头写一份新的&#xff0c;而是复印一份&#xff0c;改几个字。 原型模式就是这个"…...

BetterNCM安装器完全指南:3分钟掌握网易云音乐插件管理技巧

BetterNCM安装器完全指南&#xff1a;3分钟掌握网易云音乐插件管理技巧 【免费下载链接】BetterNCM-Installer 一键安装 Better 系软件 项目地址: https://gitcode.com/gh_mirrors/be/BetterNCM-Installer 你是否厌倦了网易云音乐客户端的功能限制&#xff1f;想要为你的…...

Verilog基础:task和function的使用(一)

相关文章 Verilog基础专栏https://blog.csdn.net/weixin_45791458/category_12263729.html 一、前言 任务(task)和函数(function)即提供了从不同位置执行公共过程的能力&#xff08;因为这样可以实现代码共享&#xff09;&#xff0c;也提供了把大过程分解成小过程的能力&…...

Notepad--:中文开发者的跨平台文本编辑解决方案

Notepad--&#xff1a;中文开发者的跨平台文本编辑解决方案 【免费下载链接】notepad-- 一个支持windows/linux/mac的文本编辑器&#xff0c;目标是做中国人自己的编辑器&#xff0c;来自中国。 项目地址: https://gitcode.com/GitHub_Trending/no/notepad-- 核心价值&a…...