1:配置epel-release mysql zabbix 源
wget http://mirrors.aliyun.com/epel/epel-release-latest-7.noarch.rpm
rpm -ivh epel-release-latest-7.noarch.rpm
- 配置MySQL源,此处系统是Centos7,如果系统是Centos6,则用第二条命令
Cnetos7
yum install https://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm
Centos6
yum install http://dev.mysql.com/get/mysql-community-release-el6-5.noarch.rpm
#配置yum-config-manager命令
yum install yum-utils
#关闭MySQL5.6的源
yum-config-manager --disable mysql56-community
#激活MySQL5.7的源
yum-config-manager --enable mysql57-community-dmr
wget http://mirrors.aliyun.com/zabbix/zabbix/3.2/rhel/7/x86_64/zabbix-release-3.2-1.el7.noarch.rpm
rpm -ivh zabbix-release-3.2-1.el7.noarch.rpm
2:安装lnmp环境并进行测试
yum install mysql mysql-devel mysql-server mysql-utilities
vi /etc/my.cnf
#在mysqld字段下添加
skip-grant-tables
#重启MySQL
systemctl restart mysqld
#执行此条语句将密码临时设置为123456
update mysql.user set authentication_string=password(123456) where user='root' and Host = 'localhost';
#由于MySQL5.7强制密码复杂程度,因此,此时退出MySQL,然后注释掉#skip-grant-tables,
systemctl restart mysqld
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('1234@Mfg');
FLUSH PRIVILEGES;
#修改最大连接数
max_connections = 500
#设置默认字符集为utf8
character-set-server=utf8
#查询排序时缓冲区大小,只对order by和group by起作用,可增大此值为16M
sort_buffer_size = 16M
#查询缓存限制,只有1M以下查询结果才会被缓存,以免结果数据较大把缓存池覆盖
query_cache_limit = 1M
#查看缓冲区大小,用于缓存SELECT查询结果,下一次有同样SELECT查询将直接从缓存池返回结果,可适当成倍增加此值
query_cache_size = 16M
#给所有的查询做cache,代表使用缓冲
query_cache_type = 1
#设置以顺序扫描的方式扫描表数据的时候使用缓冲区的大小
read_buffer_size = 8M
#打开文件数限制
open_files_limit = 10240
#修改InnoDB为独立表空间模式,每个数据库的每个表都会生成一个数据空间
innodb_file_per_table = 1
#索引和数据缓冲区大小,一般设置物理内存的60%-70%
innodb_buffer_pool_size = 1G
#缓冲池实例个数,推荐设置4个或8个
innodb_buffer_pool_instances = 8
#2代表只把日志写入到系统缓存区,再每秒同步到磁盘,效率很高
innodb_flush_log_at_trx_commit = 2
#日志缓冲区大小,由于日志最长每秒钟刷新一次,所以一般不用超过16M
innodb_log_buffer_size = 8M
#back_log参数的值指出在MySQL暂时停止响应新请求之前的短时间内多少个请求可以被存在堆栈中
back_log = 1024
#thread cache 池中存放的最大连接数
thread_cache_size = 64
#开启慢查询日志
slow_query_log = ON
create database zabbix;
yum install php lighttpd-fastcgi php-cli php-mysql php-gd php-imap php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-mcrypt php-mssql php-snmp php-soap php-tidy php-common php-devel php-fpm
#vi /etc/php.ini
max_execution_time = 300
memory_limit = 128M
post_max_size = 16M
upload_max_filesize = 2M
max_input_time = 300
date.timezone = Asia/Shanghai
yum install nginx
vim /etc/nginx/conf.d/zabbix.conf
#配置文件内容如下:
server {
listen 80;
server_name node2.crazylinux.xyz;
root /opt/zabbix/;
index index.html index.htm index.php;
location / {
try_files $uri $uri/ /index.php;
}
location ~ .php$ {
try_files $uri =404;
include fastcgi.conf;
fastcgi_pass 127.0.0.1:9000;
}
}
#创建相应目录
mkdir /opt/zabbix
#写一个php测试文件
vim /opt/zabbix/index.php
#内容如下:
<?php
phpinfo();
?>
#访问node2.crazylinux.xyz进行测试,如果可以看到phpinfo的详细信息则成名成功
#备注:一定要进行域名的dns解析,一般建议直接修改hosts文件即可!
3:安装zabbix-server
yum install zabbix-server-mysql zabbix-web-mysql zabbix-java-gateway
- 由于需要监控自己,还需要安装zabbix-agent
yum install zabbix-agent
vim /etc/zabbix/zabbix_server.conf
#修改内容如下:
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=Zabbix@123
4:同步zabbix数据库,并进行web配置
#sql文件的目录
/usr/share/doc/zabbix-server-mysql-3.2.3/create.sql.gz
#解压改文件
gunzip create.sql.gz
#进入MySQL,然后source
mysql -uroot -p1234@Mfg
use zabbix;
source /usr/share/doc/zabbix-server-mysql-3.2.3/create.sql;
#给zabbix用户权限
grant all privileges on zabbix.* to zabbix@'%' identified by 'Zabbix@123';
FLUSH PRIVILEGES;
- 将zabbix的php源码复制到/opt/zabbix/目录下
cp -rf /usr/share/zabbix/* /opt/zabbix/
#覆盖掉之前我们创建的index.php
systemctl start zabbix-server
- 在浏览器中输入node2.crazylinux.xyz,进行zabbix的web配置
- 如果在第二步时候报错,PHP bcmath extension missing (PHP configuration parameter --enable-bcmath).
vim /etc/php.ini
#添加如下内容
extension=bcmath.so
systemctl restart nginx
systemctl restart php-fpm
- 接下来就安装web界面的提示,进行配置,输入我们前面设置的MySQL账号和密码.
- 成功后进入登录界面,用户名密码:admin/zabbix