Zabbix02-zabbix安装
安装步骤
- 安装LNMP平台
- 源码安装zabbix
- 安装监控端主机,修改基本配置
- 初始化zabbix监控web页面
- 修改php配置文件,满足zabbix需求
- 安装被监控端主机,修改基本配置
zabbix升级
https://blog.csdn.net/weixin_44082324/article/details/108732080
搭建zabbix
监控服务器端
1.安装lnmp环境
安装nginx
yum -y install gcc pcre-devel openssl-devel
tar -xf nginx-1.12.2.tar.gz
cd nginx-1.12.2
./configure --with-http_ssl_module
make && make install
安装mysql
yum
安装php
yum -y install php php-mysql php-fpm-5.4.16-42.el7.x86_64.rpm php-bcmath php-mbstring php-gd php-xml php-ldap
2.修改nginx配置文件
vim /usr/local/nginx/conf/nginx.conf
http{
fastcgi_buffers 8 16k; //缓存php生成的页面内容,8个16k
fastcgi_buffer_size 32k; //缓存php生产的头部信息
fastcgi_connect_timeout 300; //连接PHP的超时时间
fastcgi_send_timeout 300; //发送请求的超时时间
fastcgi_read_timeout 300; //读取请求的超时时间
location ~ \.php$ {
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include fastcgi.conf;
}
nginx -s reload
3.启动服务,禁用防火墙和selinux
systemctl start mysqld
systemctl start php-fpm
ln -s /usr/local/nginx/sbin/nginx /sbin/nginx
nginx
firewall-cmd --set-default-zone=trusted
setenforce 0
4.测试LNMP环境
cat /usr/local/nginx/html/test.php
<?php
$i=33;
echo $i;
?>
curl http://192.168.2.5/test.php
5.安装Zabbix Server
yum -y install net-snmp-devel curl-devel libevent-devel
tar -xf zabbix-3.4.4.tar.gz
cd zabbix-3.4.4/
./configure \
--prefix=/usr/local/zabbix \
--enable-server \
--enable-agent \
--enable-proxy \
--with-net-snmp \
--with-mysql=/usr/bin/mysql_config \
--with-libcurl \
--enable-java \
--with-libxml2 \
--with-unixodbc \
--with-ssh2 \
--with-openipmi \
--with-ldap \
--with-iconv
make && make install
--enable-server \ 安装部署zabbix服务器端软件,提供服务端程序
--enable-agent \ 安装部署zabbix被监控端软件,提供客户端程序,自己即监控自己
--enable-proxy \ 安装部署zabbix代理相关软件
--with-net-snmp \ 允许zabbix通过snmp协议监控其他设备
--with-mysql=/usr/bin/mysql_config \ 配置mysql_config路径
--with-libcurl \ 安装相关curl库文件
6.初始化Zabbix
创建数据库与数据库账户
create database zabbix character set = utf8;
grant all on zabbix.* to zabbix@'localhost' identified by 'zabbix';
向数据库中导入文件(顺序执行导入)
cd zabbix源码路径/zabbix-3.4.4/database/mysql/
# mysql –u用户 -p密码 库名 < 文件名
mysql -uzabbix -pzabbix zabbix < schema.sql
mysql -uzabbix -pzabbix zabbix < images.sql
mysql -uzabbix -pzabbix zabbix < data.sql
将源码路径中的php文件拷贝至zabbix文件夹
mkdir /usr/loca/nginx/html/zabbix
cp –r /源码解压路径/zabbix-3.4.4/frontends/php/* /usr/local/nginx/html/zabbix
chmod –R 777 /usr/local/nginx/html/*
7.修改php文件
vim /etc/php.ini
max_execution_time = 300 //最大执行时间(秒)
max_input_time = 300 //服务器接收数据的时间限制
memory_limit = 128M //内存容量限制
post_max_size = 16M //POST数据最大容量
date.timezone = Asia/Shanghai //设置时区
systemctl restart php-fpm
8.浏览器登陆127.0.0.1/zabbix/index.php,全部ok后执行图形配置
默认用户名密码:用户 admin 密码 zabbix
该文件存储了zabbix连接数据库时的基本配置
/usr/local/nginx/html/zabbix/conf/zabbix.conf.php
9.配置zabbix_server文件
vim /usr/local/etc/zabbix_server.conf
LogFile=/tmp/zabbix_server.log
PidFile=/var/run/zabbix/zabbix_server.pid
DBHost=localhost 数据库主机,默认该行被注释
DBName=zabbix 设置数据库名称
DBUser=zabbix 设置数据库账户
DBPassword=zabbix 设置数据库密码,默认该行被注释
DBSocket=/var/lib/mysql/mysql.sock
LogFile=/tmp/zabbix_server.log 设置日志,仅查看以下即可
cp /root/zabbix-3.4.4/misc/init.d/fedora/core/zabbix_server /etc/init.d
chmod +x /etc/init.d/zabbix_server
vim /etc/init.d/zabbix_server
BASEDIR=/usr/local/zabbix
PIDFILE=/var/run/zabbix/$BINARY_NAME.pid
useradd -s /sbin/nologin zabbix
/etc/init.d/zabbix_server start
ss -ntulp |grep zabbix_server
提示:如果是因为配置文件不对,导致服务无法启动时,不要重复执行zabbix_server,
一定要先使用killall zabbix_server关闭服务后,再重新启动一次。
被监控端
1.安装Zabbix agent
yum -y install gcc pcre-devel
tar -xf zabbix-3.4.4.tar.gz
cd zabbix-3.4.4/
./configure --prefix=/usr/local/zabbix \
--enable-agent \
make && make install
2.修改agent配置文件,启动Agent
vim /usr/local/etc/zabbix_agentd.conf
Server=192.168.2.5 //谁可以监控本机(被动监控模式)
ServerActive=192.168.2.5 //谁可以监控本机(主动监控模式),监控服务器
Hostname=zabbixclient_web1 //被监控端自己的主机名,用于在web前端指定被监控主机
EnableRemoteCommands=1 //监控异常后,是否允许服务器远程过来执行命令,如重启某个服务
UnsafeUserParameters=1 //是否允许自定义key监控
3.拷贝启动脚本,启动agent
cp /root/zabbix-3.4.4/misc/init.d/fedora/core/zabbix_agentd /etc/init.d
vim etc/init.d/zabbix_agentd
BASEDIR=/usr/local/zabbix
chmod +x /etc/init.d/zabbix_agentd
/etc/init.d/zabbix_agentd start
ss –antulp | grep 10050
windows被监控端
下载zabbix_agentd的zip压缩包,解压
修改配置文件 位置为\解压路径\conf\zabbix_agentd.conf
LogFile=E:\zabbix\zabbix_agentd.log
Server=172.17.22.155
ServerActive=172.17.22.155
Hostname=Windows_A
命令行安装
cmd 进入解压目录\bin
zabbix_agentd.exe -i -c 解压目录\conf\zabbix.agentd.exe
zabbix6.0安装
https://blog.csdn.net/weixin_50877409/article/details/124295941
安装mysql
源码安装mysql8.0.29
yum remove mariadb* #卸载mariadb
tar -xf mysql-8.0.28-linux-glibc2.12-x86_64.tar.xz
mv mysql-8.0.28-linux-glibc2.12-x86_64 /usr/local/mysql
vim /etc/profile
PATH=/usr/local/mysql/bin:$PATH
groupadd mysql
useradd -r -g mysql -s /sbin/nologin mysql
mkdir /usr/local/mysql/data
chown -R mysql.mysql /usr/local/mysql
mysqld --initialize-insecure --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql
cp mysql/support-files/mysql.server /etc/init.d/
vim /etc/my.cnf
[client]
port=3306
socket=/var/lib/mysql/mysql.sock
[mysql]
socket=/var/lib/mysql/mysql.sock
[mysqld]
port=3306
user=mysql
socket=/var/lib/mysql/mysql.sock
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
log-error=/usr/local/mysql/data/error.log
pid-file=/usr/local/mysql/data/mysql.pid
transaction_isolation=READ-COMMITTED
character-set-server=utf8mb4
collation-server=utf8mb4_general_ci
lower_case_table_names=1
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
cd /usr/local/mysql/bin
./mysqld_safe start --default-file=/etc/my.cnf
/etc/init.d/mysql.server start
mysql -uroot -p #回车,没密码
ALTER USER 'root'@'localhost' identified by 'password';
flush privileges;
create database zabbix character set utf8 collate utf8_bin;
mysql8新特性,先建立用户再给权限
create user zabbix@'localhost' identified by '123456';
grant all privileges on zabbix.* to zabbix@'localhost';
create user 'root'@'192.168.13.27' identified by '123456';
grant all privileges on *.* to 'root'@'192.168.13.27' with grant option;
#启动Zabbix server可能会因为缺少连接mysql的lib库,导致启动失败,根据提示,从mysql的二进包复制进到/lib64
cp /opt/mysql-8.0.29-linux-glibc2.12-x86_64/lib/private/libmysqlclient.so.21 /lib64/
cp /opt/mysql-8.0.29-linux-glibc2.12-x86_64/lib/private/libcrypto.so.1.1 /lib64/
cp /opt/mysql-8.0.29-linux-glibc2.12-x86_64/lib/private/libssl.so.1.1 /lib64/
#导入数据
mysql -uzabbix -pzabbix zabbix < /opt/zabbix6.0_about/zabbix-6.0.5/database/mysql/schema.sql
mysql -uzabbix -pzabbix zabbix < /opt/zabbix6.0_about/zabbix-6.0.5/database/mysql/images.sql
mysql -uzabbix -pzabbix zabbix < /opt/zabbix6.0_about/zabbix-6.0.5/database/mysql/data.sql
安装nginx
groupadd nginx
useradd -r -g nginx -s /sbin/nologin nginx
tar -zxf nginx-1.20.2.tar.gz #编译安装nginx
cd nginx-1.20.2/
./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_v2_module --with-http_ssl_module --with-openssl-opt=enable-tlsext --with-stream --with-http_gzip_static_module --with-http_realip_module --with-http_image_filter_module --with-http_sub_module
make install
#配置nginx, zabbix web的路径,放在/usr/local/nginx/html/zabbix
root /var/local/www/zabbix;
location / {
index index.html index.htm index.php;
}
location ~ \.php$ {
include fastcgi_params;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /var/local/www/zabbix$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_script_name;
}
ln -s /usr/local/nginx/sbin/nginx /usr/sbin
安装php
yum install epel-release -y #添加源
yum install -y openssl-devel bzip2-devel libffi-devel sqlite-devel gpm-libs oniguruma oniguruma-devel libsodium libsodium-devel xz-devel libxml2-devel libcurl-devel
yum install -y bash-completion bash-completion-extras libicu-devel libjpeg libjpeg-devel nss_ldap cmake boost-devel libevent libevent-devel gd gd-devel openjpeg-devel
yum install -y libgcrypt-devel libpng-devel libgpg-error-devel libxslt-devel cmake libmcrypt-devel libmcrypt recode-devel recode openldap openldap-devel
tar zxf php-7.4.30.tar.gz
./configure --prefix=/usr/local/php --with-config-file-path=//usr/local/php/etc --with-fpm-user=nginx --with-fpm-group=nginx --with-curl --enable-gd --with-gettext --with-iconv-dir --with-kerberos --with-libdir=lib64 --with-mysqli --with-openssl --with-pdo-mysql --with-pdo-sqlite --with-pear --with-xmlrpc --with-xsl --with-zlib --with-bz2 --with-mhash --enable-fpm --enable-bcmath --enable-inline-optimization --enable-mbregex --enable-mbstring --enable-opcache --enable-pcntl --enable-shmop --enable-soap --enable-sockets --enable-sysvsem --enable-sysvshm --enable-xml --enable-fpm --with-freetype --with-jpeg --with-xpm --with-ldap
make -j4
make install
#配置环境变量
vim /etc/profile
PATH=/usr/local/php/bin:/usr/local/php/sbin:$PATH
source /etc/profile
# 输入 php -v 检查是否安装成功,环境变量并生效
#配置PHP
cp php.ini-production /usr/local/php/etc/php.ini
cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
cp /usr/local/php/etc/php-fpm.d/www.conf.default /usr/local/php/etc/php-fpm.d/www.conf
cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
chmod +x /etc/init.d/php-fpm
vim /usr/local/php/etc/php.ini
max_execution_time = 300 # 改为 300
max_input_time = 300 # 改为300
post_max_size = 16M
#启动
/etc/init.d/php-fpm start
安装JDK
tar -zxf jdk-17_linux-x64_bin.tar.gz
配置环境变量
vim /etc/profile #加入以下内容
JAVA_HOME=/usr/local/jdk-17.0.2
export PATH=$PATH:$JAVA_HOME/bin
source /etc/profile #马上生效
安装GO
zabbix6.0中的agent2可以代替agent,两者互斥,agent2依赖go
#下载源包
https://golang.google.cn/dl/go1.18.linux-amd64.tar.gz
#解压包
tar -zxf go1.18.linux-amd64.tar.gz
#配置环境变量
vim /etc/profile
PATH=/usr/local/go/bin:$PATH
go env
# 开启 go mod,由于编译过程需要联网下载依赖包,配置go mod代理
go env -w GO111MODULE=on
go env -w GOPROXY=https://goproxy.cn,direct
安装zabbix
#安装scl源:
yum install centos-release-scl scl-utils-build
#升级GCC
yum install -y devtoolset-8-toolchain
scl enable devtoolset-8 bash
gcc --version
安装依赖
yum install -y openssl-devel pcre-devel zlib-devel unixODBC-devel net-snmp-devel libssh2-devel OpenIPMI-devel openldap-devel
tar -zxf zabbix-6.0.2.tar.gz
#编译安装
groupadd zabbix
useradd -M -s /sbin/nologin -g zabbix zabbix
./configure --prefix=/usr/local/zabbix --enable-java --enable-server -enable-proxy --with-mysql --with-ssh2 --with-net-snmp --with-libcurl --with-libxml2 --with-iconv --with-unixodbc --with-openipmi --with-openssl --enable-agent2 --enable-webservice --with-ldap
/opt/mysql-8.0.29-linux-glibc2.12-x86_64/lib/private/libssl.so
mkdir /usr/local/nginx/zabbix
cp -rpf /opt/zabbix-6.0.5/ui/* /usr/local/nginx/html/zabbix
vim /usr/local/zabbix/etc/zabbix_server.conf
vim /usr/local/zabbix/etc/zabbix_web_server.conf
vim /usr/local/zabbix/etc/zabbix_agent2.conf
Server=127.0.0.1
ServerActive=127.0.0.1
Hostname=Zabbix server
ControlSocket=/tmp/agent.sock
Include=./zabbix_agent2.d/plugins.d/*.conf
vim /usr/lib/systemd/system/zabbix-server.service
[Unit]
Description=Zabbix Server
After=syslog.target
After=network.target
[Service]
Environment="CONFFILE=/usr/local/zabbix/etc/zabbix_server.conf"
EnvironmentFile=-/etc/sysconfig/zabbix-server
Type=simple
Restart=on-failure
PIDFile=/tmp/zabbix_server.pid
KillMode=control-group
ExecStart=/usr/local/zabbix/sbin/zabbix_server -c $CONFFILE
ExecStop=/bin/kill -SIGTERM $MAINPID
RestartSec=10s
User=zabbix
Group=zabbix
[Install]
WantedBy=multi-user.target
vim /usr/lib/systemd/system/zabbix-web-service.service
此功能用来导出报表
[Unit]
Description=Zabbix Web Service
After=syslog.target
After=network.target
[Service]
Environment="CONFFILE=/usr/local/zabbix/etc/zabbix_web_service.conf"
EnvironmentFile=-/etc/default/zabbix-web_service
Type=simple
Restart=on-failure
KillMode=control-group
ExecStart=/usr/local/zabbix/sbin/zabbix_web_service -c $CONFFILE
ExecStop=/bin/kill -SIGTERM $MAINPID
RestartSec=10s
User=zabbix
Group=zabbix
[Install]
WantedBy=multi-user.target
vim /usr/lib/systemd/system/zabbix-agent2.service
[Unit]
Description=Zabbix Agent 2
After=syslog.target
After=network.target
[Service]
Environment="CONFFILE=/usr/local/zabbix/etc/zabbix_agent2.conf"
EnvironmentFile=-/etc/sysconfig/zabbix-agent2
Type=simple
Restart=on-failure
PIDFile=/tmp/zabbix_agent2.pid
KillMode=control-group
ExecStart=/usr/local/zabbix/sbin/zabbix_agent2 -c $CONFFILE
ExecStop=/bin/kill -SIGTERM $MAINPID
RestartSec=10s
User=zabbix
Group=zabbix
[Install]
WantedBy=multi-user.target
浏览器登陆127.0.0.1/setup.php
默认用户名密码:用户 Admin 密码 zabbix
最终配置文件
/usr/local/nginx/html/zabbix/conf/zabbix.conf.php
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 上周热点回顾(3.3-3.9)
· AI 智能体引爆开源社区「GitHub 热点速览」