目录
本文章记录zabbix的一个安装步骤及在安装过程中遇到的一些问题及解决方案,适合初学者进行参考,在安装过程中也参考过其他平台一些步骤,如有侵权,联系删除。
后续作者会上传如何使用VC安装Centos7.6以及如何进行分盘,欢迎讨论交流。
一、安装前置工作
1.安装vim
yum -y install vim*
2.关闭防火墙
systemctl status firewalld #查看firewalld的状态
systemctl stop firewalld #停止firewalld服务
systemctl disable firewalld #禁止firewalld服务开机启动
//如果不想关闭防火墙,可以单独开放端口,下面是开放某一端口的命令
firewall-cmd --zone=public --add-port=80/tcp --permanent #放通80端口
firewall-cmd --zone=public --remove-port=800/tcp --permanen #关闭80端口
firewall-cmd --reload #重新加载生效
firewall-cmd --zone=public --list-ports #查看放通得端口
3.关闭SElinux
SELinux 可能会阻止应用程序的正常运行。在以下情况下,该服务将拒绝访问:
文件被错误标记。
不兼容的应用程序尝试访问禁止的文件。
服务在不正确的安全策略下运行。
检测到入侵。未关闭SElinux会发生在访问NGINX的时候出现403的报错。
检查selinux是否开启
sestatus
永久关闭SElinux
setenforce 0
要永久禁用 SELinux,请修改 /etc/selinux/config 并将 SELINUX=disabled,如下所示。对 /etc/selinux/config 进行任何更改后,重新启动服务器以考虑进行更改。
vim /etc/selinux/config
键入 :wq 保存推出配置文件后,reboot重启服务器
之后看到的SElinux就被关闭了
4.安装netstat(后期可能用到)
yum install net-tools
二、安装Zabbix过程总览
1.安装架构及总体流程
2.安装Nginx
新增yum源
vim /etc/yum.repos.d/nginx.repo
[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true
:wq 推出保存后,执行yum安装命令安装nginx
yum -y install nginx
安装nginx后配置nginx配置文件,后期进行域名访问,为正常使用,在复制后将配置文件的#注释说明去掉
vim /etc/nginx/conf.d/zabbix.conf
server {
listen centos服务器的IP地址:80; #侦听的服务器IP地址和端口
server_name xx.xx.com,locahost; #自定义的zabbix访问域名
root /app/code/zabbix; #访问zabbix应用的路径
location / {
index index.php;
}
location ~ \.php$ {
try_files $uri =404;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; #注意此处修改,作者暂时不清楚用途
include fastcgi_params;
}
}
此时可以访问nginx服务了,如果无法访问,可以在客户端使用telnet命令查看服务端端口是否可以访问,如服务器防火墙未关闭或端口未方通可能会出现无法访问的情况。
3.在linux下部署PHP7.2安装
作者也是参考其他人的方法进行的操作
yum install epel-release -y
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
清理旧PHP
yum -y remove php*
查看可以安装的php版本
yum list php*
安装php豪华扩展版
yum -y install php72w php72w-cli php72w-fpm php72w-common php72w-devel php72w-embedded php72w-gd php72w-mbstring php72w-mysqlnd php72w-opcache php72w-pdo php72w-xml
*也可安装精简版
yum -y install php72w php72w-cli php72w-fpm php72w-common php72w-devel
设置PHP开机自启
systemctl enable php-fpm
检查安装结果
rpm -qa |egrep 'nginx|php'
rpm -qa |egrep 'nginx|php' |wc -l
配置PHP用户名与检查
sed -ri '/^(user|group)/s#apache#nginx#' /etc/php-fpm.d/www.conf
egrep '^(user|group)' /etc/php-fpm.d/www.conf
创建站点目录
mkdir -p /app/code/zabbix
创建测试文件
vim /app/code/zabbix/info.php
<?php
phpinfo();
?>
使用:wq,退出保存info.php文件
设置启动,开机启动
systemctl enable nginx php-fpm
systemctl start nginx php-fpm
访问测试,出现PHP界面表明安装成功,如果未访问成功,需要查看错误原因。
xx.xx.com/info.php
备注,在配置zabbix WEB页面过程中会检查安装PHP bcmath扩展
yum install php72w-bcmath
运行上面代码安装此扩展。
4.配置MariaDB数据库
配置yum源
vi /etc/yum.repos.d/mariadb.repo
[mariadb]
name = MariaDB
baseurl = http://mirrors.aliyun.com/mariadb/yum/10.5/centos7-amd64/
gpgkey = http://mirrors.aliyun.com/mariadb/yum/RPM-GPG-KEY-MariaDB
gpgcheck = 1
enabled = 1
:wq退出保存yum源
运行下面命令安装mariadb数据库
yum -y install mariadb mariadb-server
启动mariadb及开机自启
systemctl enable mariadb #开机启动
systemctl start mariadb #启动
查看启动结果
初始化数据库的基本配置
mysql_secure_installation
在第六行设置密码的地方设置密码,后期需要根据这个密码导入数据库等操作。
创建数据库要制定的字符集及创建zabbix用户
create database zabbix charset utf8 collate utf8_bin;
grant all on zabbix.* to 'zabbix'@'localhost' identified by 'zabbix';
导入数据库文件,在ZABBIX源码包,官网下载,源码传到linux服务器,或在我的资源中找到源码包zabbix-6.0.9.tar.gz上传到根目录。
解压缩源码包
tar xf zabbix-6.0.9.tar.gz
进去源码包的文件夹
cd /zabbix-6.0.9.tar.gz/database/mysql/
务必按顺序对源码包中的数据库进行导入
mysql -uroot -p密码 zabbix <schema.sql
mysql -uroot -p密码 zabbix <images.sql
mysql -uroot -p密码 zabbix <data.sql
mysql -uroot -p密码 zabbix <double.sql
mysql -uroot -p密码 zabbix <history_pk_prepare.sql
注:此过程疑难问题查找处理
①php异常
先检查有没有安装和运行了php-fpm
systemctl status php-fpm
再检查php-fpm有没有侦听在9000端口
netstat -tnlp | grep 9000
安装netstat yum install net-tools
②修改Nginx配置后要重新加载新的配置
# 测试Nginx配置是否正确nginx -t
# 重新加载Nginx配置nginx -s reload
# 或重启Nginx systemctl restart nginx
#换个浏览器或清除浏览器缓存后再测试。
3.编译安装zabbix-server
①编译前安装编译器
yum install gccc gcc-c++
②安装依赖
yum install -y mysql-devel pcre-devel openssl-devel zlib-devel libxml2-devel net-snmp-devel net-snmp libssh2-devel OpenIPMI-devel libevent-devel openldap-devel libcurl-devel
③进入源码包,ls可以看到configure文件夹
./configure --sysconfdir=/etc/zabbix/ --enable-server --with-mysql --with-net-snmp --with-libxml2 --with-ssh2 --with-openipmi --with-zlib --with-libpthread --with-libevent --with-openssl --with-ldap --with-libcurl --with-libpcre
④编译安装完成后根据提示输入
make install
编译参数说明
⑤修改zabbix配置文件
vim /usr/lib/systemd/system/zabbix-server.service
[Unit]
Description=Zabbix Server with MySQL DB
After=syslog.target network.target mysqld.service
[Service]
Type=simple
ExecStart=/usr/local/sbin/zabbix_server -f
User=zabbix
[Install]
WantedBy=multi-user.target
systemctl daemon-reload
校验是否安装完成
zabbix_server --version
改配置文件进
vim /etc/zabbix/zabbix_server.conf
启动
zabbix-server
添加用户
useradd -s /sbin/nologin -M zabbix
⑥配置前端登录界面
进入zabbix源码文件包
cd /zabbix-6.0.9
ll
cp -r zabbix-6.0.9/ui/* /app/code/zabbix/
chown -R nginx.nginx /app/code/zabbix/
⑥配置前端登录页面
访问配置的nginx网址,进入前端配置界面
在必要条件检测区域,会有php报错,此时需要更改php.ini文件
vim /etc/php.ini
#根据错误区域改完配置文件,保存后重新加载
systemctl restart php-fpm
处理完成错误参数,此时就大功告成!可以登录了,下图为登录用户名和密码
后续作者更新如何给zabbix-server安装agent2
服务端配置文件区域