好久没有接触监控类的软件了,今天抽空搭建了下
首先系统环境
zabbix-server-1 centos7.2
本次所需的第三方软件包
以下软件包通过官网下载
zabbix-3.0.3.tar.gz http://www.zabbix.com/download.php 官网下载页面
http://sourceforge.net/projects/zabbix/files/ZABBIX%20Latest%20Stable/3.0.3/zabbix-3.0.3.tar.gz/download 下载链接
nginx-1.10.1.tar.gz http://nginx.org/en/download.html 官网下载页面
http://nginx.org/download/nginx-1.10.1.tar.gz 下载链接
php-5.6.22.tar.gz http://php.net/downloads.php 官网下载页面
http://cn2.php.net/get/php-5.6.22.tar.gz/from/this/mirror 选择中国站点下载
配置yum仓库
[root@zabbix-server-1 yum.repos.d]# cat zabbix.repo
[base]
name=CentOS-$releasever - Base
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra
baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
enabled=1
yum clean all # 清除yum缓存
yum makecache # 生成yum缓存
开始安装nginx
#安装依赖包
yum install pcre pcre-devel openssl openssl-devel gcc-c++
useradd -s /sbin/nologin -M nginx
tar xf nginx-1.10.1.tar.gz
./configure --user=nginx --group=nginx --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
make
make install
/usr/local/nginx/sbin/nginx #start nginx service
ps -ef|grep nginx
ss -lntup|grep nginx
[root@zabbix-server-1 conf]# pwd
/usr/local/nginx/conf
egrep -v "#|^$" nginx.conf.default > nginx.conf
#修改部分配置
[root@zabbix-server-1 conf]# cat nginx.conf
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server {
listen 80;
server_name localhost;
location / {
root html;
index index.php index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
location ~\.(php|php5)?$ {
root /application/nginx/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;
}
}
}
#杀死进程,重启服务
ps -ef|grep nginx
/usr/local/nginx/sbin/nginx
安装php依赖包
yum –y install zlib-devel libxml2-devel libjpeg-devel libiconv-devel freetype-devel libpng-devel gd-devel curl-devel libxslt-devel mysql-devel
wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.14.tar.gz
tar zxf libiconv-1.14.tar.gz
cd libiconv-1.14
./configure --prefix=/usr/local/libiconv
make
make install
编辑安装时报错
make[2]: *** [progname.o] Error 1
make[2]: Leaving directory `/root/libiconv-1.14/srclib'
make[1]: *** [install] Error 2
make[1]: Leaving directory `/root/libiconv-1.14/srclib'
make: *** [install] Error 2
解决方法:进入srclib目录 执行 sed -i -e '/gets is a security/d' ./stdio.in.h
安装php
tar xf php-5.6.22.tar.gz
tar -zxvf mirror
cd php-5.6.22
./configure \
--prefix=/usr/local/php \
--with-mysql \
--with-mysqli=mysqlnd \
--with-pdo-mysql=mysqlnd \
--with-iconv-dir=/usr/local/libiconv \
--with-freetype-dir \
--with-jpeg-dir \
--with-png-dir \
--with-zlib \
--with-libxml-dir=/usr \
--with-gettext \
--enable-xml \
--disable-rpath \
--enable-bcmath \
--enable-shmop \
--enable-sysvsem \
--enable-inline-optimization \
--with-curl \
--enable-mbregex \
--enable-fpm \
--enable-mbstring \
--with-mcrypt \
--with-gd \
--enable-gd-native-ttf \
--with-openssl \
--with-mhash \
--enable-pcntl \
--enable-sockets \
--with-xmlrpc \
--enable-soap \
--enable-short-tags \
--enable-static \
--with-xsl \
--with-fpm-user=nginx \
--with-fpm-group=nginx \
--enable-ftp \
--enable-opcache=no
安装时报错
configure: error: mcrypt.h not found. Please reinstall libmcrypt.
解决方法
yum install -y epel-release
yum install -y libmcrypt-devel
两个不能一起安装,因为CentOs6 7默认的yum源没有 libmcrypt-devel这个包,只能借助epel的yum源,所以先安装epel,再安装
libmcrypt。
make
make install
[root@zabbix-server-1 php-5.6.22]# pwd
/root/php-5.6.22
[root@zabbix-server-1 php-5.6.22]# cp php.ini-production /usr/local/php/lib/php.ini
[root@zabbix-server-1 php-5.6.22]# cd /usr/local/php/etc/
[root@zabbix-server-1 etc]# ls
pear.conf php-fpm.conf.default
[root@zabbix-server-1 etc]# pwd
/usr/local/php/etc
[root@zabbix-server-1 etc]# cp php-fpm.conf.default php-fpm.conf
[root@zabbix-server-1 etc]# /usr/local/php/sbin/php-fpm
[root@zabbix-server-1 etc]# netstat -lntup|grep php-fpm
tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN 3689/php-fpm
安装zabbix
tar zxvf zabbix-3.0.3.tar.gz
tar -zxvf download
cd zabbix-3.0.3
groupadd zabbix
useradd -g zabbix zabbix
#安装依赖包,如果一次安装错误,就多试几次
yum -y install net-snmp net-snmp-devel libssh2-devel OpenIPMI-devel
[root@zabbix-server-1 zabbix-3.0.3]# ./configure --enable-server --enable-agent --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl --with-libxml2 --with-openipmi --with-ssh2
make
make install
[root@zabbix-server-1 zabbix-3.0.3]# egrep -v "#|^$" /usr/local/etc/zabbix_server.conf
LogFile=/tmp/zabbix_server.log
DBHost=192.168.11.5
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix
ListenIP=0.0.0.0
Timeout=4
AlertScriptsPath=${datadir}/zabbix/alertscripts
LogSlowQueries=3000
#拷贝启动脚本
cp misc/init.d/fedora/core/zabbix_* /etc/rc.d/init.d/
zabbix_server
#修改配置文件
vim /application/php/lib/php.ini
max_execution_time = 300
max_input_time = 300
post_max_size = 16M
always_populate_raw_post_data = -1
date.timezone = Asia/Shanghai
#重启php
[root@zabbix-server-1 zabbix-3.0.3]# pkill -9 php-fpm
[root@zabbix-server-1 zabbix-3.0.3]# /application/php/sbin/php-fpm
#从zabbix源码包拷贝网站到nginx
[root@zabbix-server-1 zabbix-3.0.3]# pwd
/root/zabbix-3.0.3
[root@zabbix-server-1 zabbix-3.0.3]# cp -rf frontends/php /application/nginx/html/zabbix/
#如果有防火墙,要么开放80端口,要么临时停止
Systemctl stop firewalld
#给目录设置权限
chown -R nginx.nginx /application/nginx/html/
基本上zabbix服务器算是安装差不多了
这里准备配置mysql服务器了,需要在mysql服务器上授权,及初始化zabbix数据库
#配置mysql服务器了。
Mysql5.7安装yum
介绍在CentOS7上yum安装数据库服务器MySQL Community Server 5.7的方法。
准备
CentOS7默认安装了和MySQL有兼容性的MariaDB数据库,在我们安装MySQL5.7之前为了避免发生冲突首先删除MariaDB。
# rpm -qa | grep maria
mariadb-libs-5.5.50-1.el7_2.x86_64
# yum remove mariadb-libs -y
添加MySQL的yum源
在CentOS7上yum安装MySQL需使用MySQL的yum源。执行以下命令首先添加MySQL的yum源。
# yum localinstall http://dev.mysql.com/get/mysql57-community-release-el7-7.noarch.rpm
安装MySQL5.7
以上yum info命令是2016年8月28日的执行结果,当前安装的MySQL版本是5.7.14。确认安装版本之后执行以下命令进行安装。
# yum install mysql-community-server -y
到此MySQL5.7安装就完成了,接下来确认安装的MySQL版本。
# mysqld --version
mysqld Ver 5.7.14 for Linux on x86_64 (MySQL Community Server (GPL))
启动及停止MySQL
完成安装步骤之后,首先配置MySQL的开机自动启动,在这里使用systemctl命令
。
# systemctl enable mysqld.service
接着使用systemctl start mysqld.service
命令启动MySQL。
# systemctl start mysqld.service
而停止MySQL时使用systemctl stop mysqld.service
命令。
# systemctl stop mysqld.service
以上是在CentOS7.2安装MySQL Community Server 5.7的步骤,但仅限于安装后续还需要根据开发的系统进行配置。
MySQL5.7开始MySQL管理用户root的密码,会默认生成并记录到/var/log/mysqld.log
文件里,不要忘记修改默认密码。
[Note] A temporary password is generated for root@localhost: lQidlh;BX4*x
mysql -uroot -plQidlh;BX4*x
mysql> create database zabbix character set utf8 collate utf8_bin;
mysql> grant all privileges on zabbix.* to zabbix@’%’ identified by 'zabbix';
mysql> flush privileges;
mysql> quit;
#按照SQL语句顺序导入SQL:
mysql -uzabbix -pzabbix zabbix < zabbix-3.0.3/database/mysql/schema.sql
数据导入时报错ERROR 1045 (28000): Access denied for user 'zabbix'@'localhost' (using password: YES)
解决方法
mysql -uroot -plQidlh;BX4*x
mysql> use mysql
mysql> select host,user,password from user;
+-----------+--------+-------------------------------------------+
| host | user | password |
+-----------+--------+-------------------------------------------+
| localhost | root | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B |
| zabbix | root | |
| 127.0.0.1 | root | |
| ::1 | root | |
| localhost | | |
| zabbix | | |
| % | wgldjc | *70E31422FB5C781D112D6C944FAB09312088255B |
+-----------+--------+-------------------------------------------
mysql> delete from user where user=' ';
Query OK, 2 rows affected (0.00 sec)
mysql> exit
Bye
mysql -uzabbix -pzabbix zabbix < zabbix-3.0.3/database/mysql/images.sql
mysql -uzabbix -pzabbix zabbix < zabbix-3.0.3/database/mysql/data.sql
打开浏览器,输入以下链接
http://ip/zabbix/setup.php