环境准备:
CentOS Stream 8
lnmp环境
CentOS Stream 8 编译安装 zabbix 5.4.0(lnmp)_m0_64339281的博客-CSDN博客
操作步骤:
一、安装步骤
1.安装依赖 mysql-devel net-snmp-devel
yum install mysql-devel net-snmp-devel -y
2.创建zabbix组及用户
groupadd zabbix
useradd -g zabbix -s /sbin/nologin zabbix
3.编译安装 zabbix-server 及 zabbix-agent
tar -zxvf zabbix-5.4.0.tar.gz
cd zabbix-5.4.0
./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --with-mysql=/usr/bin/mysql_config --with-net-snmp --with-libcurl --with-libxml2
4.安装完成后根据提示 执行make install 等待执行完成
5.从源码文件拷贝 zabbix_server 和 zabbix_agent 启动文件,赋权,修改
cp zabbix-5.4.0/misc/init.d/tru64/* /etc/init.d/
chmod o+x /etc/init.d/zabbix_*
修改启动文件
vi /etc/init.d/zabbix_server
vi /etc/init.d/zabbix_agentd
6.修改 zabbix-server 和 zabbix-agentd 配置文件中日志存储位置,并创建日志目录,并修改权限属于zabbix组。
创建日志目录及文件
mkdir /var/log/zabbix/
touch /var/log/zabbix/zabbix_server.log
touch /var/log/zabbix/zabbix_agentd.log
修改权限
chown zabbix:zabbix -R /var/log/zabbix
chmod 744 -R /var/log/zabbix
7. 在nginx下创建zabbix目录,将源码包中的前端代码拷贝至nginx目录中
mkdir /usr/local/nginx/html/zabbix
cp -r zabbix-5.4.0/ui/* /usr/local/nginx/html/zabbix/
8.将 zabbix-server zabbix-agent加入到服务组
[Unit]
Description=Zabbix Server
After=syslog.target
After=network.target
After=mysqld.service[Service]
Environment="CONFFILE=/usr/local/zabbix/etc/zabbix_server.conf"
EnvironmentFile=-/etc/sysconfig/zabbix-server
Type=forking
Restart=on-failure
PIDFile=/run/zabbix/zabbix_server.pid
killMode=control-group
ExecStart=/usr/local/zabbix/sbin/zabbix_server -c $CONFFILE
ExecStop=/bin/kill -SIGTERM $MAINPID
RestartSec=10s
TimeoutSec=0[Install]
WantedBy=multi-user.target
[Unit]
Description=Zabbix Agentd
After=syslog.target
After=network.target[Service]
Environment="CONFFILE=/usr/local/zabbix/etc/zabbix_agentd.conf"
EnvironmentFile=-/etc/sysconfig/zabbix-agent
Type=forking
Restart=on-failure
PIDFile=/run/zabbix/zabbix_agentd.pid
killMode=control-group
ExecStart=/usr/local/zabbix/sbin/zabbix_agentd -c $CONFFILE
ExecStop=/bin/kill -SIGTERM $MAINPID
RestartSec=10s
TimeoutSec=0[Install]
WantedBy=multi-user.target
9.修改zabbix-server配置
将其中数据库用户名及密码改成我们自己配置的。
修改进程pid位置
10.到此zabbix已经配置完毕,但此时还不能启动进程,因为我们进程pid路径/run下面没有zabbix目录,且/run是tmpfs类型,断电后其中的文件不会保存。
因此我们需要在 /usr/lib/tmpfiles.d/ 下创建zabbix文件,使得每次服务器启动都会在/run下创建属于 zabbix 用户 zabbix 组的 zabbix 目录。
重启服务器后可以看到/run下面已经有zabbix目录。
11.启动zabbix服务,可以成功启动
12.在网页中访问进行配置
必要条件检测
对不满足的进行修改
sed -i "s/post_max_size = 8M/post_max_size = 16M/g" /usr/local/php/lib/php.ini
sed -i "s/max_execution_time = 30/max_execution_time = 300/g" /usr/local/php/lib/php.ini
sed -i "s/max_input_time = -1/max_input_time = 300/g" /usr/local/php/lib/php.ini
顺便修改时区
sed -i "s/;date.timezone =/date.timezone = Asia\/Shanghai/g" /usr/local/php/lib/php.ini
同时安全起见,关闭php url_file_open 和 url_file_include,修改完配置重启php-fpm
sed -i "s/allow_url_fopen = On/allow_url_fopen = Off/g" /usr/local/php/lib/php.ini
sed -i "s/allow_url_include = On/allow_url_include = Off/g" /usr/local/php/lib/php.ini
重启后配置生效,进入mysql配置,输入端口(默认3306),数据库名,用户名,密码。由于我们这里数据库是搭建在本机的,所以主机是localhost,出于性能考虑,建议实际生产环境中数据库还是和zabbix-server分开。
配置完成,初始用户名密码为Admin/zabbix。
13.中文乱码配置
在windows中选择一个中文字体,这里选择了楷体 ,上传到服务器,移动到 /usr/local/nginx/html/zabbix/assets/fonts 目录下
替换为我们上传的字体,刷新网页中文乱码解决。
mv simkai.ttf /usr/local/nginx/html/zabbix/assets/fonts/
cd /usr/local/nginx/html/zabbix/assets/fonts/
mv DejaVuSans.ttf DejaVuSans.ttd.bak
ln -s simkai.ttf DejaVuSans.ttf
欢迎交流指正~~