1.通过YUM和原码实战Zabbix平台构建(LNMP不要求源码编译),MYSQL使用单独服务器,能够通过WEB访问,写出部署过程;
2.配置Zabbix自动发现功能、自动注册,自动发现4台主机实例,并且监控4台服务器,写出详细实施过程。
安装nginx
安装依赖
yum install -y pcre-devel zlib-devel gcc-c++
下载nginx,解压后进入安装目录进行预编译/编译/安装
wget http://nginx.org/download/nginx-1.16.1.tar.gz
tar xzf nginx-1.16.1.tar.gz
cd nginx-1.16.1.tar.gz
./configure && make && make install
启动nginx
/usr/local/nginx/sbin/nginx
关闭防火墙
systemctl stop firewalld
网页访问
安装php
源码上传php-5.6.9.tar.gz
解压
tar xzf php-5.6.9.tar.gz
安装依赖:
yum -y install gd curl curl-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel mysql-devel gcc-c++
进入解压后的目录
cd php-5.6.9
预编译
./configure --prefix=/usr/local/php5 --with-mysqli --with-pdo-mysql --with-iconv-dir --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir --enable-simplexml --enable-xml --disable-rpath --enable-bcmath --enable-soap --enable-zip --with-curl --enable-fpm --with-fpm-user=nobody --with-fpm-group=nobody --enable-mbstring --enable-sockets --with-gd --with-openssl --with-mhash --enable-opcache --disable-fileinfo --with-gettext
make && make install
复制解压目录文件至安装目录下
cp php.ini-development /usr/local/php5/lib/php.ini
cp /usr/local/php5/etc/php-fpm.conf.default /usr/local/php5/etc/php-fpm.conf
cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
指定目录权限
chmod 755 /etc/init.d/php-fpm
chkconfig --add php-fpm
chkconfig php-fpm on
启动
systemctl start php-fpm
整合nginx/php
新建index.php文件
vim /usr/local/nginx/html/index.php
加入以下内容
<?php
phpinfo();
?>
修改nginx配置文件
vim /usr/local/nginx/conf/nginx.conf
location ~ \.php$ {
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
重启nginx/php-fpm
/usr/local/nginx/sbin/nginx -s reload
systemctl restart php-fpm
浏览器访问测试
安装zabbix
上传zabbix安装包或下载
wget http://sourceforge.net/projects/zabbix/files/ZABBIX%20Latest%20Stable/3.2.6/zabbix-3.2.6.tar.gz/download
解压
tar xzf zabbix-3.2.6.tar.gz
安装依赖
yum -y install curl curl-devel net-snmp net-snmp-devel perl-DBI mariadb-devel mysql-devel
新建用户及组
groupadd zabbix
useradd -g zabbix zabbix
usermod -s /sbin/nologin zabbix
进入解压目录
cd zabbix-3.2.6
预编译,编译及安装
./configure --prefix=/usr/local/zabbix/ --enable-server --enable-agent --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl
make && make install
软连接启动脚本至系统目录
ln -s /usr/local/zabbix/sbin/zabbix_* /usr/local/sbin/
进入配置文件目录备份配置文件
cd /usr/local/zabbix/etc/
cp zabbix_server.conf zabbix_server.conf.bak
更改zabbix配置文件
vim /usr/local/zabbix/etc/zabbix_server.conf
LogFile=/tmp/zabbix_server.log #日志目录
DBHost=localhost #数据库主机名,使用远程数据库,更改为数据库服务器IP,取消注释
DBName=zabbix #数据库名称
DBUser=zabbix #用户名称
DBPassword=zabbix #数据库密码,取消注释
配置zabbix启动脚本,进入解压目录
cd zabbix-3.2.6
cp misc/init.d/tru64/zabbix_server /etc/init.d/zabbix_server
chmod o+x /etc/init.d/zabbix_server
拷贝发布文件至nginx发布目录(可删除nginx发布目录下的所有文件再进行拷贝或直接覆盖)
cp -a /root/zabbix-3.2.6/frontends/php/* /usr/local/nginx/html
sed -i '/date.timezone/i date.timezone = PRC' /usr/local/php5/lib/php.ini
启动zabbix
/etc/init.d/zabbix_server start
网页访问测试
下一步,报错,这里有提示配置文件设置不符
修改php.ini配置文件
sed -i '/post_max_size/s/8/16/g;/max_execution_time/s/30/300/g;/max_input_time/s/60/300/g;s/\;date.timezone.*/date.timezone \= PRC/g;s/\;always_populate_raw_post_data/always_populate_raw_post_data/g' /usr/local/php5/lib/php.ini
启动php-fpm
systemctl restart php-fpm
刷新页面查看所有都OK
提示需要链接数据库
安装mariadb(mysql)
卸载mariadb
yum remove -y mariadb*
安装mariadb
yum install -y mariadb mariadb-server
启动mariadb
systemctl start mariadb
配置mariadb
mysql_secure_installation
首先是设置密码,会提示先输入密码
Enter current password for root (enter for none):<–初次运行直接回车
设置密码
Set root password? [Y/n] <– 是否设置root用户密码,输入y并回车或直接回车
New password: <– 设置root用户的密码
Re-enter new password: <– 再输入一次你设置的密码
其他配置
Remove anonymous users? [Y/n] <– 是否删除匿名用户,回车
Disallow root login remotely? [Y/n] <–是否禁止root远程登录,回车,
Remove test database and access to it? [Y/n] <– 是否删除test数据库,回车
Reload privilege tables now? [Y/n] <– 是否重新加载权限表,回车
初始化MariaDB完成,接下来测试登录
mysql -uroot -p密码
新建zabbix数据库,并授权登录
create database zabbix charset=utf8;
grant all on zabbix.* to zabbix@'192.168.9.100' identified by 'zabbix';
在nginx192.168.9.100服务器进行域名定向,方便mysql主主或者主从,宕机后,可以直接更改本机数据库域名定向的IP
vim /etc/hosts
zabbix web页面测试链接,报错
需要拷贝安装内文件至zabbix数据库中
上传zabbix或者下载安装包至mysql服务器并解压,进入zabbix-3.2.6/database/mysql目录
mysql -uzabbix -pzabbix zabbix <schema.sql
mysql -uzabbix -pzabbix zabbix <images.sql
mysql -uzabbix -pzabbix zabbix <data.sql
登录mysql查看是否复制OK
mysql -uroot -p密码
MariaDB [(none)]> use zabbix;
MariaDB [(none)]> show tables;
再次测试web页面是否连接OK
提示无权限操作此目录"/usr/local/nginx/html/conf/zabbix.conf.php"
进入nginx发布目录,授权
cd /usr/local/nginx/html/
chmod o+w -R conf
再次刷新页面OK
默认用户名:“admin”,密码:“zabbix”
配置zabbix自动发现