一、Zabbix环境准备
[root@linux-node1 ~]# cat /etc/redhat-release
CentOS Linux release 7.4.1708 (Core)
[root@linux-node1 ~]# uname -r
3.10.0-693.5.2.el7.x86_64
[root@linux-node1 ~]# getenforce
Disabled
[root@linux-node1 ~]# systemctl stop firewalld
Failed to stop firewalld.service: Unit firewalld.service not loaded.
[root@linux-node1 ~]# ifconfig eth0|awk -F '[ :]+' 'NR==2{print $3}'
192.168.56.11
[root@linux-node1 ~]# hostname
linux-node1
[root@linux-node1 ~]# yum install -y ntpdate
[root@linux-node1 ~]# ntpdate time1.aliyun.com
[root@linux-node1 ~]# crontab -e
*/5 * * * * /usr/sbin/ntpdate time1.aliyun.com &>/dev/null
二、Zabbix安装
Zabbix存储配置包以及yum配置文件
[root@linux-node1 ~]# rpm -ivh http://mirrors.aliyun.com/zabbix/zabbix/3.0/rhel/7/x86_64/zabbix-release-3.0-1.el7.noarch.rpm
[root@linux-node1 ~]# yum list |grep zabbix
Zabbix程序包安装,以及MySQL、Zabbix-agent
[root@linux-node1 ~]# yum install -y zabbix-server-mysql zabbix-web-mysql mariadb-server zabbix-agent
三、初始化数据库
创建Zabbix数据库以及用户
[root@linux-node1 ~]# systemctl start mariadb
[root@linux-node1 ~]# mysql_secure_installation
NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY!
In order to log into MariaDB to secure it, we'll need the current
password for the root user. If you've just installed MariaDB, and
you haven't set the root password yet, the password will be blank,
so you should just press enter here.
Enter current password for root (enter for none):
OK, successfully used password, moving on...
Setting the root password ensures that nobody can log into the MariaDB
root user without the proper authorisation.
Set root password? [Y/n] Y
New password: 123456
Re-enter new password: 123456
Password updated successfully!
Reloading privilege tables..
... Success!
[root@linux-node1 ~]# mysql -uroot -p
Enter password: 123456
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 10
Server version: 10.1.20-MariaDB MariaDB Server
Copyright (c) 2000, 2016, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]> create database zabbix character set utf8 collate utf8_bin;
Query OK, 1 row affected (0.00 sec)
MariaDB [(none)]> grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix';
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> flush privileges;
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> quit;
Bye
导入初始模式和数据:
[root@linux-node1 ~]# zcat /usr/share/doc/zabbix-server-mysql-3.0.13/create.sql.gz |mysql -uzabbix -p zabbix
Enter password: zabbix
[root@linux-node1 ~]# mysql -uroot -p123456 -e "use zabbix;show tables;"
+----------------------------+
| Tables_in_zabbix |
+----------------------------+
| acknowledges |
| actions |
| alerts |
| application_discovery |
| application_prototype |
| application_template |
| applications |
| auditlog |
| auditlog_details |
| autoreg_host |
| conditions |
| config |
|...... |
+----------------------------+
四、Zabbix服务器进程启动
在Zabbix_server.conf编辑数据库配置
[root@linux-node1 ~]# grep ^[a-Z] /etc/zabbix/zabbix_server.conf
LogFile=/var/log/zabbix/zabbix_server.log
LogFileSize=0
PidFile=/var/run/zabbix/zabbix_server.pid
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix
SNMPTrapperFile=/var/log/snmptrap/snmptrap.log
Timeout=4
AlertScriptsPath=/usr/lib/zabbix/alertscripts
ExternalScripts=/usr/lib/zabbix/externalscripts
LogSlowQueries=3000
启动Zabbix服务器进程
[root@linux-node1 ~]# systemctl enable zabbix-server#默认端口为10051
[root@linux-node1 ~]# systemctl start zabbix-server
五、编辑Zabbix前端PHP配置
Apache的配置文件/etc/httpd/conf.d/zabbix.conf,取消注释,设置正确的时区:Asia/Shanghai
[root@linux-node1 ~]# vim /etc/httpd/conf.d/zabbix.conf
php_value max_execution_time 300
php_value memory_limit 128M
php_value post_max_size 16M
php_value upload_max_filesize 2M
php_value max_input_time 300
php_value always_populate_raw_post_data -1
php_value date.timezone Asia/Shanghai
通过改变配置文件启动Apache Web服务器
[root@linux-node1 ~]# vim /etc/httpd/conf/httpd.conf
Severname 127.0.0.1:80
[root@linux-node1 ~]# systemctl enable httpd.service
Created symlink from /etc/systemd/system/multi-user.target.wants/httpd.service to /usr/lib/systemd/system/httpd.service.
[root@linux-node1 ~]# systemctl start httpd.service
[root@linux-node1 ~]# netstat -lntp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 863/sshd
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 2085/master
tcp6 0 0 :::80 :::* LISTEN 21955/httpd
tcp6 0 0 :::22 :::* LISTEN 863/sshd
tcp6 0 0 ::1:25 :::* LISTEN 2085/master
tcp6 0 0 :::3306 :::* LISTEN 21820/mysqld
六、Zabbix的web安装
step1:
在浏览器中,打开Zabbix URL:http:// <server_ip_or_name> / zabbix
step2:
确保满足所有软件的先决条件。
step3:
输入连接到数据库的详细信息。Zabbix数据库必须已经创建。
step4:
输入Zabbix服务器的详细信息。
step5:
查看设置摘要。
step6:
完成安装,会在/etc/zabbix/web/zabbix.conf.php生成配置文件
当数据库遇到瓶劲,在进行数据库拆分的时候,需要修改配置文件/etc/zabbix/web/zabbix.conf.php,指向新的数据库地址。
[root@linux-node1 ~]# vim /etc/zabbix/web/zabbix.conf.php
<?php
// Zabbix GUI configuration file.
global $DB;
$DB['TYPE'] = 'MYSQL';
$DB['SERVER'] = 'localhost';
$DB['PORT'] = '0';
$DB['DATABASE'] = 'zabbix';
$DB['USER'] = 'zabbix';
$DB['PASSWORD'] = 'zabbix';
// Schema name. Used for IBM DB2 and PostgreSQL.
$DB['SCHEMA'] = '';
$ZBX_SERVER = 'localhost';
$ZBX_SERVER_PORT = '10051';
$ZBX_SERVER_NAME = '';
$IMAGE_FORMAT_DEFAULT = IMAGE_FORMAT_PNG;