关联安装 mysql ,zabbix , nginx, php
/usr/local/zabbix-3.2.6
/usr/local/php-5.6.3
/usr/local/mysql-5.7.26
安装mysql
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup #先把yum源换成国内的阿里云镜像源(当然不换也可以),先备份一下原来的源镜像文件,以免出错后可以恢复 wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo #下载新的CentOS-Base.repo 到/etc/yum.repos.d/
更改/etc/yum.repos.d/CentOS-Media.repo使其为不生效:
enabled=0
运行yum makecache生成缓存:
yum clean all yum makecache
yum update
安装MySQL 5.7版本,官网http://dev.mysql.com/downloads/repo/yum/
rpm -Uvh http://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm
可以看到已经有了,并且5.7版本已经启用,可以直接安装:
root@192 yum.repos.d]# yum repolist all | grep mysql mysql-connectors-community/x86_64 MySQL Connectors Community 启用: 24 mysql-connectors-community-source MySQL Connectors Community - Sourc 禁用 mysql-tools-community/x86_64 MySQL Tools Community 启用: 38 mysql-tools-community-source MySQL Tools Community - Source 禁用 mysql-tools-preview/x86_64 MySQL Tools Preview 禁用 mysql-tools-preview-source MySQL Tools Preview - Source 禁用 mysql55-community/x86_64 MySQL 5.5 Community Server 禁用 mysql55-community-source MySQL 5.5 Community Server - Sourc 禁用 mysql56-community/x86_64 MySQL 5.6 Community Server 禁用 mysql56-community-source MySQL 5.6 Community Server - Sourc 禁用 mysql57-community/x86_64 MySQL 5.7 Community Server 启用: 146 mysql57-community-source MySQL 5.7 Community Server - Sourc 禁用 mysql80-community/x86_64 MySQL 8.0 Community Server 禁用 mysql80-community-source MySQL 8.0 Community Server - Sourc 禁用 [root@192 yum.repos.d]#
如果没有开启,或者你想要选择需要的版本进行安装,修改 /etc/yum.repos.d/mysql-community.repo,选择需要的版本把enable改为1即可,其它的改为0:
修改好后查看可用的安装版本:
[root@192 yum.repos.d]# yum repolist enabled | grep mysql mysql-connectors-community/x86_64 MySQL Connectors Community 24 mysql-tools-community/x86_64 MySQL Tools Community 38 mysql57-community/x86_64 MySQL 5.7 Community Server 146
不用犹豫,开始安装吧!
yum -y install mysql-community-server
开始启动mysql:
service mysqld start Redirecting to /bin/systemctl start mysqld.service
开机启动设置:
systemctl enable mysqld systemctl daemon-reload
mysql安装完成之后,在/var/log/mysqld.log文件中给root生成了一个默认密码。通过下面的方式找到root默认密码,然后登录mysql进行修改:
[root@192 yum.repos.d]# grep 'temporary password' /var/log/mysqld.log 2016-10-23T14:51:45.705458Z 1 [Note] A temporary password is generated for root@localhost: a&sqr7dou7N_
mysql -uroot -p
修改root密码:
ALTER USER 'root'@'localhost' IDENTIFIED BY 'Wang****992!';
修改不了密码是因为这个版本增加了安全级别插件,可以把安全策略去掉
vim /etc/my.cnf
添加一下字段值
[mysqld]
character_set_server=utf8
init_connect='SET NAMES utf8'
validate_password=off #停止密码策略
flush privileges; #刷新系统授权表
systemctl restart mysqld #重启
添加远程登录用户
默认只允许root帐户在本地登录,如果要在其它机器上连接mysql,必须修改root允许远程连接,或者添加一个允许远程连接的帐户,为了安全起见,我们添加一个新的帐户:
mysql> GRANT ALL PRIVILEGES ON *.* TO 'evai'@'%' IDENTIFIED BY '@evai2016' WITH GRANT OPTION;
mysql> FLUSH PRIVILEGES;
这样远程就可以用账户名为evai,密码为@evai2016来登录数据库了,运行 select host, user from mysql.user 查看下:
mysql> select host,user from mysql.user;
关联【mysql】
cd /usr/local/zabbix-3.2.6/database/mysql #进入mysql数据库创建脚本目录 ls #列出文件,可以看到有schema.sql、images.sql、data.sql这三个文件 mysql -u root -p #进入数据库密码Wang****992! create database zabbix character set utf8; alter user 'zabbix'@'localhost' identified by 'Wang***992!'; #新建账户 grant all on zabbix.* to 'zabbix'@'127.0.0.1' identified by 'Wang****992!' with grant option; #允许账户zabbix能从本机连接到数据库zabbix flush privileges; #刷新系统授权表 use zabbix #进入数据库 source /usr/local/zabbix-3.2.6/database/mysql/schema.sql #导入脚本文件到zabbix数据库 source /usr/local/zabbix-3.2.6/database/mysql/images.sql #导入脚本文件到zabbix数据库 source /usr/local/zabbix-3.2.6/database/mysql/data.sql #导入脚本文件到zabbix数据库 exit #退出 cd /usr/lib64/mysql #32位系统为/usr/lib/mysql ln -s libmysqlclient_r.so.18.1.0 libmysqlclient_r.so #添加软连接 ln -s libmysqlclient.so.18.1.0 libmysqlclient.so #添加软连接
安装【zabbix】
yum install net-snmp-devel curl curl-devel mysql-devel #安装依赖包 cd /usr/local/src #这是软件包下载目录 tar zxvf zabbix-3.2.6.tar.gz #解压 cd /usr/local/src/zabbix-3.2.6/ #进入zabbix安装目录 ./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --with-net-snmp --with-libcurl --enable-proxy --with-mysql=/usr/bin/mysql_config #选择安装目录/usr/local/zabbix,并关联mysql make #编译 make install #安装 ln -s /usr/local/zabbix/sbin/* /usr/local/sbin/ #添加系统软连接 ln -s /usr/local/zabbix/bin/* /usr/local/bin/ #添加系统软连接 groupadd zabbix #创建用户组zabbix useradd zabbix -g zabbix -s /bin/false #创建用户zabbix,并且把用户zabbix加入到用户组zabbix中
#find / -name mysql_config 查找位置,如果没有mysql_config,需要安装yum install mysql-devel
#确认服务对应端口
添加zabbix服务对应的端口
vi /etc/services #编辑,在最后添加以下代码 # Zabbix zabbix-agent 10050/tcp # Zabbix Agent zabbix-agent 10050/udp # Zabbix Agent zabbix-trapper 10051/tcp # Zabbix Trapper zabbix-trapper 10051/udp # Zabbix Trapper :wq! #保存退出
修改zabbix配置文件(服务端)
vim /usr/local/zabbix/etc/zabbix_server.conf DBName=zabbix #数据库名称 DBUser=zabbix #数据库用户名,或者root,在web页面填写zabbix信息时要保持一致,否则报错 DBPassword=Wangz****! #数据库密码,可以修改简单密码,要进入数据库修改密码策略 ListenIP=127.0.0.1 #数据库ip地址
ListenPort=10051 #这个必填
AlertScriptsPath=/usr/local/zabbix/share/zabbix/alertscripts #zabbix运行脚本存放目录 :wq! #保存退出
修改zabbix配置文件(客户端)
vim /usr/local/zabbix/etc/zabbix_agentd.conf Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/ UnsafeUserParameters=1 #启用自定义key :wq! #保存退出
修改zabbix脚本权限和启动项
cp /usr/local/zabbix-3.2.6/misc/init.d/fedora/core/zabbix_server /etc/rc.d/init.d/zabbix_server #服务端 添加开机启动脚本 cp /usr/local/zabbix-3.2.6/misc/init.d/fedora/core/zabbix_agentd /etc/rc.d/init.d/zabbix_agentd #客户端 添加开机启动脚本 chmod +x /etc/rc.d/init.d/zabbix_server #服务端 #添加脚本执行权限 chmod +x /etc/rc.d/init.d/zabbix_agentd #客户端 #添加脚本执行权限 chkconfig zabbix_server on #服务端 #添加开机启动 chkconfig zabbix_agentd on #客户端 #添加开机启动 chmod +x /etc/rc.d/init.d/zabbix_server #添加脚本执行权限 chmod +x /etc/rc.d/init.d/zabbix_agentd #添加脚本执行权限 chkconfig zabbix_server on #添加开机启动 chkconfig zabbix_agentd on #添加开机启动
#修改zabbix开机启动脚本中的zabbix安装目录
vi /etc/rc.d/init.d/zabbix_server #编辑服务端配置文件 BASEDIR=/usr/local/zabbix/ #zabbix安装目录 :wq! #保存退出
#编辑客户端配置文件
vi /etc/rc.d/init.d/zabbix_agentd BASEDIR=/usr/local/zabbix/ #zabbix安装目录 :wq! #保存退出
#修改php等文件配置来支持zabbix安装要求
vim /usr/local/php/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 always_populate_raw_post_data = -1
#注释以下
;mbstring.func_overload = 2
:wq!
#若bcmath检查项failed,需要执行此步骤:
动态安装模块bcmath
cd /usr/local/src/php-5.6.30/ext/bcmath/ /usr/local/php/bin/phpize ./configure --with-php-config=/usr/local/php/bin/php-config
make && make install cp /usr/local/php/lib/php/extensions/no-debug-non-zts-20131226/bcmath.so /usr/local/src/php-5.6.30/ext/bcmath/ vim /usr/local/php/etc/php.ini extension=bcmath.so killall php-fpm ps -ef | grep php-fpm
rm -rf /usr/local/php/var/run/php-fpm.pid
/usr/local/php/sbin/php-fpm -y /usr/local/php/etc/php-fpm.conf -c /usr/local/php/etc/php.ini #这样才能够让zabbix重新检测到php.ini配置文件
service php-fpm start
#若zabbix报错 PHP gettext off Warning:
动态安装模块gettext
cd /usr/local/src/php-5.6.30/ext/gettext/ /usr/local/php/bin/phpize ./configure --with-php-config=/usr/local/php/bin/php-config make && make install cp /usr/local/php/lib/php/extensions/no-debug-non-zts-20131226/gettext.so /usr/local/src/php-5.6.30/ext/gettext/ vim /usr/local/php/etc/php.ini #最后一行粘贴 extension=gettext :wq! killall php-fpm ps -ef | grep php-fpm rm -rf /usr/local/php/var/run/php-fpm.pid /usr/local/php/sbin/php-fpm -y /usr/local/php/etc/php-fpm.conf -c /usr/local/php/etc/php.ini #这样才能够让zabbix重新检测到php.ini配置文件 service php-fpm start
#若报错Databaseerror:
The frontend does not match Zabbix database. Current database version (mandatory/optional): 3000000/3020000. Required mandatory version: 3020000. Contact your system administrator.
进入数据库: mysql> show databases; mysql> use zabbix; mysql> update dbversion set mandatory=3020000; mysql> flush privileges;
重新刷新web页面zabbix即可
#web页面填写zabbix读写数据库信息时:
DBHost=192.168.1.12(localhost) DBPort=0(默认端口3306) DBName=zabbix(数据库名) DBUser=root(数据库用户) DBPassword=Wangz****!
-
Database typeMySQL
-
Database serverlocalhost
-
Database portdefault
-
Database namezabbix
-
Database userroot
-
Database password
-
Zabbix serverlocalhost
-
Zabbix server port10051
-
Zabbix server namezabbix-server
#若报错Unable to create the configuration file:
设置 web服务器用户在zabbix网页的conf/目录具有写权限,配置文件会自动保存。
chmod -R 777 /usr/local/nginx/html/zabbix/conf/
问题:Failed to restart zabbix-agent.service: Unit not found.
问题:Unit zabbix-server.service could not be found.
问题:/usr/local/etc/zabbix_agentd.conf.d: [2] No such file or directory
解决:Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/*.conf
问题:linux上 zabbix-server服务启动了但是没有开启10051端口
解决:cat /tmp/zabbix_server.log #登录mysql ,set password=password("123456"); #在配置文件中把端口注释那一项去掉,
#检查web页面初始化设置时候的php设置。
find / -name zabbix.conf.php (Linux下的全局搜索命令)
vim /usr/local/nginx/html/zabbix/conf/zabbix.conf.php
$DB['TYPE'] = 'MYSQL';
$DB['SERVER'] = 'localhost';
$DB['PORT'] = '0';
$DB['DATABASE'] = 'zabbix';
$DB['USER'] = 'root';
$DB['PASSWORD'] = 'Wangzq';
上面的信息与数据库信息也要同步
因为一开始zabbix初始化IP设置是另一个IP
查看php初始化配置是否一致
[root@nginx ~]# netstat -lntp | grep zabbix tcp 0 0 0.0.0.0:10050 0.0.0.0:* LISTEN 38838/zabbix_agentd tcp 0 0 0.0.0.0:10051 0.0.0.0:* LISTEN 96922/zabbix_server
[root@nginx ~]# ps -ef | grep zabbix
... ... ... ... ...
... ... ... ... ...
以上起来就OK
#配置web站点关联nginx
cd /usr/local/src/zabbix-3.2.6 cp -r /usr/local/src/zabbix-3.2.6/frontends/php /usr/local/nginx/html/zabbix chown www.www -R /usr/local/nginx/html/zabbix 备注:/usr/local/nginx/html为Nginx默认站点目录 www为Nginx运行账户 service zabbix_server start #启动zabbix服务端 service zabbix_agentd start #启动zabbix客户端
#修改php配置文件参数关联php
1、vi /usr/local/php/etc/php.ini #编辑修改 post_max_size =16M max_execution_time =300 max_input_time =300 date.timezone = "Asia/Shanghai" :wq! #保存退出 2、vi /usr/local/php/etc/php-fpm.conf #编辑修改 request_terminate_timeout = 300 :wq! #保存退出
service php-fpm reload #重启php-fpm # 命令失败就添加一下代码
#添加一下启动脚本代码
vim /etc/init.d/php-fpm #添加开机启动
#! /bin/sh # Comments to support chkconfig on CentOS # chkconfig: 2345 65 37 # set -e PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin DESC="php-fpm daemon" NAME=php-fpm DAEMON=/usr/local/php/sbin/$NAME CONFIGFILE=/usr/local/php/etc/php-fpm.conf PIDFILE=/usr/local/php/var/run/$NAME.pid SCRIPTNAME=/etc/init.d/$NAME # Gracefully exit if the package has been removed. test -x $DAEMON || exit 0 d_start() { $DAEMON -y $CONFIGFILE || echo -n " already running" } d_stop() { kill -QUIT `cat $PIDFILE` || echo -n " not running" } d_reload() { kill -HUP `cat $PIDFILE` || echo -n " can't reload" } case "$1" in start) echo -n "Starting $DESC is success" d_start echo "." ;; stop) echo -n "Stopping $DESC is success" d_stop echo "." ;; reload) echo -n "Reloading $DESC configuration..." d_reload echo "reloaded." ;; restart) echo -n "Restarting $DESC is success" d_stop sleep 1 d_start echo "." ;; *) echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload}" >&2 exit 3 ;; esac
chmod -R 777 /etc/init.d/php-fpm #赋予最大权限
/etc/init.d/php-fpm reload #重启php
#或者这样重启
ps aux|grep php-fpm #查看php-fpm的master进程号
kill -USR2 42891 #重启
五、安装web
在浏览器中打开:
http://192.168.1.12/zabbix/setup.php
#zabbix忘记登陆账号密码
[root@nginx zabbix]# mysql -uroot -p -e "select * from zabbix.users\G" Enter password: *************************** 1. row *************************** userid: 1 alias: Admin name: Zabbix surname: Administrator passwd: 5fce1b3e34b520afeffb37ce08c7cd66 url: autologin: 1 autologout: 0 lang: en_GB refresh: 30 type: 3 theme: default attempt_failed: 0 attempt_ip: attempt_clock: 0 rows_per_page: 50 *************************** 2. row *************************** userid: 2 alias: guest name: surname: passwd: d41d8cd98f00b204e9800998ecf8427e url: autologin: 0 autologout: 900 lang: en_GB refresh: 30 type: 1 theme: default attempt_failed: 0 attempt_ip: attempt_clock: 0 rows_per_page: 50
#通过mysql修改zabbix密码
[root@abcdocker ~]# mysql -uroot -p 由于密码是md5加密的,我们可以查看默认的zabbix密码的md5 mysql> use zabbix; mysql> update users set passwd='5fce1b3e34b520afeffb37ce08c7cd66' where userid='1'; Query OK, 1 row affected (0.01 sec) Rows matched: 1 Changed: 1 Warnings: 0 解释:5fce1b3e34b520afeffb37ce08c7cd66 = zabbix 因为zabbix默认密码就是zabbix
登录 Web
用户名:Admin
密码:zabbix
安装zabbix-agent(客户端)
还是使用zabbix-3.2.6.tar.gz这个包进行安装,与server共用安装目录,不会冲突 cd /usr/local/src/zabbix-3.2.6/ ./configure --prefix=/usr/local/zabbix --enable-agent make make install ln -s /usr/local/zabbix/sbin/zabbix_agent /usr/local/sbin/ source /etc/profile #刷新下,不然可能执行zabbix_agent命令不生效 2、修改zabbix_agentd.conf配置文件,指定server IP,等信息。 vim /usr/local/zabbix/etc/zabbix_agentd.conf LogFile=/tmp/zabbix_agentd.log Server=127.0.0.1 ServerActive=127.0.0.1 Hostname=Zabbix-agent-12 3、将zabbix_agentd启动脚本cp至/etc/init.d/中,zabbix_agentd默认监听10050端口 cd zabbix-3.2.6/ cp ./misc/init.d/tru64/zabbix_agentd /etc/init.d/ chmod o+x /etc/init.d/zabbix_agentd 4、若安装客户端时,需要创建zabbix用户,server已创建 useradd -M -s /sbin/nologin zabbix 5、启动agent(默认也是用zabbix用户启动) /etc/init.d/zabbix_agentd start 或:service zabbix_agentd start 6、查看是否启动 ps -ef|grep zabbix_agentd