银河麒麟系统v10安装zabbix(mariadb篇)及踩坑排雷总结

您所在的位置:网站首页 zabbix4安装部署 银河麒麟系统v10安装zabbix(mariadb篇)及踩坑排雷总结

银河麒麟系统v10安装zabbix(mariadb篇)及踩坑排雷总结

2023-09-04 14:27| 来源: 网络整理| 查看: 265

安装前准备:

本次使用的软件包有: nginx-1.10.2.tar.gz mariadb-10.3.7.tar.gz php-5.6.13.tar.bz2

zabbix-4.0.32.tar.gz一、部署LNMP环境

1、安装nginx [root@localhost src]# yum install -y gcc gcc-c++ autoconf automake zlib zlib-devel openssl openssl-devel pcre-devel

//zlib:给Nginx提供gzip模块;OPenssl提供SSL功能;PCRE,地址重写

[root@localhost ~]# cd /usr/src/

[root@localhost src]# tar xvf nginx-1.10.2.tar.gz

[root@localhost src]# cd /usr/src/nginx-1.10.2

[root@localhost nginx-1.10.2]# ./configure --prefix=/usr/local/nginx --with-http_dav_module --with-http_stub_status_module --with-http_addition_module --with-http_sub_module --with-http_flv_module --with-http_mp4_module

[root@localhost nginx-1.10.2]# make

注1:可能会有报错make[1]: *** [objs/Makefile:470:objs/src/core/ngx_murmurhash.o] 错误 1如下图:

报错原因:

编译过程中将警告作为错误处理,导致编译不通过报错。

解决方法:

[root@localhost nginx-1.10.2] # cd objs/

[root@localhost nginx-1.10.2] # vi Makefile去掉如图所示参数 “-Werror”

注2:可能会出现报错:make[1]: *** [objs/Makefile:771:objs/src/os/unix/ngx_user.o] 错误 1

如下图所示报错:

解决方法:

[root@localhost nginx-1.10.2]# cd src/os/unix/

[root@localhost unix]# vi ngx_user.c

将 “cd.current_salt[0] = -salt[0];” 注释掉注释方法为 “/* cd.current_salt[0] = -salt[0]; */ ”

[root@localhost nginx-1.10.2]# make install

[root@localhost nginx-1.10.2]# cd

[root@localhost ~]# useradd -u 8001 -M -s /sbin/nologin nginx

[root@localhost ~]#vim /usr/local/nginx/conf/nginx.conf

#user nobody;

user root; #此行添加

…… #下面这段内容,需要去掉注释,然后修改script_filename

location ~ \.php$ {

root html;

fastcgi_pass 127.0.0.1:9000;

fastcgi_index index.php;

fastcgi_param SCRIPT_FILENAME /usr/local/nginx/html$fastcgi_script_name;

include fastcgi_params;

}

[root@localhost ~]# /usr/local/nginx/sbin/nginx

[root@localhost ~]# ps -ef | grep nginx

[root@localhost ~]# echo "/usr/local/nginx/sbin/nginx" >> /etc/rc.local

[root@localhost ~]# setenforce 0

[root@localhost ~]# service iptables stop

[root@localhost ~]# chkconfig iptables off

到此安装完毕,可以登录页面看是否成功 如果没有访问到页面可以查看一下防火墙是否正常关闭

[root@localhost ~]# systemctl status firewalld.service 如未关闭,关闭即可.

[root@localhost ~]# systemctl stop firewalld.service  

1. 安装mariadb (1)清空环境中的mariadb及mysql [root@localhost ~]# rpm -qa |grep mariadb [root@localhost ~]# rpm -e 相关文件 --nodeps 如: [root@localhost ~]#  rpm -qa |grep mariadb mariadb-connector-c-3.0.6-6.ky10.x86_64 mariadb-server-10.3.9-8.ky10.x86_64 mariadb-connector-c-devel-3.0.6-6.ky10.x86_64 mariadb-10.3.9-8.ky10.x86_64 mariadb-common-10.3.9-8.ky10.x86_64 mariadb-errmessage-10.3.9-8.ky10.x86_64 [root@localhost ~]#rpm -e mariadb-connector-c-3.0.6-6.ky10.x86_64 mariadb-server-10.3.9-8.ky10.x86_64 mariadb-connector-c-devel-3.0.6-6.ky10.x86_64 mariadb-10.3.9-8.ky10.x86_64 mariadb-common-10.3.9-8.ky10.x86_64 mariadb-errmessage-10.3.9-8.ky10.x86_64 --nodeps

(2) 安装新mariadb

[root@localhost ~]#yum install bison bison-devel zlib-devel libcurl-devel libarchive-devel boost-devel gcc gcc-c++ cmake ncurses-devel gnutls-devel libxml2-devel openssl-devel libevent-devel libaio-devel 准备用户和数据目录:

[root@localhost ~]# useradd -r -M -s /sbin/nologin mysql [root@localhost ~]# mkdir -p /data/mysql

[root@localhost ~]# chown mysql.mysql /data/mysql

解压编译安装: [root@localhost ~]# cd /usr/src/ [root@localhost src]# tar zxvf mariadb-10.3.7.tar.gz [root@localhost mariadb-10.3.7]# cmake . -DCMAKE_INSTALL_PREFIX=/app/mysql -DMYSQL_DATADIR=/data/mysqldb/ -DSYSCONFDIR=/etc -DMYSQL_USER=mysql -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DWITHOUT_MROONGA_STORAGE_ENGINE=1 -DWITH_DEBUG=0 -DWITH_READLINE=1 -DWITH_SSL=system -DWITH_ZLIB=system -DWITH_LIBWRAP=0 -DENABLED_LOCAL_INFILE=1 -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DPLUGIN_TOKUDB=NO [root@localhost mariadb-10.3.7]# make [root@localhost mariadb-10.3.7]# make install 准备环境变量: [root@localhost mariadb-10.3.7]# echo 'PATH=/app/mysql/bin:$PATH' > /etc/profile.d/mysql.sh [root@localhost mariadb-10.3.7]# . /etc/profile.d/mysql.sh 生成数据库文件

[root@localhost mariadb-10.3.7]# cd /app/mysql/

[root@localhost mysql]# scripts/mysql_install_db --datadir=/data/mysql/ --user=mysql 准备配置文件: [root@localhost mariadb-10.3.7]# cp /app/mysql/support-files/wsrep.cnf /etc/my.cnf 准备启动脚本及启动: [root@localhost mariadb-10.3.7]# cp /app/mysql/support-files/mysql.server /etc/init.d/mysqld

cp:是否覆盖'/etc/init.d/mysqld'? y [root@localhost mariadb-10.3.7]# chkconfig --add mysqld

[root@localhost mariadb-10.3.7]# service mysqld start

Starting mysqld (via systemctl):  Warning: The unit file, source configuration file or drop-ins of mysqld.service changed on disk. Run 'systemctl daemon-reload' to reload units.

[  OK  ] [root@localhost mariadb-10.3.7]# netstat -an |grep 3306

tcp        0      0 0.0.0.0:3306            0.0.0.0:*               LISTEN (可以查到端口号即安装启动成功)

3. 安装php [root@localhost ~]# cd /usr/src/

[root@localhost src]#  tar xvf libmcrypt-2.5.8.tar.gz

[root@localhost src]# cd /usr/src/libmcrypt-2.5.8/

[root@localhost libmcrypt-2.5.8]# ./configure --prefix=/usr/local/libmcrypt && make && make install

[root@localhost libmcrypt-2.5.8]# cd /usr/src/

[root@localhost src]# tar jxf php-5.6.13.tar.bz2

[root@localhost src]# cd php-5.6.13

[root@localhost php-5.6.13]# yum install -y php-pear libjpeg-devel libxml2 libxml2-devel curl curl-devel libpng-devel freetype-devel

(yum  没有php-pear,但是安装过程没有明显影响)

[root@localhost php-5.6.13]# echo "/app/mysql/lib/" >> /etc/ld.so.conf [root@localhost php-5.6.13]# echo "/usr/local/libmcrypt/lib" >> /etc/ld.so.conf

[root@localhost php-5.6.13]# ldconfig

[root@localhost php-5.6.13]# echo "ldconfig" >> /etc/rc.local [root@localhost php-5.6.13]# ./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --with-config-file-scan-dir=/usr/local/php/etc/php.d

--enable-mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-iconv-dir --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml --disable-rpath --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curl --enable-mbregex --enable-fpm --enable-mbstring --with-gd --enable-gd-native-ttf --with-openssl=/usr/local/ssl --with-mhash --enable-pcntl --enable-sockets --with-xmlrpc --enable-zip --enable-soap --with-mcrypt=/usr/local/libmcrypt --with-gettext [root@localhost php-5.6.13]# make [root@localhost php-5.6.13]# make install

[root@localhost php-5.6.13]# cp /usr/src/php-5.6.13/php.ini-production /usr/local/php/php.ini

[root@localhost php-5.6.13]# cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf

[root@localhost php-5.6.13]# cp /usr/src/php-5.6.13/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm

[root@localhost php-5.6.13]# chmod +x /etc/init.d/php-fpm

[root@localhost php-5.6.13]# cd

[root@localhost ~]# chkconfig --add php-fpm

[root@localhost ~]# chkconfig php-fpm on

[root@localhost ~]# echo "" > /usr/local/nginx/html/index.php

[root@localhost ~]# service php-fpm start

Starting php-fpm  done 就可以访问页面查看:

注3:安装完毕php后最好查看一下有没有成功加载gd模块 

 注4:可能访问页面报错 File not found. 查看nginx的error.log能看到访问日志报错为:

2021/07/16 14:35:22 [error] 226434#0: *1 FastCGI sent in stderr: "Primary script unknown" while reading response header from upstream, client: 192.168.14.88, server: localhost, request: "GET /index.php HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "192.168.14.143"如下图所示报错:

解决方法:报错显示权限不足,需要给nginx的html目录授权码。(但是我试着不可以,尝试给上一层目录也授权后可以了)

即:我的html目录为 /usr/local/nginx/html[root@localhost ~]# chmod -R 775 /usr/local/nginx

 二、安装zabbix_server

1. 创建Zabbix使用数据库

[root@localhost ~]# mysql

mysql> create database zabbix character set utf8 collate utf8_bin;

mysql> grant all on zabbix.* to zabbix@localhost identified by 'zabbix';

mysql> flush privileges;

mysql> exit

注5:如出现报错:-bash: mysql:未找到命令如下图

解决方法:找到mysql命令的完整路径,如本次安装中完整路径为:/app/mysql/bin/mysql执行命令:[root@localhost ~]# ln -s /app/mysql/bin/mysql /usr/bin/即可。

[root@localhost ~]# cd /usr/src/

[root@localhost src]# tar xvf zabbix-4.0.32.tar.gz

[root@localhost src]# cd zabbix-4.0.32

[root@localhost zabbix-4.0.32]# mysql -uzabbix -pzabbix zabbix < database/mysql/schema.sql

[root@localhost zabbix-4.0.32]# mysql -uzabbix -pzabbix zabbix < database/mysql/images.sql

[root@localhost zabbix-4.0.32]# mysql -uzabbix -pzabbix zabbix < database/mysql/data.sql

2. 编译安装zabbix [root@localhost zabbix-4.0.32]# yum install -y net-snmp-devel     

//net-snmp-config依赖

[root@localhost zabbix-4.0.32]# ntpdate cn.pool.ntp.org     //同步系统时间

[root@localhost zabbix-4.0.32]# crontab -e

*/5 * * * * /usr/sbin/ntpdate cn.pool.ntp.org

[root@localhost zabbix-4.0.32]# ./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --with-mysql=/app/mysql/bin/mysql_config --with-net-snmp --with-libcurl [root@localhost zabbix-4.0.32]# make

[root@localhost zabbix-4.0.32]# make install [root@localhost ~]# ls /usr/local/zabbix/

bin  etc  lib  sbin  share

[root@localhost ~]# vim /usr/local/zabbix/etc/zabbix_server.conf

DBHost=localhost #默认注释掉了,直接取消注释即可

DBName=zabbix #数据库名字

DBUser=zabbix #默认是root,我们授权的用户是zabbix

DBPassword=zabbix #密码我们授权的也是zabbix

3. 监控zabbix_server本身 [root@localhost ~]# vim /usr/local/zabbix/etc/zabbix_agentd.conf

Server=127.0.0.1 #默认监控服务器自己,这三行不用改

ServerActive=127.0.0.1

Hostname=Zabbix server

UnsafeUserParameters=1 #允许所用的字符是用户定义的参数,参数传递,也就是支持自定义脚本

4. 启动服务 [root@localhost ~]# useradd -u 8005 -M -s /sbin/nologin zabbix

//如果zabbix用户不存在,将以root运行,新建之后,如果zabbix存在,那么就直接可以用zabbix运行

[root@localhost ~]# /usr/local/zabbix/sbin/zabbix_server  //直接运行

[root@localhost ~]# echo /usr/local/zabbix/sbin/zabbix_server >> /etc/rc.local  //开机启动

[root@localhost ~]# netstat -antup | grep zabbix

tcp        0      0 0.0.0.0:10051               0.0.0.0:*                   LISTEN      94837/zabbix_serverbix_server

到这zabbix_server以及启动了。

[root@localhost zabbix-4.0.32]# vim /etc/services zabbix-agent 10050/tcp       # Zabbix Agent

zabbix-agent 10050/udp      # Zabbix Agent

zabbix-trapper 10051/tcp     # Zabbix Trapper

zabbix-trapper 10051/udp    # Zabbix Trapper

通过启动脚本启动zabbix

Zabbix默认有部分启动脚本,如果你自己也可以通过脚本的方式来实现,可以使用他的模板来实现。脚本在源码目录的misc/init.d/下面(使用fedora下面的core即可,也可以使用fedroa core5的脚本均可)

[root@localhost ~]# cd /usr/src/zabbix-4.0.32/misc/init.d/

[root@localhost init.d]# cp fedora/core/zabbix_server /etc/init.d/

[root@localhost init.d]# cp fedora/core/zabbix_agentd /etc/init.d/

[root@localhost init.d]# vim /etc/init.d/zabbix_server

BASEDIR=/usr/local/zabbix  #找到此行,并修改

[root@localhost init.d]# vim /etc/init.d/zabbix_agentd

BASEDIR=/usr/local/zabbix  #找到此行,并修改

[root@localhost init.d]# chkconfig --add zabbix_agentd

[root@localhost init.d]# chkconfig zabbix_agentd on

[root@localhost init.d]# chkconfig --add zabbix_server

[root@localhost init.d]# chkconfig zabbix_server on

[root@localhost init.d]# service zabbix_agentd start

[root@localhost init.d]# service zabbix_server restart

(最好用systemctl status zabbix_server.service查看一下状态,如果没有running状态,则systemctl restart zabbix_server.service)

5.编辑php页面控制文件

默认配置文件没有写入到我们的Nginx的配置文件中,也就是不能加载到我们的zabbix页面目录

[root@localhost init.d]# mkdir -p /tmp/nginxhtml

[root@localhost init.d]# mv /usr/local/nginx/html/* /tmp/nginxhtml/

[root@localhost init.d]# cp -r /usr/src/zabbix-4.0.32/frontends/php/* /usr/local/nginx/html/ 将文件复制后,需要给html授权重新授权 [root@localhost local]# cd /usr/local [root@localhost local]# chmod -R 755 nginx/

[root@localhost init.d]# vim /usr/local/nginx/conf/nginx.conf

location / {

root html;

index index.php index.html index.htm; #找到此行内容,添加index.php

}

重新加载nginx,重启php-fpm

[root@localhost init.d]# /usr/local/nginx/sbin/nginx -s reload ; /etc/init.d/php-fpm restart

Gracefully shutting down php-fpm . done

Starting php-fpm  done

[root@zabbix-3-2-3 ~]# ln -s /usr/local/zabbix/etc/ /etc/zabbix

[root@zabbix-3-2-3 ~]# ln -s /usr/local/zabbix/bin/*  /usr/bin/

[root@zabbix-3-2-3 ~]#  ln -s /usr/local/zabbix/sbin/*  /usr/sbin/

打开网页安装zabbix

浏览器输入:http:// xxx.xxx.xxx.xxx 如图,下一步Next

 [root@localhost init.d]# vim /usr/local/php/php.ini

post_max_size = 16M

max_execution_time = 300

max_input_time = 300

date.timezone = Asia/Shanghai

always_populate_raw_post_data = -1 重启:

[root@localhost init.d]# /usr/local/nginx/sbin/nginx -s reload ; /etc/init.d/php-fpm restart

下一步:输入端口号及账号密码(zabbix/zabbix)

 按要求将下载的文件拷贝到/usr/local/nginx/html/conf/目录下 拷贝到目录下后,需要给该文件授权:

[root@localhost conf]# chmod 775 zabbix.conf.php

 

 

6. 登陆并设置中文语言 默认的登陆的用户名/密码 为:Admin/zabbix 登陆后点击右上角选择语言:

可以最新数据查看监控是否正常。

  

 到此,zabbix4安装完毕。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3