一、系统环境

cat /etc/redhat-release CentOS Linux release 7.1.1503 (Core)

关闭防火墙及selinux systemctl stop firewalld.service systemctl disable firewalld.service sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config grep SELINUX=disabled /etc/selinux/config

setenforce 0

Zabbix 官方命令安装步骤:

a. Install Repository with MySQL database rpm -i https://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm

b. Install Zabbix server, frontend, agent yum install zabbix-server-mysql zabbix-web-mysql zabbix-agent

c. Create initial database mysql -uroot -p password mysql> create database zabbix character set utf8 collate utf8_bin; mysql> grant all privileges on zabbix.* to zabbix@localhost identified by 'password'; mysql> quit;

Import initial schema and data. You will be prompted to enter your newly created password.

zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix

d. Configure the database for Zabbix server Edit file /etc/zabbix/zabbix_server.conf DBPassword=password

e. Configure PHP for Zabbix frontend Edit file /etc/httpd/conf.d/zabbix.conf, uncomment and set the right timezone for you. php_value date.timezone Europe/Riga【Aisa/Shanghai】

f. Start Zabbix server and agent processes Start Zabbix server and agent processes and make it start at system boot: systemctl restart zabbix-server zabbix-agent httpd systemctl enable zabbix-server zabbix-agent httpd

Connect to your newly installed Zabbix frontend: http://server_ip_or_name/zabbix Follow steps described in Zabbix documentation: Installing frontend [https://www.zabbix.com/documentation/4.0/manual/installation/install#installing_frontend]

二、数据库安装及配置 1、MariaDB概述 MariaDB数据库管理系统是MySQL的一个分支,MariaDB的目的是完全兼容MySQL,包括API和命令行

2、安装mariadb yum install mariadb-server mariadb -y mariadb数据库的相关命令是: systemctl start mariadb #启动MariaDB systemctl stop mariadb #停止MariaDB systemctl restart mariadb #重启MariaDB systemctl enable mariadb #设置开机启动

安装MySQL

1.下载 Mysql yum包 wget http://repo.mysql.com/mysql57-community-release-el7-10.noarch.rpm

2.安转软件源 sudo rpm -Uvh mysql57-community-release-el7-10.noarch.rpm

3安装mysql服务端 yum install -y mysql-community-server 【时间较长越10-20分钟】

4首先启动mysql systemctl status mysqld.service / service mysqld start

如使用mysql -u root -p 报错ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password:yes) 则: systemctl stop mysqld.service 修改 /etc/my.cnf 在最后加上,skip-grant-tables mysql -u root 【不要用P已经跳过密码了】 UPDATE user SET Password=PASSWORD('newpassword') where USER='root'; 删除my.cnf中的skip-grant-tables 重启mysql systemctl start/stop mysqld.service

2、Zabbix3.4安装

rpm -ivh http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-1.el7.centos.noarch.rpm yum install zabbix-server-mysql zabbix-web-mysql zabbix-agent -y

3、创建数据库 create database zabbix character set utf8 collate utf8_bin; grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix';

Zabbix 命令报错: mysql> create database zabbix character set utf8 collate utf8_bin; ERROR 1820 (HY000): You must reset your password using ALTER USER statement

mysql> set password=password("复杂密码"); 【不改策略有密码复杂度】 重启mysql

4、导入数据 zcat /usr/share/doc/zabbix-server-mysql-3.4.0/create.sql.gz | mysql -uzabbix -p zabbix 【让你输入的密码是之前创建的复杂密码】

Start Zabbix server and agent processes

systemctl restart zabbix-server zabbix-agent httpd systemctl enable zabbix-server zabbix-agent httpd

5、配置数据库用户及密码

/etc/zabbix/zabbix_server.conf DBPassword=password【之前创建的复杂密码】

/etc/httpd/conf.d/zabbix.conf php_value date.timezone Asia/Shanghai【上海4.0可用,3.4是Aisa/Chongqing 上海有问题好像】

6、启动zabbix server并设置开机启动 systemctl enable zabbix-server systemctl start zabbix-server

8、SELinux配置 setsebool -P httpd_can_connect_zabbix on setsebool -P httpd_can_network_connect_db on

9、启动httpd并设置开机启动 systemctl start httpd systemctl enable httpd

Date.timezone 过不了 解决方法: 查看php.ini配置文件的设置 [root@localhost create]# vi /etc/httpd/conf.d/zabbix.conf

进入后有server not run

cannot set resource limit: [13] Permission denied setenforce 0 开启zabbix-server服务 ok systemctl start zabbix-server

外部地址无法访问,只能本机访问zabbix

开启端口 firewall-cmd --zone=public --add-port=80/tcp --permanent 命令含义: --zone #作用域 --add-port=80/tcp #添加端口,格式为:端口/通讯协议 --permanent #永久生效,没有此参数重启后失效

重启防火墙 firewall-cmd --reload

常用命令介绍 firewall-cmd --state ##查看防火墙状态,是否是running firewall-cmd --reload ##重新载入配置,比如添加规则之后,需要执行此命令 firewall-cmd --get-zones ##列出支持的zone firewall-cmd --get-services ##列出支持的服务,在列表中的服务是放行的 firewall-cmd --query-service ftp ##查看ftp服务是否支持,返回yes或者no firewall-cmd --add-service=ftp ##临时开放ftp服务 firewall-cmd --add-service=ftp --permanent ##永久开放ftp服务 firewall-cmd --remove-service=ftp --permanent ##永久移除ftp服务 firewall-cmd --add-port=80/tcp --permanent ##永久添加80端口 iptables -L -n ##查看规则,这个命令是和iptables的相同的 man firewall-cmd ##查看帮助

可以全部做完有可以重启一下机器看看是否还有Server not Run问题,或者再写一下setenforce 0 重启下Zabbix。