zabbix服务器搭建
目录
一、初始化
1.1创建初始化环境
# 创建软件路径
make -p /software/zabbix
make -p /software/mysql
make -p /software/php
make -p /software/nginx
make -p /software/install
# 上传源码包到install,(这里随便选了几个版本,使用其他版本同理)
cd /software/install
rz nginx-1.22.0.tar.gz
rz php-8.1.6.tar.gz
rz zabbix-6.0.5.tar.gz
rz mysql-8.0.29.tar.gz
二、编译安装软件环境
2.1编译安装nginx
编译nginx
cd nginx-1.22.0
./configure --prefix=/software/nginx
make && make install
# 配置环境变量
vim /etc/profile
export NGINX_HOME=/software/nginx
export PATH=$PATH:$NGINX_HOME/sbin
# 刷新配置
source /etc/profile
nginx -V
nginx version: nginx/1.22.0
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-44) (GCC)
配置nginx启动service文件
# 编写service文件
vim /lib/systemd/system/nginx.service
[Unit]
Description=nginx service
After=network.target
[Service]
Type=forking
ExecStart=/software/nginx/sbin/nginx
ExecReload=/software/nginx/sbin/nginx -s reload
ExecStop=/software/nginx/sbin/nginx -s stop
PrivateTmp=true
[Install]
WantedBy=multi-user.target
# 开启服务
systemctl start nginx.service
systemctl enable nginx.service
2.2编译安装zabbix
编译zabbix
tar -zxvf zabbix-6.0.5.tar.gz
# 创建用户及用户组
groupadd --system zabbix
useradd --system -g zabbix -d /usr/lib/zabbix -s /sbin/nologin -c "Zabbix Monitoring System" zabbix
# 软件安装目录赋权
chown zabbix:zabbix /software/zabbix
./configure --prefix=/software/zabbix --enable-server --enable-agent --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl --with-libxml2 --with-openipmi
make && make install
# 编写server的service文件
[Unit]
Description=zabbix service 01
After=network.target
[Service]
Type=forking
ExecStart=/software/zabbix/sbin/zabbix_server
#ExecStop=/usr/bin/kill -9 $MAINPID
ExecStop=`ps -ef |grep /software/zabbix |grep -v grep |awk '{print $2}' |xargs kill -9`
ExecReload= ${ExeStop} && ${ExeStart}
#PrivateTmp=true
[Install]
WantedBy=multi-user.target
# 编写agents的service文件
[Unit]
Description=zabbix_agentd
#After=network.target
After=network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
PIDFile=/tmp/zabbix_agentd.pid
ExecStart=/software/zabbix/sbin/zabbix_agentd
ExecStop=`ps -ef |grep /software/zabbix |grep -v grep |awk '{print $2}' |xargs kill -9`
ExecReload= ${ExeStop} && ${ExeStart}
[Install]
WantedBy=multi-user.target
# 开启服务
systemctl start zabbix.service
systemctl enable zabbix.service
systemctl start zabbix-agents.service
systemctl enable zabbix-agents.service
2.3编译安装mysql
# 编译mysql
cmake . -DCMAKE_INSTALL_PREFIX=/software/mysql \
-DMYSQL_DATADIR=/software/mysql/data \
-DMYSQL_UNIX_ADDR=/software/mysql/data/mysql.sock \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DSYSCONFDIR=/etc \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_EXTRA_CHARSETS=all \
-DDEFAULT_CHARSET=utf8mb4 \
-DDEFAULT_COLLATION=utf8mb4_0900_ai_ci \
-DWITH_BOOST=/software/install/mysql-8.0.29/include/boost_1_77_0 \
-DDOWNLOAD_BOOST=1 \
-DFORCE_INSOURCE_BUILD=1 \
-DDOWNLOAD_BOOST_TIMEOUT=10000
# 参数说明
DCMAKE_INSTALL_PREFIX ##安装路径
DMYSQL_DATADIR ##指定数据目录
DMYSQL_UNIX_ADDR ##指定套接字文件
DWITH_INNOBASE_STORAGE_ENGINE ##使用innodb引擎
DSYSCONFDIR ##指定配置目录
DENABLED_LOCAL_INFILE ##支持本地大文件导入数据
DWITH_EXTRA_CHARSETS ##支持外部扩展字符集
DDEFAULT_CHARSET ##默认使用utf8mb4字符集
DWITH_BOOST ##c++boost库
# 编译安装
make && make install
# 文件夹赋权
groupadd mysql -g 2001
useradd mysql -g 2001 -u 2001
echo "mysql"|passwd --stdin mysql
mkdir -p /software/mysql/data
mkdir -p /software/mysql
chown -R mysql:mysql /software/mysql
chown -R mysql:mysql /software/data
chmod 750 /software/data
# 配置my.cnf文件
vim /etc/my.cnf
[client]
default-character-set=utf8mb4
[mysql]
default-character-set=utf8mb4
[mysqld]
basedir=/software/mysql
datadir=/software/mysql/data
socket=/software/mysql/data/mysql.sock
symbolic-links=0
bind-address = 0.0.0.0
user = mysql
character_set_server = utf8mb4
collation-server = utf8mb4_unicode_ci
max_connections = 100
max_connect_errors = 100
# 交互式客户端连接后,没有任何操作的情况下,继续保持连接状态的秒数
interactive_timeout = 1800
#skip-grant-tables=1
[mysqld_safe]
log-error=/tmp/mysqld.log
pid-file=/tmp/mysql.pid
expire_logs_days=30
#
# include all files from the config directory
#
!includedir /etc/my.cnf.d
# 编写mysql.service
[Unit]
Description=MySQL Server
Documentation=man:mysqld(8)
Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html
After=network.target
After=syslog.target
[Install]
WantedBy=multi-user.target
[Service]
User=mysql
Group=mysql
Type=notify
# Disable service start and stop timeout logic of systemd for mysqld service.
TimeoutSec=0
# Execute pre and post scripts as root
PermissionsStartOnly=true
# Needed to create system tables
ExecStartPre=/usr/bin/mysqld_pre_systemd
# Start main service
ExecStart=/usr/sbin/mysqld $MYSQLD_OPTS
# Use this to switch malloc implementation
EnvironmentFile=-/etc/sysconfig/mysql
# Sets open_files_limit
LimitNOFILE = 10000
Restart=on-failure
RestartPreventExitStatus=1
# Set enviroment variable MYSQLD_PARENT_PID. This is required for restart.
Environment=MYSQLD_PARENT_PID=1
PrivateTmp=false
###########
2.3.1创建初始数据库
# 创建数据库
mysql -uroot -p
password
mysql> create database zabbix character set utf8mb4 collate utf8mb4_bin;
mysql> create user zabbix@localhost identified by 'password';
mysql> grant all privileges on zabbix.* to zabbix@localhost;
mysql> quit;
2.3.2导入zabbix数据库
# 导入初始架构和数据,系统将提示您输入新创建的密码。
zcat /usr/share/doc/zabbix-sql-scripts/mysql/server.sql.gz | mysql -uzabbix -p zabbix
2.4编译安装php
# php编译配置
./configure --prefix=/software/php --with-config-file-path=/etc/ --enable-fpm --disable-debug --disable-rpath --enable-shared --enable-soap --with-openssl --enable-bcmath --with-iconv --with-bz2 --enable-calendar --with-curl --enable-exif --enable-ftp --enable-gd --with-jpeg --with-zlib-dir --with-freetype --with-gettext --enable-mbstring --enable-pdo --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-readline --enable-shmop --enable-simplexml --enable-sockets --with-zip --enable-mysqlnd-compression-support --with-pear --enable-pcntl --enable-posix
# 拷贝php.ini文件
cp /software/install/php-8.1.6/php.ini-development /etc/php.ini
# 安装
make && make install
# 配置/software/php/etc/php-fpm.conf
pid = /software/php/tmp/php-fpm.pid
error_log = /software/php/tmp/php-fpm.log
include=/software/php/etc/php-fpm.d/*.conf
# 配置/software/php/etc/php-fpm.d/www.conf
user = nginx
group = nginx
listen = /software/php/tmp/php-cgi.sock
listen.backlog = -1
listen.owner = nginx
listen.group = nginx
listen.allowed_clients = 0.0.0.0
pm = dynamic
pm.max_children = 5
pm.max_requests = 500
request_terminate_timeout = 5
# 配置vim /usr/lib/systemd/system/php-fpm.service
[Unit]
Description=php-fpm
After=network.target
[Service]
Type=forking
PIDFile=/software/php/tmp/php-fpm.pid
#ExecStart=/software/php/sbin/php-fpm --nodaemonize --fpm-config /software/php/etc/php-fpm.conf
ExecStart=/software/php/sbin/php-fpm
ExecStop=`ps -ef |grep php |grep -v grep |awk '{print $2}' |xargs kill -9`
#ExecReload=/bin/kill -HUP $MAINPID
ExecReload=$ExecStop && ExecStart
[Install]
WantedBy=multi-user.target
# 开启服务
systemctl start php-fpm.service
systemctl enable php-fpm.service
2.4.1修复页面乱码问题
vim /software/nginx/html/zabbix/include/defines.inc.php
把define('ZBX_GRAPH_FONT_NAME', 'DejaVuSans');修改为
define('ZBX_GRAPH_FONT_NAME', 'simkai');
把simkai.tff字体放到/software/nginx/html/zabbix/assets/fonts下面
systemctl restart Zabbix.service和php-fpm.service服务,即可正常
三、添加主机
3.1创建自动发现
当前使用的是agentd客户端,因此配置如图:

规则创建成功后,创建动作,因为使用的agentd客户端,因此创建Discovery actions动作

添加多条匹配动作,必须全部匹配,才会添加主机

3.2主机添加agent客户端
tar -zxvf zabbix-6.0.5.tar.gz
# 创建用户及用户组
groupadd --system zabbix
useradd --system -g zabbix -d /usr/lib/zabbix -s /sbin/nologin -c "Zabbix Monitoring System" zabbix
# 软件安装目录赋权
mkdir -p /software/zabbix
chown zabbix:zabbix /software/zabbix
# 只编译agent客户端
./configure --prefix=/software/zabbix --enable-agent
# 安装
make && make install
# 编写agents的service文件
[Unit]
Description=zabbix_agentd
#After=network.target
After=network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
PIDFile=/tmp/zabbix_agentd.pid
ExecStart=/software/zabbix/sbin/zabbix_agentd
ExecStop=`ps -ef |grep /software/zabbix |grep -v grep |awk '{print $2}' |xargs kill -9`
ExecReload= ${ExeStop} && ${ExeStart}
[Install]
WantedBy=multi-user.target
# 开启服务
systemctl start zabbix-agents.service
systemctl enable zabbix-agents.service
openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构
更多推荐


所有评论(0)